# Compute Engine API . machineTypes

## Instance Methods

Retrieves an aggregated list of machine types.

Retrieves the next page of results.

Returns the specified machine type. Gets a list of available machine types by making a list() request.

Retrieves a list of machine types available to the specified project.

Retrieves the next page of results.

### Method Details

`aggregatedList(project, orderBy=None, maxResults=None, pageToken=None, filter=None)`

    Retrieves an aggregated list of machine types.

    Args:
      project: string, Project ID for this request. (required)
      orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.

    You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.

    Currently, only sorting by name or creationTimestamp desc is supported.
      maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
      pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.
      filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.

    For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.

    You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.

    To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true).

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
        "kind": "compute#machineTypeAggregatedList", # [Output Only] Type of resource. Always compute#machineTypeAggregatedList for aggregated lists of machine types.
        "items": { # A list of MachineTypesScopedList resources.
          "a_key": { # [Output Only] Name of the scope containing this set of machine types.
            "machineTypes": [ # [Output Only] A list of machine types contained in this scope.
              { # Represents a Machine Type resource.
                  #
                  # You can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
                "guestCpus": 42, # [Output Only] The number of virtual CPUs that are available to the instance.
                "imageSpaceGb": 42, # [Deprecated] This property is deprecated and will never be populated with any relevant values.
                "kind": "compute#machineType", # [Output Only] The type of the resource. Always compute#machineType for machine types.
                "maximumPersistentDisksSizeGb": "A String", # [Output Only] Maximum total persistent disks size (GB) allowed.
                "description": "A String", # [Output Only] An optional textual description of the resource.
                "zone": "A String", # [Output Only] The name of the zone where the machine type resides, such as us-central1-a.
                "maximumPersistentDisks": 42, # [Output Only] Maximum persistent disks allowed.
                "deprecated": { # Deprecation status for a public resource. # [Output Only] The deprecation status associated with this machine type.
                  "deleted": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.
                  "deprecated": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.
                  "state": "A String", # The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.
                  "obsolete": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.
                  "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.
                },
                "memoryMb": 42, # [Output Only] The amount of physical memory available to the instance, defined in MB.
                "isSharedCpu": True or False, # [Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.
                "scratchDisks": [ # [Output Only] A list of extended scratch disks assigned to the instance.
                  {
                    "diskGb": 42, # Size of the scratch disk, defined in GB.
                  },
                ],
                "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
                "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
                "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
                "name": "A String", # [Output Only] Name of the resource.
              },
            ],
            "warning": { # [Output Only] An informational warning that appears when the machine types list is empty.
              "message": "A String", # [Output Only] A human-readable description of the warning code.
              "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
              "data": [ # [Output Only] Metadata about this warning in key: value format. For example:
                  # "data": [ { "key": "scope", "value": "zones/us-east1-d" }
                {
                  "value": "A String", # [Output Only] A warning data value corresponding to the key.
                  "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
                },
              ],
            },
          },
        },
        "warning": { # [Output Only] Informational warning message.
          "message": "A String", # [Output Only] A human-readable description of the warning code.
          "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
          "data": [ # [Output Only] Metadata about this warning in key: value format. For example:
              # "data": [ { "key": "scope", "value": "zones/us-east1-d" }
            {
              "value": "A String", # [Output Only] A warning data value corresponding to the key.
              "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
            },
          ],
        },
        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
        "selfLink": "A String", # [Output Only] Server-defined URL for this resource.
      }

