Stay organized with collections
Save and categorize content based on your preferences.
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.
The connector uses polling to monitor the long-running operation, which might
generate additional billable steps. The polling policy for the long-running
operation can be configured. For example, if you set skip_polling to True,
the connector invocation call is non-blocking if the initial request succeeds;
otherwise, retries might occur.
For more information about connector-specific parameters (connector_params),
see Invoke a connector call.
For more information about retries and long-running operations, see
Understand connectors.
Arguments
Parameters
name
string
Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form projects//instances/a-z*[a-z0-9]. The final segment of the name must be between 2 and 64 characters in length.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Method: googleapis.spanner.v1.projects.instances.patch\n\nUpdates an instance, and begins allocating or releasing resources as\nrequested. The returned long-running operation can be used to track the\nprogress of updating the instance. If the named instance does not exist,\nreturns `NOT_FOUND`. Immediately upon completion of this request: \\* For\nresource types for which a decrease in the instance's allocation has\nbeen requested, billing is based on the newly-requested level. Until\ncompletion of the returned operation: \\* Cancelling the operation sets\nits metadata's cancel_time, and begins restoring resources to their\npre-request values. The operation is guaranteed to succeed at undoing\nall resource changes, after which point it terminates with a `CANCELLED`\nstatus. \\* All other attempts to modify the instance are rejected. \\*\nReading the instance via the API continues to give the pre-request\nresource levels. Upon completion of the returned operation: \\* Billing\nbegins for all successfully-allocated resources (some types may have\nlower than the requested levels). \\* All newly-reserved resources are\navailable for serving the instance's tables. \\* The instance's new\nresource levels are readable via the API. The returned long-running\noperation will have a name of the format `/operations/` and can be used\nto track the instance modification. The metadata field type is\nUpdateInstanceMetadata. The response field type is Instance, if\nsuccessful. Authorization requires `spanner.instances.update` permission\non the resource name.\n\nThis method waits---the workflow execution is paused---until the operation is\ncomplete, fails, or times out. The default timeout value is `1800` seconds (30\nminutes) and can be changed to a maximum value of `31536000` seconds (one year)\nfor long-running operations using the `connector_params` field.\n\nThe connector uses polling to monitor the long-running operation, which might\ngenerate additional billable steps. The polling policy for the long-running\noperation can be configured. For example, if you set `skip_polling` to `True`,\nthe connector invocation call is non-blocking if the initial request succeeds;\notherwise, retries might occur.\n\nFor more information about connector-specific parameters (`connector_params`),\nsee [Invoke a connector call](/workflows/docs/reference/googleapis#invoke_a_connector_call).\n\nFor more information about retries and long-running operations, see\n[Understand connectors](/workflows/docs/connectors).\n\nArguments\n---------\n\nRaised exceptions\n-----------------\n\nResponse\n--------\n\nIf successful, the response contains an instance of [`Operation`](https://cloud.google.com/workflows/docs/reference/googleapis/spanner/v1/Overview#Operation).\n\nSubworkflow snippet\n-------------------\n\nSome fields might be optional or required.\nTo identify required fields, refer to the [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances/patch). \n\n### YAML\n\n```yaml\n- patch:\n call: googleapis.spanner.v1.projects.instances.patch\n args:\n name: ...\n body:\n fieldMask: ...\n instance:\n autoscalingConfig:\n asymmetricAutoscalingOptions: ...\n autoscalingLimits:\n maxNodes: ...\n maxProcessingUnits: ...\n minNodes: ...\n minProcessingUnits: ...\n autoscalingTargets:\n highPriorityCpuUtilizationPercent: ...\n storageUtilizationPercent: ...\n config: ...\n defaultBackupScheduleType: ...\n displayName: ...\n edition: ...\n endpointUris: ...\n freeInstanceMetadata:\n expireBehavior: ...\n instanceType: ...\n labels: ...\n name: ...\n nodeCount: ...\n processingUnits: ...\n result: patchResult\n```\n\n### JSON\n\n```json\n[\n {\n \"patch\": {\n \"call\": \"googleapis.spanner.v1.projects.instances.patch\",\n \"args\": {\n \"name\": \"...\",\n \"body\": {\n \"fieldMask\": \"...\",\n \"instance\": {\n \"autoscalingConfig\": {\n \"asymmetricAutoscalingOptions\": \"...\",\n \"autoscalingLimits\": {\n \"maxNodes\": \"...\",\n \"maxProcessingUnits\": \"...\",\n \"minNodes\": \"...\",\n \"minProcessingUnits\": \"...\"\n },\n \"autoscalingTargets\": {\n \"highPriorityCpuUtilizationPercent\": \"...\",\n \"storageUtilizationPercent\": \"...\"\n }\n },\n \"config\": \"...\",\n \"defaultBackupScheduleType\": \"...\",\n \"displayName\": \"...\",\n \"edition\": \"...\",\n \"endpointUris\": \"...\",\n \"freeInstanceMetadata\": {\n \"expireBehavior\": \"...\"\n },\n \"instanceType\": \"...\",\n \"labels\": \"...\",\n \"name\": \"...\",\n \"nodeCount\": \"...\",\n \"processingUnits\": \"...\"\n }\n }\n },\n \"result\": \"patchResult\"\n }\n }\n]\n```"]]