Updates an instance config. The returned long-running operation
can be used to track the progress of updating the instance. If the named instance config does not exist, returns NOT_FOUND
.
Only user managed configurations can be updated.
Immediately after the request returns:
- The instance config's
reconciling
field is set to true.
While the operation is pending:
- Cancelling the operation sets its metadata's
cancelTime
. The operation is guaranteed to succeed at undoing all changes, after which point it terminates with aCANCELLED
status. - All other attempts to modify the instance config are rejected.
- Reading the instance config via the API continues to give the pre-request values.
Upon completion of the returned operation:
- Creating instances using the instance configuration uses the new values.
- The instance config's new values are readable via the API.
- The instance config's
reconciling
field becomes false.
The returned long-running operation
will have a name of the format <instance_config_name>/operations/<operationId>
and can be used to track the instance config modification. The metadata
field type is UpdateInstanceConfigMetadata
. The response
field type is InstanceConfig
, if successful.
Authorization requires spanner.instanceConfigs.update
permission on the resource name
.
HTTP request
PATCH https://spanner.googleapis.com/v1/{instanceConfig.name=projects/*/instanceConfigs/*}
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
instanceConfig.name |
A unique identifier for the instance configuration. Values are of the form |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "instanceConfig": { "name": string, "displayName": string, "configType": enum ( |
Fields | |
---|---|
instanceConfig.displayName |
The name of this instance configuration as it appears in UIs. |
instanceConfig.configType |
Output only. Whether this instance config is a Google or User Managed Configuration. |
instanceConfig.replicas[] |
The geographic placement of nodes in this instance configuration and their replication properties. |
instanceConfig.optionalReplicas[] |
Output only. The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations. |
instanceConfig.baseConfig |
Base configuration name, e.g. projects/ |
instanceConfig.labels |
Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.).
See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release. |
instanceConfig.etag |
etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly. |
instanceConfig.leaderOptions[] |
Allowed values of the "defaultLeader" schema option for databases in instances that use this instance configuration. |
instanceConfig.reconciling |
Output only. If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config. |
instanceConfig.state |
Output only. The current instance config state. Applicable only for USER_MANAGED configs. |
instanceConfig.freeInstanceAvailability |
Output only. Describes whether free instances are available to be created in this instance config. |
updateMask |
Required. A mask specifying which fields in This is a comma-separated list of fully qualified names of fields. Example: |
validateOnly |
An option to validate, but not actually execute, a request, and provide the same response. |
Response body
If successful, the response body contains an instance of Operation
.
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/spanner.admin
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview.