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,instanceConfigs.createreturnsALREADY_EXISTS.
Immediately after the request returns:
The instance configuration is readable via the API, with all requested attributes. The instance configuration'sreconcilingfield is set to true. Its state isCREATING.
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'sreconcilingfield becomes false. Its state becomesREADY.
The returned long-running operation will have a name of the format<instance_config_name>/operations/<operationId>and can be used to track creation of the instance configuration. The metadata field type isCreateInstanceConfigMetadata. The response field type isInstanceConfig, if successful.
Authorization requiresspanner.instanceConfigs.createpermission on the resourceparent.
Required. The ID of the instance configuration to create. Valid identifiers are of the formcustom-[-a-z0-9]*[a-z0-9]and must be between 2 and 64 characters in length. Thecustom-prefix is required to avoid name conflicts with Google-managed configurations.
Required. TheInstanceConfigproto of the configuration to create.instanceConfig.namemust be<parent>/instanceConfigs/<instanceConfigId>.instanceConfig.base_configmust be a Google-managed configuration name, e.g./instanceConfigs/us-east1,/instanceConfigs/nam3.
validateOnly
boolean
An option to validate, but not actually execute, a request, and provide the same response.
Response body
If successful, the response body contains a newly created instance ofOperation.
[[["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-06-18 UTC."],[],[],null,["# Method: projects.instanceConfigs.create\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nCreates 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, `instanceConfigs.create` returns `ALREADY_EXISTS`.\n\nImmediately after the request returns:\n\n- The instance configuration is readable via the API, with all requested attributes. The instance configuration's [reconciling](/spanner/docs/reference/rest/v1/projects.instanceConfigs#InstanceConfig.FIELDS.reconciling) field is set to true. Its state is `CREATING`.\n\nWhile the operation is pending:\n\n- Cancelling the operation renders the instance configuration immediately unreadable via the API.\n- Except for deleting the creating resource, all other attempts to modify the instance configuration are rejected.\n\nUpon completion of the returned operation:\n\n- Instances can be created using the instance configuration.\n- The instance configuration's [reconciling](/spanner/docs/reference/rest/v1/projects.instanceConfigs#InstanceConfig.FIELDS.reconciling) field becomes false. Its state becomes `READY`.\n\nThe returned long-running operation will have a name of the format `\u003cinstance_config_name\u003e/operations/\u003coperationId\u003e` and can be used to track creation of the instance configuration. The metadata field type is [CreateInstanceConfigMetadata](/spanner/docs/reference/rest/v1/CreateInstanceConfigMetadata). The response field type is [InstanceConfig](/spanner/docs/reference/rest/v1/projects.instanceConfigs#InstanceConfig), if successful.\n\nAuthorization requires `spanner.instanceConfigs.create` permission on the resource [parent](/spanner/docs/reference/rest/v1/projects.instanceConfigs/create#body.PATH_PARAMETERS.parent).\n\n### HTTP request\n\nChoose a location: \nglobal europe-west8 me-central2 us-central1 us-central2 us-east1 us-east4 us-east5 us-south1 us-west1 us-west2 us-west3 us-west4 us-west8 us-east7 \n\n\u003cbr /\u003e\n\nThe URLs use [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains a newly created instance of [Operation](/spanner/docs/reference/rest/v1/projects.instanceConfigs.operations#Operation).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/spanner.admin`\n- `https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]