`aggregatedList_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`get(project, zone, machineType)`

    Returns the specified machine type. Gets a list of available machine types by making a list() request.

    Args:
      project: string, Project ID for this request. (required)
      zone: string, The name of the zone for this request. (required)
      machineType: string, Name of the machine type to return. (required)

    Returns:
      An object of the form:

        { # Represents a Machine Type resource.
          #
          # You can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
        "guestCpus": 42, # [Output Only] The number of virtual CPUs that are available to the instance.
        "imageSpaceGb": 42, # [Deprecated] This property is deprecated and will never be populated with any relevant values.
        "kind": "compute#machineType", # [Output Only] The type of the resource. Always compute#machineType for machine types.
        "maximumPersistentDisksSizeGb": "A String", # [Output Only] Maximum total persistent disks size (GB) allowed.
        "description": "A String", # [Output Only] An optional textual description of the resource.
        "zone": "A String", # [Output Only] The name of the zone where the machine type resides, such as us-central1-a.
        "maximumPersistentDisks": 42, # [Output Only] Maximum persistent disks allowed.
        "deprecated": { # Deprecation status for a public resource. # [Output Only] The deprecation status associated with this machine type.
          "deleted": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.
          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.
          "state": "A String", # The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.
          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.
          "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.
        },
        "memoryMb": 42, # [Output Only] The amount of physical memory available to the instance, defined in MB.
        "isSharedCpu": True or False, # [Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.
        "scratchDisks": [ # [Output Only] A list of extended scratch disks assigned to the instance.
          {
            "diskGb": 42, # Size of the scratch disk, defined in GB.
          },
        ],
        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
        "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
        "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
        "name": "A String", # [Output Only] Name of the resource.
      }

`list(project, zone, orderBy=None, maxResults=None, pageToken=None, filter=None)`

    Retrieves a list of machine types available to the specified project.

    Args:
      project: string, Project ID for this request. (required)
      zone: string, The name of the zone for this request. (required)
      orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.

    You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.

    Currently, only sorting by name or creationTimestamp desc is supported.
      maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
      pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.
      filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.

    For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.

    You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.

    To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true).

    Returns:
      An object of the form:

        { # Contains a list of machine types.
        "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
        "kind": "compute#machineTypeList", # [Output Only] Type of resource. Always compute#machineTypeList for lists of machine types.
        "items": [ # A list of MachineType resources.
          { # Represents a Machine Type resource.
              #
              # You can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
            "guestCpus": 42, # [Output Only] The number of virtual CPUs that are available to the instance.
            "imageSpaceGb": 42, # [Deprecated] This property is deprecated and will never be populated with any relevant values.
            "kind": "compute#machineType", # [Output Only] The type of the resource. Always compute#machineType for machine types.
            "maximumPersistentDisksSizeGb": "A String", # [Output Only] Maximum total persistent disks size (GB) allowed.
            "description": "A String", # [Output Only] An optional textual description of the resource.
            "zone": "A String", # [Output Only] The name of the zone where the machine type resides, such as us-central1-a.
            "maximumPersistentDisks": 42, # [Output Only] Maximum persistent disks allowed.
            "deprecated": { # Deprecation status for a public resource. # [Output Only] The deprecation status associated with this machine type.
              "deleted": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.
              "deprecated": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.
              "state": "A String", # The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.
              "obsolete": "A String", # An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.
              "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.
            },
            "memoryMb": 42, # [Output Only] The amount of physical memory available to the instance, defined in MB.
            "isSharedCpu": True or False, # [Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.
            "scratchDisks": [ # [Output Only] A list of extended scratch disks assigned to the instance.
              {
                "diskGb": 42, # Size of the scratch disk, defined in GB.
              },
            ],
            "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
            "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
            "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
            "name": "A String", # [Output Only] Name of the resource.
          },
        ],
        "warning": { # [Output Only] Informational warning message.
          "message": "A String", # [Output Only] A human-readable description of the warning code.
          "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
          "data": [ # [Output Only] Metadata about this warning in key: value format. For example:
              # "data": [ { "key": "scope", "value": "zones/us-east1-d" }
            {
              "value": "A String", # [Output Only] A warning data value corresponding to the key.
              "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
            },
          ],
        },
        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
        "selfLink": "A String", # [Output Only] Server-defined URL for this resource.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.