# VMware Engine API . projects . locations . datastores

## Instance Methods

Close httplib2 connections.

Creates a new `Datastore` resource in a given project and location.

Deletes a `Datastore` resource. You can only delete a Datastore after all resources that refer to it are deleted. For example, multiple clusters of the same private cloud or different private clouds can refer to the same datastore.

Retrieves a `Datastore` resource by its resource name. The resource contains details of the Datastore, such as its description, subnets, type, and more.

Lists `Datastore` resources in a given project and location.

Retrieves the next page of results.

Modifies a Datastore resource. Only fields specified in `updateMask` are applied.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, datastoreId=None, requestId=None, x__xgafv=None)`

    Creates a new `Datastore` resource in a given project and location.

    Args:
      parent: string, Required. The resource name of the location to create the new datastore in. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1` (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents a datastore resource.
      "clusters": [ # Output only. Clusters to which the datastore is attached.
        "A String",
      ],
      "createTime": "A String", # Output only. Creation time of this resource.
      "description": "A String", # Optional. User-provided description for this datastore
      "etag": "A String", # Optional. Checksum that may be sent on update and delete requests to ensure that the user-provided value is up to date before the server processes a request. The server computes checksums based on the value of other fields in the request.
      "name": "A String", # Output only. Identifier. The resource name of this datastore. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/datastore`
      "nfsDatastore": { # The NFS datastore configuration. # Required. Settings for the NFS datastore.
        "googleFileService": { # Google service file service configuration # Google file service configuration
          "filestoreInstance": "A String", # Google filestore instance resource name e.g. projects/my-project/locations/me-west1-b/instances/my-instance
          "netappVolume": "A String", # Google netapp volume resource name e.g. projects/my-project/locations/me-west1-b/volumes/my-volume
        },
        "googleVmwareFileService": { # Volume message captures user inputs for creation of file services managed by GCVE # GCVE file service configuration
        },
        "thirdPartyFileService": { # Third party file service configuration # Third party file service configuration
          "fileShare": "A String", # Required. Required Mount Folder name
          "network": "A String", # Required. Required to identify vpc peering used for NFS access network name of NFS's vpc e.g. projects/project-id/global/networks/my-network_id
          "servers": [ # Required. Server IP addresses of the NFS file service. NFS v3, provide a single IP address or DNS name. Multiple servers can be supported in future when NFS 4.1 protocol support is enabled.
            "A String",
          ],
        },
      },
      "state": "A String", # Output only. The state of the Datastore.
      "uid": "A String", # Output only. System-generated unique identifier for the resource.
      "updateTime": "A String", # Output only. Last update time of this resource.
    }

      datastoreId: string, Required. The user-provided identifier of the datastore to be created. This identifier must be unique among each `Datastore` within the parent and becomes the final token in the name URI. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
      requestId: string, Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`delete(name, etag=None, requestId=None, x__xgafv=None)`

    Deletes a `Datastore` resource. You can only delete a Datastore after all resources that refer to it are deleted. For example, multiple clusters of the same private cloud or different private clouds can refer to the same datastore.

    Args:
      name: string, Required. The resource name of the Datastore to be deleted. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastore/my-datastore` (required)
      etag: string, Optional. Checksum used to ensure that the user-provided value is up to date before the server processes the request. The server compares provided checksum with the current checksum of the resource. If the user-provided value is out of date, this request returns an `ABORTED` error.
      requestId: string, Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(name, x__xgafv=None)`

    Retrieves a `Datastore` resource by its resource name. The resource contains details of the Datastore, such as its description, subnets, type, and more.

    Args:
      name: string, Required. The resource name of the Datastore to retrieve. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/my-datastore` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a datastore resource.
      "clusters": [ # Output only. Clusters to which the datastore is attached.
        "A String",
      ],
      "createTime": "A String", # Output only. Creation time of this resource.
      "description": "A String", # Optional. User-provided description for this datastore
      "etag": "A String", # Optional. Checksum that may be sent on update and delete requests to ensure that the user-provided value is up to date before the server processes a request. The server computes checksums based on the value of other fields in the request.
      "name": "A String", # Output only. Identifier. The resource name of this datastore. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/datastore`
      "nfsDatastore": { # The NFS datastore configuration. # Required. Settings for the NFS datastore.
        "googleFileService": { # Google service file service configuration # Google file service configuration
          "filestoreInstance": "A String", # Google filestore instance resource name e.g. projects/my-project/locations/me-west1-b/instances/my-instance
          "netappVolume": "A String", # Google netapp volume resource name e.g. projects/my-project/locations/me-west1-b/volumes/my-volume
        },
        "googleVmwareFileService": { # Volume message captures user inputs for creation of file services managed by GCVE # GCVE file service configuration
        },
        "thirdPartyFileService": { # Third party file service configuration # Third party file service configuration
          "fileShare": "A String", # Required. Required Mount Folder name
          "network": "A String", # Required. Required to identify vpc peering used for NFS access network name of NFS's vpc e.g. projects/project-id/global/networks/my-network_id
          "servers": [ # Required. Server IP addresses of the NFS file service. NFS v3, provide a single IP address or DNS name. Multiple servers can be supported in future when NFS 4.1 protocol support is enabled.
            "A String",
          ],
        },
      },
      "state": "A String", # Output only. The state of the Datastore.
      "uid": "A String", # Output only. System-generated unique identifier for the resource.
      "updateTime": "A String", # Output only. Last update time of this resource.
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, requestId=None, x__xgafv=None)`

    Lists `Datastore` resources in a given project and location.

    Args:
      parent: string, Required. The resource name of the location to query for Datastores. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1` (required)
      filter: string, Optional. A filter expression that matches resources returned 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 `=`, `!=`, `>`, or `<`. For example, if you are filtering a list of datastores, you can exclude the ones named `example-datastore` by specifying `name != "example-datastore"`. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (name = "example-datastore") (createTime > "2021-04-12T08:15:10.40Z") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (name = "example-datastore-1") AND (createTime > "2021-04-12T08:15:10.40Z") OR (name = "example-datastore-2") ```
      orderBy: string, Optional. Sorts list results by a certain order. By default, returned results are ordered by `name` in ascending order. You can also sort results in descending order based on the `name` value using `orderBy="name desc"`. Currently, only ordering by `name` is supported.
      pageSize: integer, Optional. The maximum number of results to return in one page. The maximum value is coerced to 1000. The default value of this field is 500.
      pageToken: string, Optional. A page token, received from a previous `ListDatastores` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDatastores` must match the call that provided the page token.
      requestId: string, Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for VmwareEngine.ListDatastores
      "datastores": [ # A list of Datastores.
        { # Represents a datastore resource.
          "clusters": [ # Output only. Clusters to which the datastore is attached.
            "A String",
          ],
          "createTime": "A String", # Output only. Creation time of this resource.
          "description": "A String", # Optional. User-provided description for this datastore
          "etag": "A String", # Optional. Checksum that may be sent on update and delete requests to ensure that the user-provided value is up to date before the server processes a request. The server computes checksums based on the value of other fields in the request.
          "name": "A String", # Output only. Identifier. The resource name of this datastore. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/datastore`
          "nfsDatastore": { # The NFS datastore configuration. # Required. Settings for the NFS datastore.
            "googleFileService": { # Google service file service configuration # Google file service configuration
              "filestoreInstance": "A String", # Google filestore instance resource name e.g. projects/my-project/locations/me-west1-b/instances/my-instance
              "netappVolume": "A String", # Google netapp volume resource name e.g. projects/my-project/locations/me-west1-b/volumes/my-volume
            },
            "googleVmwareFileService": { # Volume message captures user inputs for creation of file services managed by GCVE # GCVE file service configuration
            },
            "thirdPartyFileService": { # Third party file service configuration # Third party file service configuration
              "fileShare": "A String", # Required. Required Mount Folder name
              "network": "A String", # Required. Required to identify vpc peering used for NFS access network name of NFS's vpc e.g. projects/project-id/global/networks/my-network_id
              "servers": [ # Required. Server IP addresses of the NFS file service. NFS v3, provide a single IP address or DNS name. Multiple servers can be supported in future when NFS 4.1 protocol support is enabled.
                "A String",
              ],
            },
          },
          "state": "A String", # Output only. The state of the Datastore.
          "uid": "A String", # Output only. System-generated unique identifier for the resource.
          "updateTime": "A String", # Output only. Last update time of this resource.
        },
      ],
      "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
      "unreachable": [ # Unreachable resources.
        "A String",
      ],
    }

