state

package
v5.13.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArtifactoryArgs

type ArtifactoryArgs struct {
	// Username is the username to authenticate to Artifactory with.
	// Sourced from `ARTIFACTORY_USERNAME` environment var if unset.
	Username pulumi.StringPtrInput

	// Password is the password to authenticate to Artifactory with.
	// Sourced from `ARTIFACTORY_PASSWORD` environment var if unset.
	Password pulumi.StringPtrInput

	// Url 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.
	Url pulumi.StringPtrInput

	// Repo is the repository name
	Repo pulumi.StringInput

	// Subpath is the path within the repository
	Subpath pulumi.StringInput

	// Workspace is the terraform workspace from which to read state
	Workspace pulumi.StringPtrInput
}

ArtifactoryArgs specifies the configuration options for a Terraform Remote State stored in the Artifactory backend

type AzureRMArgs

type AzureRMArgs struct {
	// StorageAccountName is the name of the storage account
	StorageAccountName pulumi.StringInput

	// ContainerName is the name of the container within the storage account
	ContainerName pulumi.StringInput

	// Key is the name of the blob in representing the Terraform State file inside the storage container.
	Key pulumi.StringPtrInput

	// Environment is the Azure environment. Possible values are `public` (default), `china`,
	// `german`, `stack` and `usgovernment`. Sourced from `ARM_ENVIRONMENT`, if unset.
	Environment pulumi.StringPtrInput

	// Endpoint is custom endpoint for Azure Resource Manager. Sourced from `ARM_ENDPOINT`, if unset.
	Endpoint pulumi.StringPtrInput

	// UseMSI is whether to authenticate using Managed Service Identity (MSI). Sourced from `ARM_USE_MSI`
	// if unset. Defaults to `false` if no value is specified.
	UseMSI pulumi.BoolPtrInput

	// SubscriptionID is 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
	SubscriptionID pulumi.StringPtrInput

	// TenantID is 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.
	TenantID pulumi.StringPtrInput

	// MSIEndpoint is 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.
	MSIEndpoint pulumi.StringPtrInput

	// SasToken is 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.
	SasToken pulumi.StringPtrInput

	// AccessKey is 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.
	AccessKey pulumi.StringPtrInput

	// ResourceGroupName is the name of the resource group in which the storage account exists. Used when
	// authenticating using a service principal.
	ResourceGroupName pulumi.StringPtrInput

	// ClientID is client ID of the service principal. Used when authenticating using a service principal.
	// Sourced from `ARM_CLIENT_ID` in the environment, if unset.
	ClientID pulumi.StringPtrInput

	// ClientSecret is client secret of the service principal. Used when authenticating using a service principal.
	// Sourced from `ARM_CLIENT_SECRET` in the environment, if unset.
	ClientSecret pulumi.StringPtrInput

	// Workspace os the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

AzureRMArgs specifies the configuration options for a Terraform Remote State stored in the AzureRM backend

type ConsulArgs

type ConsulArgs struct {
	// Path is the path in the Consul KV store
	Path pulumi.StringInput

	// AccessToken is the Consul Access Token. Sourced from `CONSUL_HTTP_TOKEN` in the environment, if unset.
	AccessToken pulumi.StringInput

	// Address is the DNS name and port of the Consul HTTP endpoint specified in the format `dnsname:port`. Defaults
	// to the local agent HTTP listener.
	Address pulumi.StringPtrInput

	// Scheme 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`.
	Schema pulumi.StringPtrInput

	// Datacenter is the datacenter to use. Defaults to that of the agent.
	Datacenter pulumi.StringPtrInput

	// HttpAuth is the 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.
	HttpAuth pulumi.StringPtrInput

	// Gzip is 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.
	Gzip pulumi.BoolPtrInput

	// CAFile is the path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
	// Sourced from `CONSUL_CAFILE` in the environment, if unset.
	CAFile pulumi.StringPtrInput

	// CertFile is the 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.
	CertFile pulumi.StringPtrInput

	// KeyFile is the path to a PEM-encoded private key, required if cert_file is specified. Sourced from
	// `CONSUL_CLIENT_KEY` in the environment, if unset.
	KeyFile pulumi.StringPtrInput

	// Workspace os the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

ConsulArgs specifies the configuration options for a Terraform Remote State stored in the Consul backend

type EtcdV2StateArgs

type EtcdV2StateArgs struct {
	// Path at which to store the state.
	Path pulumi.StringInput

	// Endpoints is a space-separated list of the etcd endpoints.
	Endpoints pulumi.StringInput

	// Username is the username with which to authenticate to etcd.
	Username pulumi.StringPtrInput

	// Password is the password with which to authenticate to etcd.
	Password pulumi.StringPtrInput

	// Workspace is the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

EtcdV2StateArgs specifies the configuration options for a Terraform Remote State stored in the etcd v2 backend. Please not there is a separate func for the Etcd v2 backend

type EtcdV3StateArgs

type EtcdV3StateArgs struct {
	// Path at which to store the state.
	Path pulumi.StringInput

	// Endpoints is a list of the etcd endpoints.
	Endpoints pulumi.StringArrayInput

	// Username is the username with which to authenticate to etcd. Sourced from `ETCDV3_USERNAME` env var if unset.
	Username pulumi.StringPtrInput

	// Password is the password with which to authenticate to etcd. Sourced from `ETCDV3_PASSWORD` env var if unset.
	Password pulumi.StringPtrInput

	// Prefix is an optional prefix to be added to keys when storing state in etcd.
	Prefix pulumi.StringPtrInput

	// CACertPath is the path to a PEM-encoded certificate authority bundle with which to verify certificates
	// of TLS-enabled etcd servers.
	CACertPath pulumi.StringPtrInput

	// CertPath is the path to a PEM-encoded certificate to provide to etcd for client authentication.
	CertPath pulumi.StringPtrInput

	// KeyPath is the path to a PEM-encoded key to use for client authentication.
	KeyPath pulumi.StringPtrInput

	// Workspace is the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

EtcdV3StateArgs specifies the configuration options for a Terraform Remote State stored in the etcd v3 backend. Please not there is a separate func for the Etcd v3 backend

type GcsStateArgs

type GcsStateArgs struct {
	// Bucket is the name of the Google Cloud Storage bucket.
	Bucket pulumi.StringInput

	// Credentials is the 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.
	Credentials pulumi.StringPtrInput

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

	// EncryptionKey is a 32 byte, base64-encoded customer supplied encryption key used to encrypt the
	// state. Sourced from `GOOGLE_ENCRYPTION_KEY` in the environment, if unset.
	EncryptionKey pulumi.StringPtrInput

	// Workspace is the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

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

type HttpStateArgs

type HttpStateArgs struct {
	// Address is the address of the HTTP endpoint.
	Address pulumi.StringInput

	// UpdateMethod is the HTTP method to use when updating state. Defaults to `POST`.
	UpdateMethod pulumi.StringPtrInput

	// LockAddress is the address of the lock REST endpoint. Not setting a value disables locking.
	LockAddress pulumi.StringPtrInput

	// LockMethod is the HTTP method to use when locking. Defaults to `LOCK`.
	LockMethod pulumi.StringPtrInput

	// UnlockAddress is the address of the unlock REST endpoint. Not setting a value disables locking.
	UnlockAddress pulumi.StringPtrInput

	// LockMethod is the HTTP method to use when unlocking. Defaults to `LOCK`.
	UnlockMethod pulumi.StringPtrInput

	// Username is the username used for HTTP basic authentication.
	Username pulumi.StringPtrInput

	// Password is the password used for HTTP basic authentication.
	Password pulumi.StringPtrInput

	// SkipCertVerification is whether to skip TLS verification. Defaults to `false`.
	SkipCertVerification pulumi.BoolPtrInput

	// Workspace is the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

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

type LocalStateArgs

type LocalStateArgs struct {
	// Path to the Terraform state file
	Path pulumi.StringInput
}

LocalStateArgs specifies the configuration options for a Terraform Remote State stored in the local enhanced backend

type MantaStateArgs

type MantaStateArgs struct {
	// Account is the name of the Manta account. Sourced from `SDC_ACCOUNT` or `_ACCOUNT` in the environment, if unset.
	Account pulumi.StringInput

	// User is the username of the Manta account with which to authenticate.
	User pulumi.StringPtrInput

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

	// KeyMaterial is 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.
	KeyMaterial pulumi.StringPtrInput

	// KeyID is the fingerprint of the public key matching the key material specified in
	// keyMaterial, or in the local SSH agent.
	KeyID pulumi.StringInput

	// Path is the path relative to your private storage directory (`/$MANTA_USER/stor`)
	// where the state file will be stored.
	Path pulumi.StringInput

	// InsecureSkipTlsVerify is whether to 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.
	InsecureSkipTlsVerify pulumi.BoolInput

	// Workspace is the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

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

type OssArgs

type OssArgs struct {
	// Bucket is the name of the OSS bucket.
	Bucket pulumi.StringInput

	// AccessKey is the Alibaba Cloud access key. It supports environment variables `ALICLOUD_ACCESS_KEY` and
	// `ALICLOUD_ACCESS_KEY_ID`
	AccessKey pulumi.StringPtrInput

	// SecurityKey is the Alibaba Cloud secret access key. It supports environment variables `ALICLOUD_SECRET_KEY`
	// and `ALICLOUD_ACCESS_KEY_SECRET`.
	SecretKey pulumi.StringPtrInput

	// SecurityToken is the STS access token. It supports environment variable `ALICLOUD_SECURITY_TOKEN`.
	SecurityToken pulumi.StringPtrInput

	// EcsRoleName is the RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the
	// 'Access Control' section of the Alibaba Cloud console.
	EcsRoleName pulumi.StringPtrInput

	// Region is the region of the OSS bucket. It supports environment variables `ALICLOUD_REGION` and
	//`ALICLOUD_DEFAULT_REGION`.
	Region pulumi.StringPtrInput

	// Endpoint is a custom endpoint for the OSS API. It supports environment variables `ALICLOUD_OSS_ENDPOINT`
	// and `OSS_ENDPOINT`.
	Endpoint pulumi.StringPtrInput

	// Prefix is the path directory of the state file will be stored. Default to `env:`.
	Prefix pulumi.StringPtrInput

	// Key is the name of the state file. Defaults to `terraform.tfstate`.
	Key pulumi.StringPtrInput

	// Profile is the Alibaba Cloud profile name as set in the shared credentials file. It can also be sourced from
	// the `ALICLOUD_PROFILE` environment variable.
	Profile pulumi.StringPtrInput

	// SharedCredentialsFile is the path to the shared credentials file. It can also be sourced from the
	// `ALICLOUD_SHARED_CREDENTIALS_FILE` environment variable. If this is not set and a profile is
	// specified, `~/.aliyun/config.json` will be used.
	SharedCredentialsFile pulumi.StringPtrInput

	// RoleArn is the ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching.
	RoleArn pulumi.StringPtrInput

	// Policy is a more restrictive policy to apply to the temporary credentials. This gives you a way to further
	// restrict the permissions for the resulting temporary security credentials. You cannot use this policy to grant
	// permissions which exceed those of the role that is being assumed.
	Policy pulumi.StringPtrInput

	// SessionName is the session name to use when assuming the role. It supports environment variable
	// `ALICLOUD_ASSUME_ROLE_SESSION_NAME`
	SessonName pulumi.StringPtrInput

	// SessionExpiration is the time after which the established session for assuming role expires. Valid value range:
	// [900-3600] seconds. Default to `3600`. It supports environment variable `ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION`
	SessionExpiration pulumi.StringPtrInput
}

OssArgs specifies the configuration options for a Terraform Remote State stored in the Oss backend

type PostgresStateArgs

type PostgresStateArgs struct {
	// Bucket is the Postgres connection string; a `postgres://` URL.
	ConnStr pulumi.StringInput

	// SchemaName is the name of the automatically-managed Postgres schema. Defaults to `terraform_remote_state`.
	SchemaName pulumi.StringPtrInput

	// Workspace is the Terraform workspace from which to read state.
	Workspace pulumi.StringPtrInput
}

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

type RemoteBackendStateArgs

type RemoteBackendStateArgs struct {
	// Organization is the name of the organization containing the targeted workspace(s).
	Organization pulumi.StringInput

	// Hostname is the remote backend hostname to which to connect. Defaults to `app.terraform.io`.
	Hostname pulumi.StringPtrInput

	// Token is the token used to authenticate with the remote backend.
	Token pulumi.StringPtrInput

	// Workspace is a struct specifying which remote workspace(s) to use.
	Workspaces WorkspaceStateArgs
}

RemoteBackendStateArgs specifies the configuration options for a Terraform Remote State stored in the remote backend.

type RemoteStateReference

type RemoteStateReference struct {
	pulumi.CustomResourceState

	// Outputs is a map of the outputs from the Terraform state file
	Outputs pulumi.MapOutput `pulumi:"outputs"`
}

RemoteStateReference is a resource which allows reading the output from local or remote Terraform state files

func NewRemoteStateReference

func NewRemoteStateReference(ctx *pulumi.Context, name string, args RemoteStateReferenceArgs,
	opts ...pulumi.ResourceOption) (*RemoteStateReference, error)

NewRemoteStateReference manages a reference to a Terraform Remote State. The root outputs of the remote state are available via the `Outputs` property

type RemoteStateReferenceArgs

type RemoteStateReferenceArgs interface {
	// contains filtered or unexported methods
}

RemoteStateReferenceArgs is an interface implemented by all valid backend type Arg structs

type S3Args

type S3Args struct {
	// Bucket is the name of the S3 Bucket
	Bucket pulumi.StringInput

	// Key is the path to the statefile inside the bucket When using a non-default
	// workspace, the statepath will be `/workspace_key_prefix/workspace_name/key`.
	Key pulumi.StringInput

	// Regions of the S3 bucket. Sourced from `AWS_DEFAULT_REGION` environment var if unset.
	Region pulumi.StringPtrInput

	// Endpoint is a custom endpoint for the S3 API.
	// Sourced from `AWS_S3_ENDPOINT` environment var if unset.
	Endpoint pulumi.StringPtrInput

	// AccessKey is AWS Access Key ID. Sourced from the standard credentials pipeline if unset.
	AccessKey pulumi.StringPtrInput

	// SecretKey is AWS Secret Access Key. Sourced from the standard credentials pipeline if unset.
	SecretKey pulumi.StringPtrInput

	// Profile is AWS Profile name as set in the shared credentials file.
	Profile pulumi.StringPtrInput

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

	// Token is a MFA token. Sourced from `AWS_SESSION_TOKEN` environment var if unset.
	Token pulumi.StringPtrInput

	// RoleArn is an IAM Role ARN to be assumed in order to read the state from S3.
	RoleArn pulumi.StringPtrInput

	// ExternalID is the external ID to use when assuming the IAM Role
	ExternalID pulumi.StringPtrInput

	// SessionName is the session name to use when assuming the IAM Role
	SessonName pulumi.StringPtrInput

	// WorkspaceKeyPrefix is the prefix applied to the state path inside the bucket. This is only
	// relevant when using a non-default workspace and defaults to `env:`.
	WorkspaceKeyPrefix pulumi.StringPtrInput

	// IAMEndpoint is a custom endpoint for the IAM API. Sources from `AWS_IAM_ENDPOINT` if unset.
	IAMEndpoint pulumi.StringPtrInput

	// STSEndpoint is a custom endpoint for the STS API. Sources from `AWS_STS_ENDPOINT` if unset.
	STSEndpoint pulumi.StringPtrInput

	// SkipRegionValidation skips static validation of region name.
	SkipRegionValidation pulumi.BoolPtrInput

	// SkipCredentialsValidation skips the credentials validation via STS API.
	SkipCredentialsValidation pulumi.BoolPtrInput

	// SkipMetadataApiCheck skips the AWS Metadata API check.
	SkipMetadataApiCheck pulumi.BoolPtrInput

	// ForcePathStyle forces s3 to use path style api.
	ForcePathStyle pulumi.BoolPtrInput

	// Workspace is the Terraform workspace from which to read state
	Workspace pulumi.StringPtrInput
}

S3Args specifies the configuration options for a Terraform Remote State stored in the S3 backend

type SwiftStateArgs

type SwiftStateArgs struct {
	// AuthUrl is the Identity authentication URL. Sourced from `OS_AUTH_URL` in the environment, if unset.
	AuthUrl pulumi.StringInput

	// Container is the name of the container in which the Terraform state file is stored.
	Container pulumi.StringInput

	// UserName is the username with which to log in. Sourced from `OS_USERNAME` in the environment, if unset
	UserName pulumi.StringPtrInput

	// UserID is the user ID with which to log in. Sourced from `OS_USER_ID` in the environment, if unset
	UserID pulumi.StringPtrInput

	// Password is the password with which to log in. Sourced from `OS_PASSWORD` in the environment, if unset
	Password pulumi.StringPtrInput

	// Token is the access token with which to log in in stead of a username and password. Sourced from
	// `OS_AUTH_TOKEN` in the environment, if unset.
	Token pulumi.StringPtrInput

	// RegionName is the region in which the state file is stored. Sourced from `OS_REGION_NAME`, if unset
	RegionName pulumi.StringInput

	// TenantID is 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.
	TenantID pulumi.StringPtrInput

	// TenantName is 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.
	TenantName pulumi.StringPtrInput

	// DomainName is 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.
	DomainName pulumi.StringPtrInput

	// DomainID is 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.
	DomainID pulumi.StringPtrInput

	// Insecure is whether to disable verification of the server TLS certificate. Sourced from
	// `OS_INSECURE` in the environment, if unset.
	Insecure pulumi.BoolPtrInput

	// CACertFile is the path to a CA root certificate for verifying the server TLS certificate. Sourced from
	// `OS_CACERT` in the environment, if unset.
	CACertFile pulumi.StringPtrInput

	// Cert is the path to a client certificate for TLS client authentication. Sourced from `OS_CERT`
	// in the environment, if unset.
	Cert pulumi.StringPtrInput

	// Key is the path to the private key corresponding to the client certificate for TLS client
	// authentication. Sourced from `OS_KEY` in the environment, if unset.
	Key pulumi.StringPtrInput
}

SwiftStateArgs specifies the configuration options for a Terraform Remote State stored in the swift backend.

type WorkspaceStateArgs

type WorkspaceStateArgs struct {
	// Name is the full name of one remote workspace. When configured, only the default workspace
	// can be used. This option conflicts with prefix.
	Name pulumi.StringPtrInput

	// Prefix is the 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
	Prefix pulumi.StringPtrInput
}

WorkspaceStateArgs specifies the configuration options for a workspace for use with the remote enhanced backend.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL