Module state

@pulumi/terraform > state

class RemoteStateReference

extends CustomResource

Manages a reference to a Terraform Remote State.. The root outputs of the remote state are available via the outputs property or the getOutput method.

constructor

new RemoteStateReference(name: string, args: RemoteStateReferenceArgs, opts?: pulumi.CustomResourceOptions)

Create a RemoteStateReference resource with the given unique name, arguments, and options.

  • name The unique name of the remote state reference.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method getOutput

public getOutput(name: pulumi.Input<string>): pulumi.Output<any>

Fetches the value of a root output from the Terraform Remote State.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property outputs

public outputs: pulumi.Output<{[name: string]: any}>;

The root outputs of the referenced Terraform state.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface ArtifactoryRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the Artifactory backend.

property backendType

backendType: “artifactory”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property password

password?: pulumi.Input<string>;

The password with which to authenticate to Artifactory. Sourced from ARTIFACTORY_PASSWORD in the environment, if unset.

property repo

repo: pulumi.Input<string>;

The repository name.

property subpath

subpath: pulumi.Input<string>;

Path within the repository.

property url

url?: pulumi.Input<string>;

The Artifactory URL. Note that this is the base URL to artifactory, not the full repo and subpath. However, it must include the path to the artifactory installation - likely this will end in /artifactory. Sourced from ARTIFACTORY_URL in the environment, if unset.

property username

username?: pulumi.Input<string>;

The username with which to authenticate to Artifactory. Sourced from ARTIFACTORY_USERNAME in the environment, if unset.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface AzureRMRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the AzureRM backend.

property accessKey

accessKey?: pulumi.Input<string>;

The Access Key used to access the blob storage account. Used when authenticating using an access key. Sourced from ARM_ACCESS_KEY in the environment, if unset.

property backendType

backendType: “azurerm”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property clientId

clientId?: pulumi.Input<string>;

The client ID of the service principal. Used when authenticating using a service principal. Sourced from ARM_CLIENT_ID in the environment, if unset.

property clientSecret

clientSecret?: pulumi.Input<string>;

The client secret of the service principal. Used when authenticating using a service principal. Sourced from ARM_CLIENT_SECRET in the environment, if unset.

property containerName

containerName: pulumi.Input<string>;

The name of the storage container within the storage account.

property endpoint

endpoint?: pulumi.Input<string>;

The custom endpoint for Azure Resource Manager. Sourced from ARM_ENDPOINT, if unset.

property environment

environment?: pulumi.Input<AzureEnvironment>;

The Azure environment which should be used. Possible values are public (default), china, german, stack and usgovernment. Sourced from ARM_ENVIRONMENT, if unset.

property key

key?: pulumi.Input<string>;

The name of the blob in representing the Terraform State file inside the storage container.

property msiEndpoint

msiEndpoint?: pulumi.Input<string>;

The path to a custom Managed Service Identity endpoint. Used when authenticating using the Managed Service Identity (MSI). Sourced from ARM_MSI_ENDPOINT in the environment, if unset. Automatically determined, if no value is provided.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which the storage account exists. Used when authenticating using a service principal.

property sasToken

sasToken?: pulumi.Input<string>;

The SAS Token used to access the Blob Storage Account. Used when authenticating using a SAS Token. Sourced from ARM_SAS_TOKEN in the environment, if unset.

property storageAccountName

storageAccountName: pulumi.Input<string>;

The name of the storage account.

property subscriptionId

subscriptionId?: pulumi.Input<string>;

The Subscription ID in which the Storage Account exists. Used when authenticating using the Managed Service Identity (MSI) or a service principal. Sourced from ARM_SUBSCRIPTION_ID, if unset.

property tenantId

tenantId?: pulumi.Input<string>;

The Tenant ID in which the Subscription exists. Used when authenticating using the Managed Service Identity (MSI) or a service principal. Sourced from ARM_TENANT_ID, if unset.

property useMsi

useMsi?: pulumi.Input<boolean>;

Whether to authenticate using Managed Service Identity (MSI). Sourced from ARM_USE_MSI if unset. Defaults to false if no value is specified.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface ConsulRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the Consul backend.

property accessToken

accessToken: pulumi.Input<string>;

Consul Access Token. Sourced from CONSUL_HTTP_TOKEN in the environment, if unset.

property address

address?: pulumi.Input<string>;

