Updates an instance, and begins allocating or releasing resources as
requested. The returned long-running operation can be used to track the
progress of updating the instance. If the named instance does not exist,
returns NOT_FOUND
. Immediately upon completion of this request: * For
resource types for which a decrease in the instance's allocation has
been requested, billing is based on the newly-requested level. Until
completion of the returned operation: * Cancelling the operation sets
its metadata's cancel_time, and begins restoring resources to their
pre-request values. The operation is guaranteed to succeed at undoing
all resource changes, after which point it terminates with a CANCELLED
status. * All other attempts to modify the instance are rejected. *
Reading the instance via the API continues to give the pre-request
resource levels. Upon completion of the returned operation: * Billing
begins for all successfully-allocated resources (some types may have
lower than the requested levels). * All newly-reserved resources are
available for serving the instance's tables. * The instance's new
resource levels are readable via the API. The returned long-running
operation will have a name of the format /operations/
and can be used
to track the instance modification. The metadata field type is
UpdateInstanceMetadata. The response field type is Instance, if
successful. Authorization requires spanner.instances.update
permission
on the resource name.
This method waits—the workflow execution is paused—until the operation is
complete, fails, or times out. The default timeout value is 1800
seconds (30
minutes) and can be changed to a maximum value of 31536000
seconds (one year)
for long-running operations using the connector_params
field. See the
Connectors reference.
The connector uses polling to monitor the long-running operation, which might generate additional billable steps. For more information about retries and long-running operations, refer to Understand connectors.
The polling policy for the long-running operation can be configured. To set the
connector-specific parameters (connector_params
), refer to
Invoke a connector call.
Arguments
Parameters | |
---|---|
name |
Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form
|
body |
Required.
|
Raised exceptions
Exceptions | |
---|---|
ConnectionError |
In case of a network problem (such as DNS failure or refused connection). |
HttpError |
If the response status is >= 400 (excluding 429 and 503). |
TimeoutError |
If a long-running operation takes longer to finish than the specified timeout limit. |
TypeError |
If an operation or function receives an argument of the wrong type. |
ValueError |
If an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout. |
OperationError |
If the long-running operation finished unsuccessfully. |
ResponseTypeError |
If the long-running operation returned a response of the wrong type. |
Response
If successful, the response contains an instance of Operation
.
Subworkflow snippet
Some fields might be optional or required. To identify required fields, refer to the API documentation.
YAML
- patch: call: googleapis.spanner.v1.projects.instances.patch args: name: ... body: fieldMask: ... instance: config: ... displayName: ... endpointUris: ... freeInstanceMetadata: expireBehavior: ... instanceType: ... labels: ... name: ... nodeCount: ... processingUnits: ... result: patchResult
JSON
[ { "patch": { "call": "googleapis.spanner.v1.projects.instances.patch", "args": { "name": "...", "body": { "fieldMask": "...", "instance": { "config": "...", "displayName": "...", "endpointUris": "...", "freeInstanceMetadata": { "expireBehavior": "..." }, "instanceType": "...", "labels": "...", "name": "...", "nodeCount": "...", "processingUnits": "..." } } }, "result": "patchResult" } } ]