# Infrastructure Manager API . projects . locations . deployments . revisions

## Instance Methods

Returns the resources Resource.

Close httplib2 connections.

Exports Terraform state file from a given revision.

Gets details about a Revision.

Lists Revisions of a deployment.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`exportState(parent, body=None, x__xgafv=None)`

    Exports Terraform state file from a given revision.

    Args:
      parent: string, Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'. (required)
      body: object, The request body.
        The object takes the form of:

    { # A request to export a state file passed to a 'ExportRevisionStatefile' call.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Contains info about a Terraform state file
      "signedUri": "A String", # Output only. Cloud Storage signed URI used for downloading or uploading the state file.
    }

`get(name, x__xgafv=None)`

    Gets details about a Revision.

    Args:
      name: string, Required. The name of the Revision in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A child resource of a Deployment generated by a 'CreateDeployment' or 'UpdateDeployment' call. Each Revision contains metadata pertaining to a snapshot of a particular Deployment.
      "action": "A String", # Output only. The action which created this revision
      "applyResults": { # Outputs and artifacts from applying a deployment. # Output only. Outputs and artifacts from applying a deployment.
        "artifacts": "A String", # Location of artifacts (e.g. logs) in Google Cloud Storage. Format: `gs://{bucket}/{object}`
        "content": "A String", # Location of a blueprint copy and other manifests in Google Cloud Storage. Format: `gs://{bucket}/{object}`
        "outputs": { # Map of output name to output info.
          "a_key": { # Describes a Terraform output.
            "sensitive": True or False, # Identifies whether Terraform has set this output as a potential sensitive value.
            "value": "", # Value of output.
          },
        },
      },
      "build": "A String", # Output only. Cloud Build instance UUID associated with this revision.
      "createTime": "A String", # Output only. Time when the revision was created.
      "errorCode": "A String", # Output only. Code describing any errors that may have occurred.
      "errorLogs": "A String", # Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`.
      "importExistingResources": True or False, # Output only. By default, Infra Manager will return a failure when Terraform encounters a 409 code (resource conflict error) during actuation. If this flag is set to true, Infra Manager will instead attempt to automatically import the resource into the Terraform state (for supported resource types) and continue actuation. Not all resource types are supported, refer to documentation.
      "logs": "A String", # Output only. Location of Revision operation logs in `gs://{bucket}/{object}` format.
      "name": "A String", # Revision name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}`
      "quotaValidation": "A String", # Optional. Input to control quota checks for resources in terraform configuration files. There are limited resources on which quota validation applies.
      "quotaValidationResults": "A String", # Output only. Cloud Storage path containing quota validation results. This field is set when a user sets Deployment.quota_validation field to ENABLED or ENFORCED. Format: `gs://{bucket}/{object}`.
      "serviceAccount": "A String", # Output only. User-specified Service Account (SA) to be used as credential to manage resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`
      "state": "A String", # Output only. Current state of the revision.
      "stateDetail": "A String", # Output only. Additional info regarding the current state.
      "terraformBlueprint": { # TerraformBlueprint describes the source of a Terraform root module which describes the resources and configs to be deployed. # Output only. A blueprint described using Terraform's HashiCorp Configuration Language as a root module.
        "gcsSource": "A String", # URI of an object in Google Cloud Storage. Format: `gs://{bucket}/{object}` URI may also specify an object version for zipped objects. Format: `gs://{bucket}/{object}#{version}`
        "gitSource": { # A set of files in a Git repository. # URI of a public Git repo.
          "directory": "A String", # Optional. Subdirectory inside the repository. Example: 'staging/my-package'
          "ref": "A String", # Optional. Git reference (e.g. branch or tag).
          "repo": "A String", # Optional. Repository URL. Example: 'https://github.com/kubernetes/examples.git'
        },
        "inputValues": { # Optional. Input variable values for the Terraform blueprint.
          "a_key": { # A Terraform input variable.
            "inputValue": "", # Optional. Input variable value.
          },
        },
      },
      "tfErrors": [ # Output only. Errors encountered when creating or updating this deployment. Errors are truncated to 10 entries, see `delete_results` and `error_logs` for full details.
        { # Errors encountered during actuation using Terraform
          "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Original error response from underlying Google API, if available.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          },
          "errorDescription": "A String", # A human-readable error description.
          "httpResponseCode": 42, # HTTP response code returned from Google Cloud Platform APIs when Terraform fails to provision the resource. If unset or 0, no HTTP response code was returned by Terraform.
          "resourceAddress": "A String", # Address of the resource associated with the error, e.g. `google_compute_network.vpc_network`.
        },
      ],
      "tfVersion": "A String", # Output only. The version of Terraform used to create the Revision. It is in the format of "Major.Minor.Patch", for example, "1.3.10".
      "tfVersionConstraint": "A String", # Output only. The user-specified Terraform version constraint. Example: "=1.3.10".
      "updateTime": "A String", # Output only. Time when the revision was last modified.
      "workerPool": "A String", # Output only. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used.
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists Revisions of a deployment.

    Args:
      parent: string, Required. The parent in whose context the Revisions are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'. (required)
      filter: string, Lists the Revisions that match the filter expression. A filter expression filters the resources listed in the response. The expression must be of the form '{field} {operator} {value}' where operators: '<', '>', '<=', '>=', '!=', '=', ':' are supported (colon ':' represents a HAS operator which is roughly synonymous with equality). {field} can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: - Filter by name: name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar - Filter by labels: - Resources that have a key called 'foo' labels.foo:* - Resources that have a key called 'foo' whose value is 'bar' labels.foo = bar - Filter by state: - Revisions in CREATING state. state=CREATING
      orderBy: string, Field to use to sort the list.
      pageSize: integer, When requesting a page of resources, `page_size` specifies number of resources to return. If unspecified, at most 500 will be returned. The maximum value is 1000.
      pageToken: string, Token returned by previous call to 'ListRevisions' which specifies the position in the list from where to continue listing the resources.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A response to a 'ListRevisions' call. Contains a list of Revisions.
      "nextPageToken": "A String", # A token to request the next page of resources from the 'ListRevisions' method. The value of an empty string means that there are no more resources to return.
      "revisions": [ # List of Revisions.
        { # A child resource of a Deployment generated by a 'CreateDeployment' or 'UpdateDeployment' call. Each Revision contains metadata pertaining to a snapshot of a particular Deployment.
          "action": "A String", # Output only. The action which created this revision
          "applyResults": { # Outputs and artifacts from applying a deployment. # Output only. Outputs and artifacts from applying a deployment.
            "artifacts": "A String", # Location of artifacts (e.g. logs) in Google Cloud Storage. Format: `gs://{bucket}/{object}`
            "content": "A String", # Location of a blueprint copy and other manifests in Google Cloud Storage. Format: `gs://{bucket}/{object}`
            "outputs": { # Map of output name to output info.
              "a_key": { # Describes a Terraform output.
                "sensitive": True or False, # Identifies whether Terraform has set this output as a potential sensitive value.
                "value": "", # Value of output.
              },
            },
          },
          "build": "A String", # Output only. Cloud Build instance UUID associated with this revision.
          "createTime": "A String", # Output only. Time when the revision was created.
          "errorCode": "A String", # Output only. Code describing any errors that may have occurred.
          "errorLogs": "A String", # Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`.
          "importExistingResources": True or False, # Output only. By default, Infra Manager will return a failure when Terraform encounters a 409 code (resource conflict error) during actuation. If this flag is set to true, Infra Manager will instead attempt to automatically import the resource into the Terraform state (for supported resource types) and continue actuation. Not all resource types are supported, refer to documentation.
          "logs": "A String", # Output only. Location of Revision operation logs in `gs://{bucket}/{object}` format.
          "name": "A String", # Revision name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}`
          "quotaValidation": "A String", # Optional. Input to control quota checks for resources in terraform configuration files. There are limited resources on which quota validation applies.
          "quotaValidationResults": "A String", # Output only. Cloud Storage path containing quota validation results. This field is set when a user sets Deployment.quota_validation field to ENABLED or ENFORCED. Format: `gs://{bucket}/{object}`.
          "serviceAccount": "A String", # Output only. User-specified Service Account (SA) to be used as credential to manage resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`
          "state": "A String", # Output only. Current state of the revision.
          "stateDetail": "A String", # Output only. Additional info regarding the current state.
          "terraformBlueprint": { # TerraformBlueprint describes the source of a Terraform root module which describes the resources and configs to be deployed. # Output only. A blueprint described using Terraform's HashiCorp Configuration Language as a root module.
            "gcsSource": "A String", # URI of an object in Google Cloud Storage. Format: `gs://{bucket}/{object}` URI may also specify an object version for zipped objects. Format: `gs://{bucket}/{object}#{version}`
            "gitSource": { # A set of files in a Git repository. # URI of a public Git repo.
              "directory": "A String", # Optional. Subdirectory inside the repository. Example: 'staging/my-package'
              "ref": "A String", # Optional. Git reference (e.g. branch or tag).
              "repo": "A String", # Optional. Repository URL. Example: 'https://github.com/kubernetes/examples.git'
            },
            "inputValues": { # Optional. Input variable values for the Terraform blueprint.
              "a_key": { # A Terraform input variable.
                "inputValue": "", # Optional. Input variable value.
              },
            },
          },
          "tfErrors": [ # Output only. Errors encountered when creating or updating this deployment. Errors are truncated to 10 entries, see `delete_results` and `error_logs` for full details.
            { # Errors encountered during actuation using Terraform
              "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Original error response from underlying Google API, if available.
                "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                  {
                    "a_key": "", # Properties of the object. Contains field @type with type URL.
                  },
                ],
                "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
              },
              "errorDescription": "A String", # A human-readable error description.
              "httpResponseCode": 42, # HTTP response code returned from Google Cloud Platform APIs when Terraform fails to provision the resource. If unset or 0, no HTTP response code was returned by Terraform.
              "resourceAddress": "A String", # Address of the resource associated with the error, e.g. `google_compute_network.vpc_network`.
            },
          ],
          "tfVersion": "A String", # Output only. The version of Terraform used to create the Revision. It is in the format of "Major.Minor.Patch", for example, "1.3.10".
          "tfVersionConstraint": "A String", # Output only. The user-specified Terraform version constraint. Example: "=1.3.10".
          "updateTime": "A String", # Output only. Time when the revision was last modified.
          "workerPool": "A String", # Output only. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used.
        },
      ],
      "unreachable": [ # Locations that could not be reached.
        "A String",
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.