DNS name and port of the Consul HTTP endpoint specified in the format dnsname:port. Defaults to the local agent HTTP listener.

property backendType

backendType: “consul”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property caFile

caFile?: pulumi.Input<string>;

A path to a PEM-encoded certificate authority used to verify the remote agent’s certificate. Sourced from CONSUL_CAFILE in the environment, if unset.

property certFile

certFile?: pulumi.Input<string>;

A path to a PEM-encoded certificate provided to the remote agent; requires use of key_file. Sourced from CONSUL_CLIENT_CERT in the environment, if unset.

property datacenter

datacenter?: pulumi.Input<string>;

The datacenter to use. Defaults to that of the agent.

property gzip

gzip?: pulumi.Input<boolean>;

Whether to compress the state data using gzip. Set to true to compress the state data using gzip, or false (default) to leave it uncompressed.

property httpAuth

httpAuth?: pulumi.Input<string>;

HTTP Basic Authentication credentials to be used when communicating with Consul, in the format of either user or user:pass. Sourced from CONSUL_HTTP_AUTH, if unset.

property keyFile

keyFile?: pulumi.Input<string>;

A path to a PEM-encoded private key, required if cert_file is specified. Sourced from CONSUL_CLIENT_KEY in the environment, if unset.

property path

path: pulumi.Input<string>;

Path in the Consul KV store.

property scheme

scheme?: pulumi.Input<string>;

Specifies which protocol to use when talking to the given address - either http or https. TLS support can also be enabled by setting the environment variable CONSUL_HTTP_SSL to true.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface EtcdV2RemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the etcd v2 backend. Note that there is a separate configuration class for state stored in the ectd v3 backend.

property backendType

backendType: “etcd”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property endpoints

endpoints: pulumi.Input<string>;

A space-separated list of the etcd endpoints.

property password

password?: pulumi.Input<string>;

The username with which to authenticate to etcd.

property path

path: pulumi.Input<string>;

The path at which to store the state.

property username

username?: pulumi.Input<string>;

The username with which to authenticate to etcd.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface EtcdV3RemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the etcd v3 backend. Note that there is a separate configuration class for state stored in the ectd v2 backend.

property backendType

backendType: “etcdv3”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property cacertPath

cacertPath?: pulumi.Input<string>;

Path to a PEM-encoded certificate authority bundle with which to verify certificates of TLS-enabled etcd servers.

property certPath

certPath?: pulumi.Input<string>;

Path to a PEM-encoded certificate to provide to etcd for client authentication.

property endpoints

endpoints: pulumi.Input<pulumi.Input<string>[]>;

A list of the etcd endpoints.

property keyPath

keyPath?: pulumi.Input<string>;

Path to a PEM-encoded key to use for client authentication.

property password

password?: pulumi.Input<string>;

The username with which to authenticate to etcd. Sourced from ETCDV3_PASSWORD in the environment, if unset.

property prefix

prefix?: pulumi.Input<string>;

An optional prefix to be added to keys when storing state in etcd.

property username

username?: pulumi.Input<string>;

The username with which to authenticate to etcd. Sourced from ETCDV3_USERNAME in the environment, if unset.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface GCSRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the Google Cloud Storage backend.

property backendType

backendType: “gcs”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property bucket

bucket: pulumi.Input<string>;

The name of the Google Cloud Storage bucket.

property credentials

credentials?: pulumi.Input<string>;

Local path to Google Cloud Platform account credentials in JSON format. Sourced from GOOGLE_CREDENTIALS in the environment if unset. If no value is provided Google Application Default Credentials are used.

property encryptionKey

encryptionKey?: pulumi.Input<string>;

A 32 byte, base64-encoded customer supplied encryption key used to encrypt the state. Sourced from GOOGLE_ENCRYPTION_KEY in the environment, if unset.

property prefix

prefix?: pulumi.Input<string>;

Prefix used inside the Google Cloud Storage bucket. Named states for workspaces are stored in an object named <prefix>/<name>.tfstate.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface HttpRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the HTTP backend.

property address

address: pulumi.Input<string>;

The address of the HTTP endpoint.

property backendType

backendType: “http”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property lockAddress

lockAddress?: pulumi.Input<string>;

The address of the lock REST endpoint. Not setting a value disables locking.

property lockMethod

lockMethod?: pulumi.Input<string>;

The HTTP method to use when locking. Defaults to LOCK.