`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.

`patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)`

    Modifies a Datastore resource. Only fields specified in `updateMask` are applied.

    Args:
      name: string, Output only. Identifier. The resource name of this datastore. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/datastore` (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents a datastore resource.
      "clusters": [ # Output only. Clusters to which the datastore is attached.
        "A String",
      ],
      "createTime": "A String", # Output only. Creation time of this resource.
      "description": "A String", # Optional. User-provided description for this datastore
      "etag": "A String", # Optional. Checksum that may be sent on update and delete requests to ensure that the user-provided value is up to date before the server processes a request. The server computes checksums based on the value of other fields in the request.
      "name": "A String", # Output only. Identifier. The resource name of this datastore. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/datastore`
      "nfsDatastore": { # The NFS datastore configuration. # Required. Settings for the NFS datastore.
        "googleFileService": { # Google service file service configuration # Google file service configuration
          "filestoreInstance": "A String", # Google filestore instance resource name e.g. projects/my-project/locations/me-west1-b/instances/my-instance
          "netappVolume": "A String", # Google netapp volume resource name e.g. projects/my-project/locations/me-west1-b/volumes/my-volume
        },
        "googleVmwareFileService": { # Volume message captures user inputs for creation of file services managed by GCVE # GCVE file service configuration
        },
        "thirdPartyFileService": { # Third party file service configuration # Third party file service configuration
          "fileShare": "A String", # Required. Required Mount Folder name
          "network": "A String", # Required. Required to identify vpc peering used for NFS access network name of NFS's vpc e.g. projects/project-id/global/networks/my-network_id
          "servers": [ # Required. Server IP addresses of the NFS file service. NFS v3, provide a single IP address or DNS name. Multiple servers can be supported in future when NFS 4.1 protocol support is enabled.
            "A String",
          ],
        },
      },
      "state": "A String", # Output only. The state of the Datastore.
      "uid": "A String", # Output only. System-generated unique identifier for the resource.
      "updateTime": "A String", # Output only. Last update time of this resource.
    }

      requestId: string, Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
      updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Datastore resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }