docs: def _generate_create_dict(self,
                                size=None,
                                hostname=None,
                                domain=None,
                                location=None,
                                os=None,
                                port_speed=None,
                                ssh_keys=None,
                                post_uri=None,
                                hourly=True,
                                no_public=False,
                                extras=None):
          """Translates arguments into a dictionary for creating a server."""
  
          extras = extras or []
  
          package = self._get_package()
          location = _get_location(package, location)
  
          prices = []
          for category in ['pri_ip_addresses',
                           'vpn_management',
                           'remote_management']:
              prices.append(_get_default_price_id(package['items'],
                                                  option=category,
                                                  hourly=hourly,
                                                  location=location))
  
          prices.append(_get_os_price_id(package['items'], os,
                                         location=location))
          prices.append(_get_bandwidth_price_id(package['items'],
                                                hourly=hourly,
                                                no_public=no_public,
                                                location=location))
          prices.append(_get_port_speed_price_id(package['items'],
                                                 port_speed,
                                                 no_public,
                                                 location=location))
  
          for extra in extras:
              prices.append(_get_extra_price_id(package['items'],
                                                extra, hourly,
                                                location=location))
  
          hardware = {
              'hostname': hostname,
              'domain': domain,
          }
  
          order = {
              'hardware': [hardware],
              'location': location['keyname'],
              'prices': [{'id': price} for price in prices],
              'packageId': package['id'],
              'presetId': _get_preset_id(package, size),
              'useHourlyPricing': hourly,
          }
  
          if post_uri:
              order['provisionScripts'] = [post_uri]
  
          if ssh_keys:
              order['sshKeys'] = [{'sshKeyIds': ssh_keys}]
  
          return order