property password

password?: pulumi.Input<string>;

The password used for HTTP basic authentication.

property skipCertVerification

skipCertVerification?: pulumi.Input<boolean>;

Whether to skip TLS verification. Defaults to false.

property unlockAddress

unlockAddress?: pulumi.Input<string>;

The address of the unlock REST endpoint. Not setting a value disables locking.

property unlockMethod

unlockMethod?: pulumi.Input<string>;

The HTTP method to use when unlocking. Defaults to UNLOCK.

property updateMethod

updateMethod?: pulumi.Input<string>;

HTTP method to use when updating state. Defaults to POST.

property username

username?: pulumi.Input<string>;

The username used for HTTP basic authentication.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface LocalBackendRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the local enhanced backend.

property backendType

backendType: “local”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property path

path: pulumi.Input<string>;

The path to the Terraform state file.

interface MantaRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the Manta backend.

property account

account: pulumi.Input<string>;

The name of the Manta account. Sourced from SDC_ACCOUNT or _ACCOUNT in the environment, if unset.

property backendType

backendType: “manta”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property insecureSkipTlsVerify

insecureSkipTlsVerify: pulumi.Input<boolean>;

Skip verifying the TLS certificate presented by the Manta endpoint. This can be useful for installations which do not have a certificate signed by a trusted root CA. Defaults to false.

property keyId

keyId: pulumi.Input<string>;

The fingerprint of the public key matching the key material specified in keyMaterial, or in the local SSH agent.

property keyMaterial

keyMaterial?: pulumi.Input<string>;

The private key material corresponding with the SSH key whose fingerprint is specified in keyId. Sourced from SDC_KEY_MATERIAL or TRITON_KEY_MATERIAL in the environment, if unset. If no value is specified, the local SSH agent is used for signing requests.

property path

path: pulumi.Input<string>;

The path relative to your private storage directory (/$MANTA_USER/stor) where the state file will be stored.

property url

url?: pulumi.Input<string>;

The Manta API Endpoint. Sourced from MANTA_URL in the environment, if unset. Defaults to https://us-east.manta.joyent.com.

property user

user?: pulumi.Input<string>;

The username of the Manta account with which to authenticate.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface PostgresRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the Postgres backend.

property backendType

backendType: “pg”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property connStr

connStr: pulumi.Input<string>;

Postgres connection string; a postgres:// URL

property schemaName

schemaName?: pulumi.Input<string>;

Name of the automatically-managed Postgres schema. Defaults to terraform_remote_state.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

interface RemoteBackendRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the remote enhanced backend.

property backendType

backendType: “remote”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property hostname

hostname?: pulumi.Input<string>;

The remote backend hostname to which to connect. Defaults to app.terraform.io.

property organization

organization: pulumi.Input<string>;

The name of the organization containing the targeted workspace(s).

property token

token?: pulumi.Input<string>;

The token used to authenticate with the remote backend.

property workspaces

workspaces?: pulumi.Input<RemoteBackendWorkspaceConfig>;

A block specifying which remote workspace(s) to use.

interface RemoteBackendWorkspaceConfig

Configuration options for a workspace for use with the remote enhanced backend.

property name

name?: pulumi.Input<string>;

The full name of one remote workspace. When configured, only the default workspace can be used. This option conflicts with prefix.

property prefix

prefix?: pulumi.Input<string>;

A prefix used in the names of one or more remote workspaces, all of which can be used with this configuration. If unset, only the default workspace can be used. This option conflicts with name.

interface S3RemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the S3 backend.

property accessKey

accessKey?: pulumi.Input<string>;

AWS Access Key. Sourced from the standard credentials pipeline, if unset.

property backendType

backendType: “s3”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property bucket

bucket: pulumi.Input<string>;

The name of the S3 bucket.

property endpoint

endpoint?: pulumi.Input<string>;

A custom endpoint for the S3 API. Also sourced from AWS_S3_ENDPOINT in the environment, if unset.

property externalId

externalId?: pulumi.Input<string>;

The external ID to use when assuming the IAM role.

property iamEndpoint

iamEndpoint?: pulumi.Input<string>;

A custom endpoint for the IAM API. Sourced from AWS_IAM_ENDPOINT, if unset.

property key

key: pulumi.Input<string>;

The path to the state file inside the bucket. When using a non-default workspace, the state path will be /workspace_key_prefix/workspace_name/key.

property profile

profile?: pulumi.Input<string>;

The AWS profile name as set in the shared credentials file.

property region

region?: pulumi.Input<string>;

The region of the S3 bucket. Also sourced from AWS_DEFAULT_REGION in the environment, if unset.

property roleArn

roleArn?: pulumi.Input<string>;

The ARN of an IAM Role to be assumed in order to read the state from S3.

property secretKey

secretKey?: pulumi.Input<string>;

AWS Secret Access Key. Sourced from the standard credentials pipeline, if unset.

property sessionName

sessionName?: pulumi.Input<string>;

The session name to use when assuming the IAM role.

property sharedCredentialsFile

sharedCredentialsFile?: pulumi.Input<string>;

The path to the shared credentials file. If this is not set and a profile is specified, ~/.aws/credentials will be used by default.

property stsEndpoint

stsEndpoint?: pulumi.Input<string>;

A custom endpoint for the STS API. Sourced from AWS_STS_ENDPOINT, if unset.

property token

token?: pulumi.Input<string>;

An MFA token. Sourced from the AWS_SESSION_TOKEN in the environment variable if needed and unset.

property workspace

workspace?: pulumi.Input<string>;

The Terraform workspace from which to read state.

property workspaceKeyPrefix

workspaceKeyPrefix?: pulumi.Input<string>;

The prefix applied to the state path inside the bucket. This is only relevant when using a non-default workspace, and defaults to env:.

interface SwiftRemoteStateReferenceArgs

The configuration options for a Terraform Remote State stored in the Swift backend.

property authUrl

authUrl: pulumi.Input<string>;

The Identity authentication URL. Sourced from OS_AUTH_URL in the environment, if unset.

property backendType

backendType: “swift”;

A constant describing the name of the Terraform backend, used as the discriminant for the union of backend configurations.

property cacertFile

cacertFile?: pulumi.Input<string>;

A path to a CA root certificate for verifying the server TLS certificate. Sourced from OS_CACERT in the environment, if unset.

property cert

cert?: pulumi.Input<string>;

A path to a client certificate for TLS client authentication. Sourced from OS_CERT in the environment, if unset.

property container

container: pulumi.Input<string>;

The name of the container in which the Terraform state file is stored.

property domainId

domainId?: pulumi.Input<string>;

The ID of the domain to scope the log in to (identity v3). Sourced from OS_USER_DOMAIN_ID, OS_PROJECT_DOMAIN_ID or OS_DOMAIN_ID in the environment, if unset.

property domainName

domainName?: pulumi.Input<string>;

The name of the domain to scope the log in to (identity v3). Sourced from OS_USER_DOMAIN_NAME, OS_PROJECT_DOMAIN_NAME or OS_DOMAIN_NAME in the environment, if unset.

property insecure

insecure?: pulumi.Input<boolean>;

Whether to disable verification of the server TLS certificate. Sourced from OS_INSECURE in the environment, if unset.

property key

key?: pulumi.Input<string>;

A path to the private key corresponding to the client certificate for TLS client authentication. Sourced from OS_KEY in the environment, if unset.

property password

password?: pulumi.Input<string>;

The password with which to log in. Sourced from OS_PASSWORD in the environment, if unset.

property regionName

regionName: pulumi.Input<string>;

The region in which the state file is stored. Sourced from OS_REGION_NAME, if unset.

property tenantId

tenantId?: pulumi.Input<string>;

The ID of the tenant (for identity v2) or project (identity v3) which which to log in. Sourced from OS_TENANT_ID or OS_PROJECT_ID in the environment, if unset.

property tenantName

tenantName?: pulumi.Input<string>;

The name of the tenant (for identity v2) or project (identity v3) which which to log in. Sourced from OS_TENANT_NAME or OS_PROJECT_NAME in the environment, if unset.

property token

token?: pulumi.Input<string>;

Access token with which to log in in stead of a username and password. Sourced from OS_AUTH_TOKEN in the environment, if unset.

property userId

userId?: pulumi.Input<string>;

The user ID with which to log in. Sourced from OS_USER_ID in the environment, if unset.

property userName

userName?: pulumi.Input<string>;

The username with which to log in. Sourced from OS_USERNAME in the environment, if unset.

type AzureEnvironment

type AzureEnvironment = “public” | “china” | “german” | “stack” | “usgovernment”;

type RemoteStateReferenceArgs