Creates an instance configuration and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance configuration. The instance configuration name is assigned by the caller. If the named instance configuration already exists, CreateInstanceConfig
returns ALREADY_EXISTS
. Immediately after the request returns: * The instance configuration is readable via the API, with all requested attributes. The instance configuration's reconciling field is set to true. Its state is CREATING
. While the operation is pending: * Cancelling the operation renders the instance configuration immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance configuration are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance configuration's reconciling field becomes false. Its state becomes READY
. The returned long-running operation will have a name of the format /operations/
and can be used to track creation of the instance configuration. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires spanner.instanceConfigs.create
permission on the resource parent.
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 | |
---|---|
parent |
Required. The name of the project in which to create the instance configuration. 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
- create: call: googleapis.spanner.v1.projects.instanceConfigs.create args: parent: ... body: instanceConfig: baseConfig: ... displayName: ... etag: ... labels: ... leaderOptions: ... name: ... replicas: ... instanceConfigId: ... validateOnly: ... result: createResult
JSON
[ { "create": { "call": "googleapis.spanner.v1.projects.instanceConfigs.create", "args": { "parent": "...", "body": { "instanceConfig": { "baseConfig": "...", "displayName": "...", "etag": "...", "labels": "...", "leaderOptions": "...", "name": "...", "replicas": "..." }, "instanceConfigId": "...", "validateOnly": "..." } }, "result": "createResult" } } ]