# Cloud Memorystore for Memcached API . projects . locations . instances

## Instance Methods

`ApplyParameters` restarts the set of specified nodes in order to update them to the current set of parameters for the Memcached Instance.

Updates software on the selected nodes of the Instance.

Close httplib2 connections.

Creates a new Instance in a given location.

Deletes a single Instance.

Gets details of a single Instance.

Lists Instances in a given location.

Retrieves the next page of results.

Updates an existing Instance in a given project and location.

Updates the defined Memcached parameters for an existing instance. This method only stages the parameters, it must be followed by `ApplyParameters` to apply the parameters to nodes of the Memcached instance.

### Method Details

`applyParameters(name, body=None, x__xgafv=None)`

    `ApplyParameters` restarts the set of specified nodes in order to update them to the current set of parameters for the Memcached Instance.

    Args:
      name: string, Required. Resource name of the Memcached instance for which parameter group updates should be applied. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for ApplyParameters.
      "applyAll": True or False, # Whether to apply instance-level parameter group to all nodes. If set to true, users are restricted from specifying individual nodes, and `ApplyParameters` updates all nodes within the instance.
      "nodeIds": [ # Nodes to which the instance-level parameter group is applied.
        "A String",
      ],
    }

      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 response of the operation in case of success. 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.
      },
    }

`applySoftwareUpdate(instance, body=None, x__xgafv=None)`

    Updates software on the selected nodes of the Instance.

    Args:
      instance: string, Required. Resource name of the Memcached instance for which software update should be applied. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for ApplySoftwareUpdate.
      "applyAll": True or False, # Whether to apply the update to all nodes. If set to true, will explicitly restrict users from specifying any nodes, and apply software update to all nodes (where applicable) within the instance.
      "nodeIds": [ # Nodes to which we should apply the update to. Note all the selected nodes are updated in parallel.
        "A String",
      ],
    }

      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 response of the operation in case of success. 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.
      },
    }

`close()`

    Close httplib2 connections.

