# Compute Engine API . machineTypes

## Instance Methods

Retrieves an aggregated list of machine types.

Retrieves the next page of results.

Returns the specified machine type. Get 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.
      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, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.

    The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.

    For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.

    You can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.

    To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.

    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.
        "items": { # [Output Only] A map of scoped machine type lists.
          "a_key": { # [Output Only] Name of the scope containing this set of machine types.
            "machineTypes": [ # [Output Only] List of machine types contained in this scope.
              { # A Machine Type resource.
                "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 DEPRECATED, OBSOLETE, or DELETED. 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] 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).
                },
              ],
            },
          },
        },
        "kind": "compute#machineTypeAggregatedList", # [Output Only] Type of resource. Always compute#machineTypeAggregatedList for aggregated lists of machine types.
        "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 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. Get 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:

        { # A Machine Type resource.
        "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 DEPRECATED, OBSOLETE, or DELETED. 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] 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.
      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, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.

    The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.

    For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.

    You can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.

    To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.

    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.
        "items": [ # [Output Only] A list of Machine Type resources.
          { # A Machine Type resource.
            "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 DEPRECATED, OBSOLETE, or DELETED. 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] 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.
          },
        ],
        "kind": "compute#machineTypeList", # [Output Only] Type of resource. Always compute#machineTypeList for lists of machine types.
        "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 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.