1. Docs
  2. Secrets & Configuration
  3. Integrations
  4. Infrastructure
  5. Terraform
  6. terraform-state

terraform-state

    The terraform-state provider enables you to read outputs from Terraform state files stored in S3 or Terraform Cloud.

    Example

    S3 backend

    values:
      terraform:
        fn::open::terraform-state:
          backend:
            s3:
              login:
                fn::open::aws-login:
                  oidc:
                    roleArn: arn:aws:iam::123456789012:role/esc-oidc
                    sessionName: pulumi-environments-session
              bucket: my-terraform-state-bucket
              key: path/to/terraform.tfstate
              region: us-west-2
      pulumiConfig:
        vpcId: ${terraform.outputs.vpc_id}
        subnetIds: ${terraform.outputs.subnet_ids}
    

    Terraform Cloud backend

    values:
      terraform:
        fn::open::terraform-state:
          backend:
            remote:
              organization: my-terraform-org
              workspace: my-workspace
              token:
                fn::secret: tfc-token-value
      pulumiConfig:
        vpcId: ${terraform.outputs.vpc_id}
        subnetIds: ${terraform.outputs.subnet_ids}
    

    Inputs

    PropertyTypeDescription
    backendBackendConfiguration for the Terraform state backend (S3 or remote).

    Backend

    The backend property must contain exactly one of the following:

    S3

    PropertyTypeDescription
    loginaws-loginThe credentials to use to access the state file.
    bucketstringThe S3 bucket name containing the state file.
    keystringThe S3 object key for the state file.
    regionstringThe AWS region where the bucket is located.

    Remote

    PropertyTypeDescription
    hostnamestring[Optional] - The remote backend hostname to connect to. Defaults to app.terraform.io.
    organizationstringThe name of the organization containing the targeted workspace.
    workspacestringThe name of the remote workspace.
    tokenstringThe token used to authenticate with the remote backend.

    Outputs

    PropertyTypeDescription
    outputsobjectA map of all outputs from the Terraform state. Any output marked as sensitive in the terraform state will be secret.
      Neo just got smarter about infrastructure policy automation