# Infrastructure Manager API

Creates and manages Google Cloud Platform resources and infrastructure.

- [REST Resource: v1.projects.locations](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations)
- [REST Resource: v1.projects.locations.deploymentGroups](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.deploymentGroups)
- [REST Resource: v1.projects.locations.deploymentGroups.revisions](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.deploymentGroups.revisions)
- [REST Resource: v1.projects.locations.deployments](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.deployments)
- [REST Resource: v1.projects.locations.deployments.revisions](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.deployments.revisions)
- [REST Resource: v1.projects.locations.deployments.revisions.resources](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.deployments.revisions.resources)
- [REST Resource: v1.projects.locations.operations](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.operations)
- [REST Resource: v1.projects.locations.previews](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.previews)
- [REST Resource: v1.projects.locations.previews.resourceChanges](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.previews.resourceChanges)
- [REST Resource: v1.projects.locations.previews.resourceDrifts](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.previews.resourceDrifts)
- [REST Resource: v1.projects.locations.terraformVersions](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest#v1.projects.locations.terraformVersions)

## Service: config.googleapis.com

To call this service, we recommend that you use the Google-provided [client libraries](https://cloud.google.com/apis/docs/client-libraries-explained). If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

### Discovery document

A [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

- <https://config.googleapis.com/$discovery/rest?version=v1>

### Service endpoint

A [service endpoint](https://cloud.google.com/apis/design/glossary#api_service_endpoint) is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

- `https://config.googleapis.com`

## REST Resource: [v1.projects.locations](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations/get` | `GET /v1/{name=projects/*/locations/*}` Gets information about a location. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations/getAutoMigrationConfig` | `GET /v1/{name=projects/*/locations/*/autoMigrationConfig}` Get the AutoMigrationConfig for a given project and location. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations/list` | `GET /v1/{name=projects/*}/locations` Lists information about the supported locations for this service. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations/updateAutoMigrationConfig` | `PATCH /v1/{autoMigrationConfig.name=projects/*/locations/*/autoMigrationConfig}` Updates the AutoMigrationConfig for a given project and location. |

## REST Resource: [v1.projects.locations.deploymentGroups](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/create` | `POST /v1/{parent=projects/*/locations/*}/deploymentGroups` Creates a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups#DeploymentGroup` The newly created DeploymentGroup will be in the `CREATING` state and can be retrieved via Get and List calls. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/delete` | `DELETE /v1/{name=projects/*/locations/*/deploymentGroups/*}` Deletes a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups#DeploymentGroup` |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/deprovision` | `POST /v1/{name=projects/*/locations/*/deploymentGroups/*}:deprovision` Deprovisions a deployment group. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/get` | `GET /v1/{name=projects/*/locations/*/deploymentGroups/*}` Get a DeploymentGroup for a given project and location. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/list` | `GET /v1/{parent=projects/*/locations/*}/deploymentGroups` List DeploymentGroups for a given project and location. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/patch` | `PATCH /v1/{deploymentGroup.name=projects/*/locations/*/deploymentGroups/*}` Updates a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups#DeploymentGroup` |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups/provision` | `POST /v1/{name=projects/*/locations/*/deploymentGroups/*}:provision` Provisions a deployment group. |

## REST Resource: [v1.projects.locations.deploymentGroups.revisions](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups.revisions)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups.revisions/get` | `GET /v1/{name=projects/*/locations/*/deploymentGroups/*/revisions/*}` Gets details about a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups.revisions#DeploymentGroupRevision`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups.revisions/list` | `GET /v1/{parent=projects/*/locations/*/deploymentGroups/*}/revisions` Lists `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups.revisions#DeploymentGroupRevision`s in a given `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deploymentGroups#DeploymentGroup`. |

## REST Resource: [v1.projects.locations.deployments](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/create` | `POST /v1/{parent=projects/*/locations/*}/deployments` Creates a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments#Deployment`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/delete` | `DELETE /v1/{name=projects/*/locations/*/deployments/*}` Deletes a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments#Deployment`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/deleteState` | `POST /v1/{name=projects/*/locations/*/deployments/*}:deleteState` Deletes Terraform state file in a given deployment. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/exportLock` | `GET /v1/{name=projects/*/locations/*/deployments/*}:exportLock` Exports the lock info on a locked deployment. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/exportState` | `POST /v1/{parent=projects/*/locations/*/deployments/*}:exportState` Exports Terraform state file from a given deployment. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/get` | `GET /v1/{name=projects/*/locations/*/deployments/*}` Gets details about a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments#Deployment`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/getIamPolicy` | `GET /v1/{resource=projects/*/locations/*/deployments/*}:getIamPolicy` Gets the access control policy for a resource. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/importState` | `POST /v1/{parent=projects/*/locations/*/deployments/*}:importState` Imports Terraform state file in a given deployment. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/list` | `GET /v1/{parent=projects/*/locations/*}/deployments` Lists `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments#Deployment`s in a given project and location. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/lock` | `POST /v1/{name=projects/*/locations/*/deployments/*}:lock` Locks a deployment. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/patch` | `PATCH /v1/{deployment.name=projects/*/locations/*/deployments/*}` Updates a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments#Deployment`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/setIamPolicy` | `POST /v1/{resource=projects/*/locations/*/deployments/*}:setIamPolicy` Sets the access control policy on the specified resource. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/testIamPermissions` | `POST /v1/{resource=projects/*/locations/*/deployments/*}:testIamPermissions` Returns permissions that a caller has on the specified resource. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments/unlock` | `POST /v1/{name=projects/*/locations/*/deployments/*}:unlock` Unlocks a locked deployment. |

## REST Resource: [v1.projects.locations.deployments.revisions](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions/exportState` | `POST /v1/{parent=projects/*/locations/*/deployments/*/revisions/*}:exportState` Exports Terraform state file from a given revision. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions/get` | `GET /v1/{name=projects/*/locations/*/deployments/*/revisions/*}` Gets details about a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions#Revision`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions/list` | `GET /v1/{parent=projects/*/locations/*/deployments/*}/revisions` Lists `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions#Revision`s of a deployment. |

## REST Resource: [v1.projects.locations.deployments.revisions.resources](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions.resources)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions.resources/get` | `GET /v1/{name=projects/*/locations/*/deployments/*/revisions/*/resources/*}` Gets details about a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions.resources#Resource` deployed by Infra Manager. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions.resources/list` | `GET /v1/{parent=projects/*/locations/*/deployments/*/revisions/*}/resources` Lists `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.deployments.revisions.resources#Resource` in a given revision. |

## REST Resource: [v1.projects.locations.operations](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.operations)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.operations/cancel` | `POST /v1/{name=projects/*/locations/*/operations/*}:cancel` Starts asynchronous cancellation on a long-running operation. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.operations/delete` | `DELETE /v1/{name=projects/*/locations/*/operations/*}` Deletes a long-running operation. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.operations/get` | `GET /v1/{name=projects/*/locations/*/operations/*}` Gets the latest state of a long-running operation. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.operations/list` | `GET /v1/{name=projects/*/locations/*}/operations` Lists operations that match the specified filter in the request. |

## REST Resource: [v1.projects.locations.previews](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews/create` | `POST /v1/{parent=projects/*/locations/*}/previews` Creates a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews#Preview`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews/delete` | `DELETE /v1/{name=projects/*/locations/*/previews/*}` Deletes a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews#Preview`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews/export` | `POST /v1/{parent=projects/*/locations/*/previews/*}:export` Export `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews#Preview` results. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews/get` | `GET /v1/{name=projects/*/locations/*/previews/*}` Gets details about a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews#Preview`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews/list` | `GET /v1/{parent=projects/*/locations/*}/previews` Lists `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews#Preview`s in a given project and location. |

## REST Resource: [v1.projects.locations.previews.resourceChanges](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews.resourceChanges)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews.resourceChanges/get` | `GET /v1/{name=projects/*/locations/*/previews/*/resourceChanges/*}` Get a ResourceChange for a given preview. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews.resourceChanges/list` | `GET /v1/{parent=projects/*/locations/*/previews/*}/resourceChanges` Lists ResourceChanges for a given preview. |

## REST Resource: [v1.projects.locations.previews.resourceDrifts](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews.resourceDrifts)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews.resourceDrifts/get` | `GET /v1/{name=projects/*/locations/*/previews/*/resourceDrifts/*}` Get a ResourceDrift for a given preview. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.previews.resourceDrifts/list` | `GET /v1/{parent=projects/*/locations/*/previews/*}/resourceDrifts` List ResourceDrifts for a given preview. |

## REST Resource: [v1.projects.locations.terraformVersions](https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.terraformVersions)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.terraformVersions/get` | `GET /v1/{name=projects/*/locations/*/terraformVersions/*}` Gets details about a `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.terraformVersions#TerraformVersion`. |
| `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.terraformVersions/list` | `GET /v1/{parent=projects/*/locations/*}/terraformVersions` Lists `https://docs.cloud.google.com/infrastructure-manager/docs/reference/rest/v1/projects.locations.terraformVersions#TerraformVersion`s in a given project and location. |