`create(parent, body=None, instanceId=None, x__xgafv=None)`

    Creates a new Instance in a given location.

    Args:
      parent: string, Required. The resource name of the instance location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region (required)
      body: object, The request body.
        The object takes the form of:

    { # A Memorystore for Memcached instance
      "authorizedNetwork": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used.
      "createTime": "A String", # Output only. The time the instance was created.
      "discoveryEndpoint": "A String", # Output only. Endpoint for the Discovery API.
      "displayName": "A String", # User provided name for the instance, which is only used for display purposes. Cannot be more than 80 characters.
      "instanceMessages": [ # List of messages that describe the current state of the Memcached instance.
        {
          "code": "A String", # A code that correspond to one type of user-facing message.
          "message": "A String", # Message on memcached instance which will be exposed to users.
        },
      ],
      "labels": { # Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
        "a_key": "A String",
      },
      "maintenancePolicy": { # Maintenance policy per instance. # The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule.
        "createTime": "A String", # Output only. The time when the policy was created.
        "description": "A String", # Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
        "updateTime": "A String", # Output only. The time when the policy was updated.
        "weeklyMaintenanceWindow": [ # Required. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_windows is expected to be one.
          { # Time window specified for weekly operations.
            "day": "A String", # Required. Allows to define schedule that runs specified day of the week.
            "duration": "A String", # Required. Duration of the time window.
            "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC.
              "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
              "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
              "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
              "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
            },
          },
        ],
      },
      "maintenanceSchedule": { # Upcoming maintenance schedule. # Output only. Published maintenance schedule.
        "endTime": "A String", # Output only. The end time of any upcoming scheduled maintenance for this instance.
        "scheduleDeadlineTime": "A String", # Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.
        "startTime": "A String", # Output only. The start time of any upcoming scheduled maintenance for this instance.
      },
      "memcacheFullVersion": "A String", # Output only. The full version of memcached server running on this instance. System automatically determines the full memcached version for an instance based on the input MemcacheVersion. The full version format will be "memcached-1.5.16".
      "memcacheNodes": [ # Output only. List of Memcached nodes. Refer to Node message for more details.
        {
          "host": "A String", # Output only. Hostname or IP address of the Memcached node used by the clients to connect to the Memcached server on this node.
          "nodeId": "A String", # Output only. Identifier of the Memcached node. The node id does not include project or location like the Memcached instance name.
          "parameters": { # User defined parameters currently applied to the node.
            "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
            "params": { # User defined set of parameters to use in the memcached process.
              "a_key": "A String",
            },
          },
          "port": 42, # Output only. The port number of the Memcached server on this node.
          "state": "A String", # Output only. Current state of the Memcached node.
          "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
          "zone": "A String", # Output only. Location (GCP Zone) for the Memcached node.
        },
      ],
      "memcacheVersion": "A String", # The major version of Memcached software. If not provided, latest supported version will be used. Currently the latest supported major version is `MEMCACHE_1_5`. The minor version will be automatically determined by our system based on the latest supported minor version.
      "name": "A String", # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details.
      "nodeConfig": { # Configuration for a Memcached Node. # Required. Configuration for Memcached nodes.
        "cpuCount": 42, # Required. Number of cpus per Memcached node.
        "memorySizeMb": 42, # Required. Memory size in MiB for each Memcached node.
      },
      "nodeCount": 42, # Required. Number of nodes in the Memcached instance.
      "parameters": { # User defined parameters to apply to the memcached process on each node.
        "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
        "params": { # User defined set of parameters to use in the memcached process.
          "a_key": "A String",
        },
      },
      "state": "A String", # Output only. The state of this Memcached instance.
      "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
      "updateTime": "A String", # Output only. The time the instance was updated.
      "zones": [ # Zones in which Memcached nodes should be provisioned. Memcached nodes will be equally distributed across these zones. If not provided, the service will by default create nodes in all zones in the region for the instance.
        "A String",
      ],
    }

      instanceId: string, Required. The logical name of the Memcached instance in the user project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-40 characters. * Must end with a number or a letter. * Must be unique within the user project / location. If any of the above are not met, the API raises an invalid argument error.
      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 response of the operation in case of success. 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, x__xgafv=None)`

    Deletes a single Instance.

    Args:
      name: string, Required. Memcached instance resource name in the format: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region (required)
      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 response of the operation in case of success. 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)`

    Gets details of a single Instance.

    Args:
      name: string, Required. Memcached instance resource name in the format: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Memorystore for Memcached instance
      "authorizedNetwork": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used.
      "createTime": "A String", # Output only. The time the instance was created.
      "discoveryEndpoint": "A String", # Output only. Endpoint for the Discovery API.
      "displayName": "A String", # User provided name for the instance, which is only used for display purposes. Cannot be more than 80 characters.
      "instanceMessages": [ # List of messages that describe the current state of the Memcached instance.
        {
          "code": "A String", # A code that correspond to one type of user-facing message.
          "message": "A String", # Message on memcached instance which will be exposed to users.
        },
      ],
      "labels": { # Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
        "a_key": "A String",
      },
      "maintenancePolicy": { # Maintenance policy per instance. # The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule.
        "createTime": "A String", # Output only. The time when the policy was created.
        "description": "A String", # Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
        "updateTime": "A String", # Output only. The time when the policy was updated.
        "weeklyMaintenanceWindow": [ # Required. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_windows is expected to be one.
          { # Time window specified for weekly operations.
            "day": "A String", # Required. Allows to define schedule that runs specified day of the week.
            "duration": "A String", # Required. Duration of the time window.
            "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC.
              "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
              "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
              "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
              "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
            },
          },
        ],
      },
      "maintenanceSchedule": { # Upcoming maintenance schedule. # Output only. Published maintenance schedule.
        "endTime": "A String", # Output only. The end time of any upcoming scheduled maintenance for this instance.
        "scheduleDeadlineTime": "A String", # Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.
        "startTime": "A String", # Output only. The start time of any upcoming scheduled maintenance for this instance.
      },
      "memcacheFullVersion": "A String", # Output only. The full version of memcached server running on this instance. System automatically determines the full memcached version for an instance based on the input MemcacheVersion. The full version format will be "memcached-1.5.16".
      "memcacheNodes": [ # Output only. List of Memcached nodes. Refer to Node message for more details.
        {
          "host": "A String", # Output only. Hostname or IP address of the Memcached node used by the clients to connect to the Memcached server on this node.
          "nodeId": "A String", # Output only. Identifier of the Memcached node. The node id does not include project or location like the Memcached instance name.
          "parameters": { # User defined parameters currently applied to the node.
            "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
            "params": { # User defined set of parameters to use in the memcached process.
              "a_key": "A String",
            },
          },
          "port": 42, # Output only. The port number of the Memcached server on this node.
          "state": "A String", # Output only. Current state of the Memcached node.
          "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
          "zone": "A String", # Output only. Location (GCP Zone) for the Memcached node.
        },
      ],
      "memcacheVersion": "A String", # The major version of Memcached software. If not provided, latest supported version will be used. Currently the latest supported major version is `MEMCACHE_1_5`. The minor version will be automatically determined by our system based on the latest supported minor version.
      "name": "A String", # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details.
      "nodeConfig": { # Configuration for a Memcached Node. # Required. Configuration for Memcached nodes.
        "cpuCount": 42, # Required. Number of cpus per Memcached node.
        "memorySizeMb": 42, # Required. Memory size in MiB for each Memcached node.
      },
      "nodeCount": 42, # Required. Number of nodes in the Memcached instance.
      "parameters": { # User defined parameters to apply to the memcached process on each node.
        "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
        "params": { # User defined set of parameters to use in the memcached process.
          "a_key": "A String",
        },
      },
      "state": "A String", # Output only. The state of this Memcached instance.
      "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
      "updateTime": "A String", # Output only. The time the instance was updated.
      "zones": [ # Zones in which Memcached nodes should be provisioned. Memcached nodes will be equally distributed across these zones. If not provided, the service will by default create nodes in all zones in the region for the instance.
        "A String",
      ],
    }

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

    Lists Instances in a given location.

    Args:
      parent: string, Required. The resource name of the instance location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region (required)
      filter: string, List filter. For example, exclude all Memcached instances with name as my-instance by specifying `"name != my-instance"`.
      orderBy: string, Sort results. Supported values are "name", "name desc" or "" (unsorted).
      pageSize: integer, The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the `page_size` value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more instances left to be queried.
      pageToken: string, The `next_page_token` value returned from a previous List request, if any.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for ListInstances.
      "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
      "resources": [ # A list of Memcached instances in the project in the specified location, or across all locations. If the `location_id` in the parent field of the request is "-", all regions available to the project are queried, and the results aggregated.
        { # A Memorystore for Memcached instance
          "authorizedNetwork": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used.
          "createTime": "A String", # Output only. The time the instance was created.
          "discoveryEndpoint": "A String", # Output only. Endpoint for the Discovery API.
          "displayName": "A String", # User provided name for the instance, which is only used for display purposes. Cannot be more than 80 characters.
          "instanceMessages": [ # List of messages that describe the current state of the Memcached instance.
            {
              "code": "A String", # A code that correspond to one type of user-facing message.
              "message": "A String", # Message on memcached instance which will be exposed to users.
            },
          ],
          "labels": { # Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
            "a_key": "A String",
          },
          "maintenancePolicy": { # Maintenance policy per instance. # The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule.
            "createTime": "A String", # Output only. The time when the policy was created.
            "description": "A String", # Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
            "updateTime": "A String", # Output only. The time when the policy was updated.
            "weeklyMaintenanceWindow": [ # Required. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_windows is expected to be one.
              { # Time window specified for weekly operations.
                "day": "A String", # Required. Allows to define schedule that runs specified day of the week.
                "duration": "A String", # Required. Duration of the time window.
                "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC.
                  "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                  "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                  "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                  "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
                },
              },
            ],
          },
          "maintenanceSchedule": { # Upcoming maintenance schedule. # Output only. Published maintenance schedule.
            "endTime": "A String", # Output only. The end time of any upcoming scheduled maintenance for this instance.
            "scheduleDeadlineTime": "A String", # Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.
            "startTime": "A String", # Output only. The start time of any upcoming scheduled maintenance for this instance.
          },
          "memcacheFullVersion": "A String", # Output only. The full version of memcached server running on this instance. System automatically determines the full memcached version for an instance based on the input MemcacheVersion. The full version format will be "memcached-1.5.16".
          "memcacheNodes": [ # Output only. List of Memcached nodes. Refer to Node message for more details.
            {
              "host": "A String", # Output only. Hostname or IP address of the Memcached node used by the clients to connect to the Memcached server on this node.
              "nodeId": "A String", # Output only. Identifier of the Memcached node. The node id does not include project or location like the Memcached instance name.
              "parameters": { # User defined parameters currently applied to the node.
                "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
                "params": { # User defined set of parameters to use in the memcached process.
                  "a_key": "A String",
                },
              },
              "port": 42, # Output only. The port number of the Memcached server on this node.
              "state": "A String", # Output only. Current state of the Memcached node.
              "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
              "zone": "A String", # Output only. Location (GCP Zone) for the Memcached node.
            },
          ],
          "memcacheVersion": "A String", # The major version of Memcached software. If not provided, latest supported version will be used. Currently the latest supported major version is `MEMCACHE_1_5`. The minor version will be automatically determined by our system based on the latest supported minor version.
          "name": "A String", # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details.
          "nodeConfig": { # Configuration for a Memcached Node. # Required. Configuration for Memcached nodes.
            "cpuCount": 42, # Required. Number of cpus per Memcached node.
            "memorySizeMb": 42, # Required. Memory size in MiB for each Memcached node.
          },
          "nodeCount": 42, # Required. Number of nodes in the Memcached instance.
          "parameters": { # User defined parameters to apply to the memcached process on each node.
            "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
            "params": { # User defined set of parameters to use in the memcached process.
              "a_key": "A String",
            },
          },
          "state": "A String", # Output only. The state of this Memcached instance.
          "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
          "updateTime": "A String", # Output only. The time the instance was updated.
          "zones": [ # Zones in which Memcached nodes should be provisioned. Memcached nodes will be equally distributed across these zones. If not provided, the service will by default create nodes in all zones in the region for the instance.
            "A String",
          ],
        },
      ],
      "unreachable": [ # Locations that could not be reached.
        "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, updateMask=None, x__xgafv=None)`

    Updates an existing Instance in a given project and location.

    Args:
      name: string, Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details. (required)
      body: object, The request body.
        The object takes the form of:

    { # A Memorystore for Memcached instance
      "authorizedNetwork": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used.
      "createTime": "A String", # Output only. The time the instance was created.
      "discoveryEndpoint": "A String", # Output only. Endpoint for the Discovery API.
      "displayName": "A String", # User provided name for the instance, which is only used for display purposes. Cannot be more than 80 characters.
      "instanceMessages": [ # List of messages that describe the current state of the Memcached instance.
        {
          "code": "A String", # A code that correspond to one type of user-facing message.
          "message": "A String", # Message on memcached instance which will be exposed to users.
        },
      ],
      "labels": { # Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
        "a_key": "A String",
      },
      "maintenancePolicy": { # Maintenance policy per instance. # The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule.
        "createTime": "A String", # Output only. The time when the policy was created.
        "description": "A String", # Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.
        "updateTime": "A String", # Output only. The time when the policy was updated.
        "weeklyMaintenanceWindow": [ # Required. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_maintenance_windows is expected to be one.
          { # Time window specified for weekly operations.
            "day": "A String", # Required. Allows to define schedule that runs specified day of the week.
            "duration": "A String", # Required. Duration of the time window.
            "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Start time of the window in UTC.
              "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
              "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
              "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
              "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
            },
          },
        ],
      },
      "maintenanceSchedule": { # Upcoming maintenance schedule. # Output only. Published maintenance schedule.
        "endTime": "A String", # Output only. The end time of any upcoming scheduled maintenance for this instance.
        "scheduleDeadlineTime": "A String", # Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.
        "startTime": "A String", # Output only. The start time of any upcoming scheduled maintenance for this instance.
      },
      "memcacheFullVersion": "A String", # Output only. The full version of memcached server running on this instance. System automatically determines the full memcached version for an instance based on the input MemcacheVersion. The full version format will be "memcached-1.5.16".
      "memcacheNodes": [ # Output only. List of Memcached nodes. Refer to Node message for more details.
        {
          "host": "A String", # Output only. Hostname or IP address of the Memcached node used by the clients to connect to the Memcached server on this node.
          "nodeId": "A String", # Output only. Identifier of the Memcached node. The node id does not include project or location like the Memcached instance name.
          "parameters": { # User defined parameters currently applied to the node.
            "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
            "params": { # User defined set of parameters to use in the memcached process.
              "a_key": "A String",
            },
          },
          "port": 42, # Output only. The port number of the Memcached server on this node.
          "state": "A String", # Output only. Current state of the Memcached node.
          "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
          "zone": "A String", # Output only. Location (GCP Zone) for the Memcached node.
        },
      ],
      "memcacheVersion": "A String", # The major version of Memcached software. If not provided, latest supported version will be used. Currently the latest supported major version is `MEMCACHE_1_5`. The minor version will be automatically determined by our system based on the latest supported minor version.
      "name": "A String", # Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details.
      "nodeConfig": { # Configuration for a Memcached Node. # Required. Configuration for Memcached nodes.
        "cpuCount": 42, # Required. Number of cpus per Memcached node.
        "memorySizeMb": 42, # Required. Memory size in MiB for each Memcached node.
      },
      "nodeCount": 42, # Required. Number of nodes in the Memcached instance.
      "parameters": { # User defined parameters to apply to the memcached process on each node.
        "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
        "params": { # User defined set of parameters to use in the memcached process.
          "a_key": "A String",
        },
      },
      "state": "A String", # Output only. The state of this Memcached instance.
      "updateAvailable": True or False, # Output only. Returns true if there is an update waiting to be applied
      "updateTime": "A String", # Output only. The time the instance was updated.
      "zones": [ # Zones in which Memcached nodes should be provisioned. Memcached nodes will be equally distributed across these zones. If not provided, the service will by default create nodes in all zones in the region for the instance.
        "A String",
      ],
    }

      updateMask: string, Required. Mask of fields to update. * `displayName`
      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 response of the operation in case of success. 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.
      },
    }

`updateParameters(name, body=None, x__xgafv=None)`

    Updates the defined Memcached parameters for an existing instance. This method only stages the parameters, it must be followed by `ApplyParameters` to apply the parameters to nodes of the Memcached instance.

    Args:
      name: string, Required. Resource name of the Memcached instance for which the parameters should be updated. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for UpdateParameters.
      "parameters": { # The parameters to apply to the instance.
        "id": "A String", # Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.
        "params": { # User defined set of parameters to use in the memcached process.
          "a_key": "A String",
        },
      },
      "updateMask": "A String", # Required. Mask of fields to update.
    }

      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 response of the operation in case of success. 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.
      },
    }