Method: googleapis.spanner.v1.projects.instanceConfigs.create

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

string

Required. The name of the project in which to create the instance configuration. Values are of the form projects/.

body

object (CreateInstanceConfigRequest)

Required.

Raised exceptions

Exceptions
ConnectionErrorIn case of a network problem (such as DNS failure or refused connection).
HttpErrorIf the response status is >= 400 (excluding 429 and 503).
TimeoutErrorIf a long-running operation takes longer to finish than the specified timeout limit.
TypeErrorIf an operation or function receives an argument of the wrong type.
ValueErrorIf an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout.
OperationErrorIf the long-running operation finished unsuccessfully.
ResponseTypeErrorIf 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"
    }
  }
]