cdktf

package module
v0.16.0-pre.90 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2023 License: MPL-2.0 Imports: 6 Imported by: 85,675

README

// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0

cdktf

cdktf is a framework for defining cloud infrastructure using Terraform providers and modules. It allows for users to define infrastructure resources using higher-level programming languages.

Build

Install dependencies

yarn install

Build the package

yarn build

Learn More

Documentation

Overview

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Cloud Development Kit for Terraform

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func App_IsApp added in v0.9.0

func App_IsApp(x interface{}) *bool

Experimental.

func App_IsConstruct added in v0.6.0

func App_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func ArtifactoryBackend_IsBackend deprecated added in v0.9.0

func ArtifactoryBackend_IsBackend(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func ArtifactoryBackend_IsConstruct added in v0.6.0

func ArtifactoryBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func ArtifactoryBackend_IsTerraformElement deprecated added in v0.14.0

func ArtifactoryBackend_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func AzurermBackend_IsBackend added in v0.9.0

func AzurermBackend_IsBackend(x interface{}) *bool

Experimental.

func AzurermBackend_IsConstruct added in v0.6.0

func AzurermBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func AzurermBackend_IsTerraformElement added in v0.14.0

func AzurermBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func CloudBackend_IsBackend added in v0.12.2

func CloudBackend_IsBackend(x interface{}) *bool

Experimental.

func CloudBackend_IsConstruct added in v0.12.2

func CloudBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func CloudBackend_IsTerraformElement added in v0.14.0

func CloudBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func ConsulBackend_IsBackend added in v0.9.0

func ConsulBackend_IsBackend(x interface{}) *bool

Experimental.

func ConsulBackend_IsConstruct added in v0.6.0

func ConsulBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func ConsulBackend_IsTerraformElement added in v0.14.0

func ConsulBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func CosBackend_IsBackend added in v0.9.0

func CosBackend_IsBackend(x interface{}) *bool

Experimental.

func CosBackend_IsConstruct added in v0.6.0

func CosBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func CosBackend_IsTerraformElement added in v0.14.0

func CosBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateArtifactory_IsConstruct added in v0.6.0

func DataTerraformRemoteStateArtifactory_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateArtifactory_IsTerraformElement deprecated added in v0.14.0

func DataTerraformRemoteStateArtifactory_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateArtifactory_TfResourceType added in v0.9.0

func DataTerraformRemoteStateArtifactory_TfResourceType() *string

func DataTerraformRemoteStateAzurerm_IsConstruct added in v0.6.0

func DataTerraformRemoteStateAzurerm_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateAzurerm_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateAzurerm_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateAzurerm_TfResourceType added in v0.9.0

func DataTerraformRemoteStateAzurerm_TfResourceType() *string

func DataTerraformRemoteStateConsul_IsConstruct added in v0.6.0

func DataTerraformRemoteStateConsul_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateConsul_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateConsul_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateConsul_TfResourceType added in v0.9.0

func DataTerraformRemoteStateConsul_TfResourceType() *string

func DataTerraformRemoteStateCos_IsConstruct added in v0.6.0

func DataTerraformRemoteStateCos_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateCos_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateCos_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateCos_TfResourceType added in v0.9.0

func DataTerraformRemoteStateCos_TfResourceType() *string

func DataTerraformRemoteStateEtcdV3_IsConstruct added in v0.6.0

func DataTerraformRemoteStateEtcdV3_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateEtcdV3_IsTerraformElement deprecated added in v0.14.0

func DataTerraformRemoteStateEtcdV3_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateEtcdV3_TfResourceType added in v0.9.0

func DataTerraformRemoteStateEtcdV3_TfResourceType() *string

func DataTerraformRemoteStateEtcd_IsConstruct added in v0.6.0

func DataTerraformRemoteStateEtcd_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateEtcd_IsTerraformElement deprecated added in v0.14.0

func DataTerraformRemoteStateEtcd_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateEtcd_TfResourceType added in v0.9.0

func DataTerraformRemoteStateEtcd_TfResourceType() *string

func DataTerraformRemoteStateGcs_IsConstruct added in v0.6.0

func DataTerraformRemoteStateGcs_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateGcs_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateGcs_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateGcs_TfResourceType added in v0.9.0

func DataTerraformRemoteStateGcs_TfResourceType() *string

func DataTerraformRemoteStateHttp_IsConstruct added in v0.6.0

func DataTerraformRemoteStateHttp_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateHttp_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateHttp_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateHttp_TfResourceType added in v0.9.0

func DataTerraformRemoteStateHttp_TfResourceType() *string

func DataTerraformRemoteStateLocal_IsConstruct added in v0.6.0

func DataTerraformRemoteStateLocal_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateLocal_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateLocal_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateLocal_TfResourceType added in v0.9.0

func DataTerraformRemoteStateLocal_TfResourceType() *string

func DataTerraformRemoteStateManta_IsConstruct added in v0.6.0

func DataTerraformRemoteStateManta_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateManta_IsTerraformElement deprecated added in v0.14.0

func DataTerraformRemoteStateManta_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateManta_TfResourceType added in v0.9.0

func DataTerraformRemoteStateManta_TfResourceType() *string

func DataTerraformRemoteStateOss_IsConstruct added in v0.6.0

func DataTerraformRemoteStateOss_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateOss_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateOss_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateOss_TfResourceType added in v0.9.0

func DataTerraformRemoteStateOss_TfResourceType() *string

func DataTerraformRemoteStatePg_IsConstruct added in v0.6.0

func DataTerraformRemoteStatePg_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStatePg_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStatePg_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStatePg_TfResourceType added in v0.9.0

func DataTerraformRemoteStatePg_TfResourceType() *string

func DataTerraformRemoteStateS3_IsConstruct added in v0.6.0

func DataTerraformRemoteStateS3_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteStateS3_IsTerraformElement added in v0.14.0

func DataTerraformRemoteStateS3_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteStateS3_TfResourceType added in v0.9.0

func DataTerraformRemoteStateS3_TfResourceType() *string

func DataTerraformRemoteStateSwift_IsConstruct added in v0.6.0

func DataTerraformRemoteStateSwift_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateSwift_IsTerraformElement deprecated added in v0.14.0

func DataTerraformRemoteStateSwift_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func DataTerraformRemoteStateSwift_TfResourceType added in v0.9.0

func DataTerraformRemoteStateSwift_TfResourceType() *string

func DataTerraformRemoteState_IsConstruct added in v0.6.0

func DataTerraformRemoteState_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func DataTerraformRemoteState_IsTerraformElement added in v0.14.0

func DataTerraformRemoteState_IsTerraformElement(x interface{}) *bool

Experimental.

func DataTerraformRemoteState_TfResourceType added in v0.9.0

func DataTerraformRemoteState_TfResourceType() *string

func EtcdBackend_IsBackend deprecated added in v0.9.0

func EtcdBackend_IsBackend(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func EtcdBackend_IsConstruct added in v0.6.0

func EtcdBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func EtcdBackend_IsTerraformElement deprecated added in v0.14.0

func EtcdBackend_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func EtcdV3Backend_IsBackend deprecated added in v0.9.0

func EtcdV3Backend_IsBackend(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func EtcdV3Backend_IsConstruct added in v0.6.0

func EtcdV3Backend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func EtcdV3Backend_IsTerraformElement deprecated added in v0.14.0

func EtcdV3Backend_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func FnGenerated_Abs added in v0.16.0

func FnGenerated_Abs(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/abs abs} returns the absolute value of the given number. In other words, if the number is zero or positive then it is returned as-is, but if it is negative then it is multiplied by -1 to make it positive before returning it. Experimental.

func FnGenerated_Abspath added in v0.16.0

func FnGenerated_Abspath(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/abspath abspath} takes a string containing a filesystem path and converts it to an absolute path. That is, if the path is not absolute, it will be joined with the current working directory. Experimental.

func FnGenerated_Base64decode added in v0.16.0

func FnGenerated_Base64decode(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64decode base64decode} takes a string containing a Base64 character sequence and returns the original string. Experimental.

func FnGenerated_Base64encode added in v0.16.0

func FnGenerated_Base64encode(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64encode base64encode} applies Base64 encoding to a string. Experimental.

func FnGenerated_Base64gzip added in v0.16.0

func FnGenerated_Base64gzip(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64gzip base64gzip} compresses a string with gzip and then encodes the result in Base64 encoding. Experimental.

func FnGenerated_Base64sha256 added in v0.16.0

func FnGenerated_Base64sha256(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64sha256 base64sha256} computes the SHA256 hash of a given string and encodes it with Base64. This is not equivalent to `base64encode(sha256("test"))` since `sha256()` returns hexadecimal representation. Experimental.

func FnGenerated_Base64sha512 added in v0.16.0

func FnGenerated_Base64sha512(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64sha512 base64sha512} computes the SHA512 hash of a given string and encodes it with Base64. This is not equivalent to `base64encode(sha512("test"))` since `sha512()` returns hexadecimal representation. Experimental.

func FnGenerated_Basename added in v0.16.0

func FnGenerated_Basename(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/basename basename} takes a string containing a filesystem path and removes all except the last portion from it. Experimental.

func FnGenerated_Ceil added in v0.16.0

func FnGenerated_Ceil(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/ceil ceil} returns the closest whole number that is greater than or equal to the given value, which may be a fraction. Experimental.

func FnGenerated_Chomp added in v0.16.0

func FnGenerated_Chomp(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/chomp chomp} removes newline characters at the end of a string. Experimental.

func FnGenerated_Chunklist added in v0.16.0

func FnGenerated_Chunklist(list *[]interface{}, size *float64) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/chunklist chunklist} splits a single list into fixed-size chunks, returning a list of lists. Experimental.

func FnGenerated_Cidrhost added in v0.16.0

func FnGenerated_Cidrhost(prefix *string, hostnum *float64) *string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrhost cidrhost} calculates a full host IP address for a given host number within a given IP network address prefix. Experimental.

func FnGenerated_Cidrnetmask added in v0.16.0

func FnGenerated_Cidrnetmask(prefix *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrnetmask cidrnetmask} converts an IPv4 address prefix given in CIDR notation into a subnet mask address. Experimental.

func FnGenerated_Cidrsubnet added in v0.16.0

func FnGenerated_Cidrsubnet(prefix *string, newbits *float64, netnum *float64) *string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrsubnet cidrsubnet} calculates a subnet address within given IP network address prefix. Experimental.

func FnGenerated_Cidrsubnets added in v0.16.0

func FnGenerated_Cidrsubnets(prefix *string, newbits *[]*float64) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrsubnets cidrsubnets} calculates a sequence of consecutive IP address ranges within a particular CIDR prefix. Experimental.

func FnGenerated_Coalesce added in v0.16.0

func FnGenerated_Coalesce(vals *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/coalesce coalesce} takes any number of arguments and returns the first one that isn't null or an empty string. Experimental.

func FnGenerated_Coalescelist added in v0.16.0

func FnGenerated_Coalescelist(vals *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/coalescelist coalescelist} takes any number of list arguments and returns the first one that isn't empty. Experimental.

func FnGenerated_Compact added in v0.16.0

func FnGenerated_Compact(list *[]*string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/compact compact} takes a list of strings and returns a new list with any empty string elements removed. Experimental.

func FnGenerated_Concat added in v0.16.0

func FnGenerated_Concat(seqs *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/concat concat} takes two or more lists and combines them into a single list. Experimental.

func FnGenerated_Contains added in v0.16.0

func FnGenerated_Contains(list interface{}, value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/contains contains} determines whether a given list or set contains a given single value as one of its elements. Experimental.

func FnGenerated_Csvdecode added in v0.16.0

func FnGenerated_Csvdecode(str *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/csvdecode csvdecode} decodes a string containing CSV-formatted data and produces a list of maps representing that data. Experimental.

func FnGenerated_Dirname added in v0.16.0

func FnGenerated_Dirname(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/dirname dirname} takes a string containing a filesystem path and removes the last portion from it. Experimental.

func FnGenerated_Distinct added in v0.16.0

func FnGenerated_Distinct(list *[]interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/distinct distinct} takes a list and returns a new list with any duplicate elements removed. Experimental.

func FnGenerated_Element added in v0.16.0

func FnGenerated_Element(list interface{}, index *float64) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/element element} retrieves a single element from a list. Experimental.

func FnGenerated_File added in v0.16.0

func FnGenerated_File(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/file file} reads the contents of a file at the given path and returns them as a string. Experimental.

func FnGenerated_Filebase64 added in v0.16.0

func FnGenerated_Filebase64(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filebase64 filebase64} reads the contents of a file at the given path and returns them as a base64-encoded string. Experimental.

func FnGenerated_Filebase64sha256 added in v0.16.0

func FnGenerated_Filebase64sha256(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filebase64sha256 filebase64sha256} is a variant of `base64sha256` that hashes the contents of a given file rather than a literal string. Experimental.

func FnGenerated_Filebase64sha512 added in v0.16.0

func FnGenerated_Filebase64sha512(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filebase64sha512 filebase64sha512} is a variant of `base64sha512` that hashes the contents of a given file rather than a literal string. Experimental.

func FnGenerated_Filemd5 added in v0.16.0

func FnGenerated_Filemd5(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filemd5 filemd5} is a variant of `md5` that hashes the contents of a given file rather than a literal string. Experimental.

func FnGenerated_Fileset added in v0.16.0

func FnGenerated_Fileset(path *string, pattern *string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/fileset fileset} enumerates a set of regular file names given a path and pattern. The path is automatically removed from the resulting set of file names and any result still containing path separators always returns forward slash (`/`) as the path separator for cross-system compatibility. Experimental.

func FnGenerated_Filesha1 added in v0.16.0

func FnGenerated_Filesha1(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filesha1 filesha1} is a variant of `sha1` that hashes the contents of a given file rather than a literal string. Experimental.

func FnGenerated_Filesha256 added in v0.16.0

func FnGenerated_Filesha256(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filesha256 filesha256} is a variant of `sha256` that hashes the contents of a given file rather than a literal string. Experimental.

func FnGenerated_Filesha512 added in v0.16.0

func FnGenerated_Filesha512(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filesha512 filesha512} is a variant of `sha512` that hashes the contents of a given file rather than a literal string. Experimental.

func FnGenerated_Flatten added in v0.16.0

func FnGenerated_Flatten(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/flatten flatten} takes a list and replaces any elements that are lists with a flattened sequence of the list contents. Experimental.

func FnGenerated_Floor added in v0.16.0

func FnGenerated_Floor(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/floor floor} returns the closest whole number that is less than or equal to the given value, which may be a fraction. Experimental.

func FnGenerated_Format added in v0.16.0

func FnGenerated_Format(format *string, args *[]interface{}) interface{}

The {@link https://developer.hashicorp.com/terraform/language/functions/format format} function produces a string by formatting a number of other values according to a specification string. It is similar to the `printf` function in C, and other similar functions in other programming languages. Experimental.

func FnGenerated_Formatdate added in v0.16.0

func FnGenerated_Formatdate(format *string, time *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/formatdate formatdate} converts a timestamp into a different time format. Experimental.

func FnGenerated_Formatlist added in v0.16.0

func FnGenerated_Formatlist(format *string, args *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/formatlist formatlist} produces a list of strings by formatting a number of other values according to a specification string. Experimental.

func FnGenerated_Indent added in v0.16.0

func FnGenerated_Indent(spaces *float64, str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/indent indent} adds a given number of spaces to the beginnings of all but the first line in a given multi-line string. Experimental.

func FnGenerated_Index added in v0.16.0

func FnGenerated_Index(list interface{}, value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/index index} finds the element index for a given value in a list. Experimental.

func FnGenerated_Jsondecode added in v0.16.0

func FnGenerated_Jsondecode(str *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/jsondecode jsondecode} interprets a given string as JSON, returning a representation of the result of decoding that string. Experimental.

func FnGenerated_Jsonencode added in v0.16.0

func FnGenerated_Jsonencode(val interface{}) *string

{@link https://developer.hashicorp.com/terraform/language/functions/jsonencode jsonencode} encodes a given value to a string using JSON syntax. Experimental.

func FnGenerated_Keys added in v0.16.0

func FnGenerated_Keys(inputMap interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/keys keys} takes a map and returns a list containing the keys from that map. Experimental.

func FnGenerated_LengthOf added in v0.16.0

func FnGenerated_LengthOf(value interface{}) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/length length} determines the length of a given list, map, or string. Experimental.

func FnGenerated_Log added in v0.16.0

func FnGenerated_Log(num *float64, base *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/log log} returns the logarithm of a given number in a given base. Experimental.

func FnGenerated_Lower added in v0.16.0

func FnGenerated_Lower(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/lower lower} converts all cased letters in the given string to lowercase. Experimental.

func FnGenerated_Matchkeys added in v0.16.0

func FnGenerated_Matchkeys(values *[]interface{}, keys *[]interface{}, searchset *[]interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/matchkeys matchkeys} constructs a new list by taking a subset of elements from one list whose indexes match the corresponding indexes of values in another list. Experimental.

func FnGenerated_Max added in v0.16.0

func FnGenerated_Max(numbers *[]*float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/max max} takes one or more numbers and returns the greatest number from the set. Experimental.

func FnGenerated_Md5 added in v0.16.0

func FnGenerated_Md5(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/md5 md5} computes the MD5 hash of a given string and encodes it with hexadecimal digits. Experimental.

func FnGenerated_Merge added in v0.16.0

func FnGenerated_Merge(maps *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/merge merge} takes an arbitrary number of maps or objects, and returns a single map or object that contains a merged set of elements from all arguments. Experimental.

func FnGenerated_Min added in v0.16.0

func FnGenerated_Min(numbers *[]*float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/min min} takes one or more numbers and returns the smallest number from the set. Experimental.

func FnGenerated_Nonsensitive added in v0.16.0

func FnGenerated_Nonsensitive(value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/nonsensitive nonsensitive} takes a sensitive value and returns a copy of that value with the sensitive marking removed, thereby exposing the sensitive value. Experimental.

func FnGenerated_One added in v0.16.0

func FnGenerated_One(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/one one} takes a list, set, or tuple value with either zero or one elements. If the collection is empty, `one` returns `null`. Otherwise, `one` returns the first element. If there are two or more elements then `one` will return an error. Experimental.

func FnGenerated_Parseint added in v0.16.0

func FnGenerated_Parseint(number interface{}, base *float64) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/parseint parseint} parses the given string as a representation of an integer in the specified base and returns the resulting number. The base must be between 2 and 62 inclusive. Experimental.

func FnGenerated_Pathexpand added in v0.16.0

func FnGenerated_Pathexpand(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/pathexpand pathexpand} takes a filesystem path that might begin with a `~` segment, and if so it replaces that segment with the current user's home directory path. Experimental.

func FnGenerated_Pow added in v0.16.0

func FnGenerated_Pow(num *float64, power *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/pow pow} calculates an exponent, by raising its first argument to the power of the second argument. Experimental.

func FnGenerated_Regex added in v0.16.0

func FnGenerated_Regex(pattern *string, str *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/regex regex} applies a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) to a string and returns the matching substrings. Experimental.

func FnGenerated_Regexall added in v0.16.0

func FnGenerated_Regexall(pattern *string, str *string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/regexall regexall} applies a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) to a string and returns a list of all matches. Experimental.

func FnGenerated_Replace added in v0.16.0

func FnGenerated_Replace(str *string, substr *string, replace *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/replace replace} searches a given string for another given substring, and replaces each occurrence with a given replacement string. Experimental.

func FnGenerated_Reverse added in v0.16.0

func FnGenerated_Reverse(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/reverse reverse} takes a sequence and produces a new sequence of the same length with all of the same elements as the given sequence but in reverse order. Experimental.

func FnGenerated_Rsadecrypt added in v0.16.0

func FnGenerated_Rsadecrypt(ciphertext *string, privatekey *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/rsadecrypt rsadecrypt} decrypts an RSA-encrypted ciphertext, returning the corresponding cleartext. Experimental.

func FnGenerated_Sensitive added in v0.16.0

func FnGenerated_Sensitive(value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/sensitive sensitive} takes any value and returns a copy of it marked so that Terraform will treat it as sensitive, with the same meaning and behavior as for [sensitive input variables](/language/values/variables#suppressing-values-in-cli-output). Experimental.

func FnGenerated_Setintersection added in v0.16.0

func FnGenerated_Setintersection(first_set *[]interface{}, other_sets *[]*[]interface{}) *[]*string

The {@link https://developer.hashicorp.com/terraform/language/functions/setintersection setintersection} function takes multiple sets and produces a single set containing only the elements that all of the given sets have in common. In other words, it computes the [intersection](https://en.wikipedia.org/wiki/Intersection_\(set_theory\)) of the sets. Experimental.

func FnGenerated_Setproduct added in v0.16.0

func FnGenerated_Setproduct(sets *[]interface{}) interface{}

The {@link https://developer.hashicorp.com/terraform/language/functions/setproduct setproduct} function finds all of the possible combinations of elements from all of the given sets by computing the [Cartesian product](https://en.wikipedia.org/wiki/Cartesian_product). Experimental.

func FnGenerated_Setsubtract added in v0.16.0

func FnGenerated_Setsubtract(a *[]interface{}, b *[]interface{}) *[]*string

The {@link https://developer.hashicorp.com/terraform/language/functions/setsubtract setsubtract} function returns a new set containing the elements from the first set that are not present in the second set. In other words, it computes the [relative complement](https://en.wikipedia.org/wiki/Complement_\(set_theory\)#Relative_complement) of the second set. Experimental.

func FnGenerated_Setunion added in v0.16.0

func FnGenerated_Setunion(first_set *[]interface{}, other_sets *[]*[]interface{}) *[]*string

The {@link https://developer.hashicorp.com/terraform/language/functions/setunion setunion} function takes multiple sets and produces a single set containing the elements from all of the given sets. In other words, it computes the [union](https://en.wikipedia.org/wiki/Union_\(set_theory\)) of the sets. Experimental.

func FnGenerated_Sha1 added in v0.16.0

func FnGenerated_Sha1(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/sha1 sha1} computes the SHA1 hash of a given string and encodes it with hexadecimal digits. Experimental.

func FnGenerated_Sha256 added in v0.16.0

func FnGenerated_Sha256(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/sha256 sha256} computes the SHA256 hash of a given string and encodes it with hexadecimal digits. Experimental.

func FnGenerated_Sha512 added in v0.16.0

func FnGenerated_Sha512(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/sha512 sha512} computes the SHA512 hash of a given string and encodes it with hexadecimal digits. Experimental.

func FnGenerated_Signum added in v0.16.0

func FnGenerated_Signum(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/signum signum} determines the sign of a number, returning a number between -1 and 1 to represent the sign. Experimental.

func FnGenerated_Slice added in v0.16.0

func FnGenerated_Slice(list interface{}, start_index *float64, end_index *float64) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/slice slice} extracts some consecutive elements from within a list. Experimental.

func FnGenerated_Sort added in v0.16.0

func FnGenerated_Sort(list *[]*string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/sort sort} takes a list of strings and returns a new list with those strings sorted lexicographically. Experimental.

func FnGenerated_Split added in v0.16.0

func FnGenerated_Split(separator *string, str *string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/split split} produces a list by dividing a given string at all occurrences of a given separator. Experimental.

func FnGenerated_Strrev added in v0.16.0

func FnGenerated_Strrev(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/strrev strrev} reverses the characters in a string. Note that the characters are treated as _Unicode characters_ (in technical terms, Unicode [grapheme cluster boundaries](https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries) are respected). Experimental.

func FnGenerated_Substr added in v0.16.0

func FnGenerated_Substr(str *string, offset *float64, length *float64) *string

{@link https://developer.hashicorp.com/terraform/language/functions/substr substr} extracts a substring from a given string by offset and (maximum) length. Experimental.

func FnGenerated_Sum added in v0.16.0

func FnGenerated_Sum(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/sum sum} takes a list or set of numbers and returns the sum of those numbers. Experimental.

func FnGenerated_Templatefile added in v0.16.0

func FnGenerated_Templatefile(path *string, vars interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/templatefile templatefile} reads the file at the given path and renders its content as a template using a supplied set of template variables. Experimental.

func FnGenerated_Textdecodebase64 added in v0.16.0

func FnGenerated_Textdecodebase64(source *string, encoding *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/textdecodebase64 textdecodebase64} function decodes a string that was previously Base64-encoded, and then interprets the result as characters in a specified character encoding. Experimental.

func FnGenerated_Textencodebase64 added in v0.16.0

func FnGenerated_Textencodebase64(str *string, encoding *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/textencodebase64 textencodebase64} encodes the unicode characters in a given string using a specified character encoding, returning the result base64 encoded because Terraform language strings are always sequences of unicode characters. Experimental.

func FnGenerated_Timeadd added in v0.16.0

func FnGenerated_Timeadd(timestamp *string, duration *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/timeadd timeadd} adds a duration to a timestamp, returning a new timestamp. Experimental.

func FnGenerated_Timecmp added in v0.16.0

func FnGenerated_Timecmp(timestamp_a *string, timestamp_b *string) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/timecmp timecmp} compares two timestamps and returns a number that represents the ordering of the instants those timestamps represent. Experimental.

func FnGenerated_Timestamp added in v0.16.0

func FnGenerated_Timestamp() *string

{@link https://developer.hashicorp.com/terraform/language/functions/timestamp timestamp} returns a UTC timestamp string in [RFC 3339](https://tools.ietf.org/html/rfc3339) format. Experimental.

func FnGenerated_Title added in v0.16.0

func FnGenerated_Title(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/title title} converts the first letter of each word in the given string to uppercase. Experimental.

func FnGenerated_Tolist added in v0.16.0

func FnGenerated_Tolist(v interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/tolist tolist} converts its argument to a list value. Experimental.

func FnGenerated_Tomap added in v0.16.0

func FnGenerated_Tomap(v interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/tomap tomap} converts its argument to a map value. Experimental.

func FnGenerated_Tonumber added in v0.16.0

func FnGenerated_Tonumber(v interface{}) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/tonumber tonumber} converts its argument to a number value. Experimental.

func FnGenerated_Toset added in v0.16.0

func FnGenerated_Toset(v interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/toset toset} converts its argument to a set value. Experimental.

func FnGenerated_Tostring added in v0.16.0

func FnGenerated_Tostring(v interface{}) *string

{@link https://developer.hashicorp.com/terraform/language/functions/tostring tostring} converts its argument to a string value. Experimental.

func FnGenerated_Transpose added in v0.16.0

func FnGenerated_Transpose(values interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/transpose transpose} takes a map of lists of strings and swaps the keys and values to produce a new map of lists of strings. Experimental.

func FnGenerated_Trim added in v0.16.0

func FnGenerated_Trim(str *string, cutset *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trim trim} removes the specified set of characters from the start and end of the given string. Experimental.

func FnGenerated_Trimprefix added in v0.16.0

func FnGenerated_Trimprefix(str *string, prefix *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trimprefix trimprefix} removes the specified prefix from the start of the given string. If the string does not start with the prefix, the string is returned unchanged. Experimental.

func FnGenerated_Trimspace added in v0.16.0

func FnGenerated_Trimspace(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trimspace trimspace} removes any space characters from the start and end of the given string. Experimental.

func FnGenerated_Trimsuffix added in v0.16.0

func FnGenerated_Trimsuffix(str *string, suffix *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trimsuffix trimsuffix} removes the specified suffix from the end of the given string. Experimental.

func FnGenerated_Try added in v0.16.0

func FnGenerated_Try(expressions *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/try try} evaluates all of its argument expressions in turn and returns the result of the first one that does not produce any errors. Experimental.

func FnGenerated_Upper added in v0.16.0

func FnGenerated_Upper(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/upper upper} converts all cased letters in the given string to uppercase. Experimental.

func FnGenerated_Urlencode added in v0.16.0

func FnGenerated_Urlencode(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/urlencode urlencode} applies URL encoding to a given string. Experimental.

func FnGenerated_Uuid added in v0.16.0

func FnGenerated_Uuid() *string

{@link https://developer.hashicorp.com/terraform/language/functions/uuid uuid} generates a unique identifier string. Experimental.

func FnGenerated_Uuidv5 added in v0.16.0

func FnGenerated_Uuidv5(namespace *string, name *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/uuidv5 uuidv5} generates a _name-based_ UUID, as described in [RFC 4122 section 4.3](https://tools.ietf.org/html/rfc4122#section-4.3), also known as a "version 5" UUID. Experimental.

func FnGenerated_Values added in v0.16.0

func FnGenerated_Values(mapping interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/values values} takes a map and returns a list containing the values of the elements in that map. Experimental.

func FnGenerated_Yamldecode added in v0.16.0

func FnGenerated_Yamldecode(src *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/yamldecode yamldecode} parses a string as a subset of YAML, and produces a representation of its value. Experimental.

func FnGenerated_Yamlencode added in v0.16.0

func FnGenerated_Yamlencode(value interface{}) *string

{@link https://developer.hashicorp.com/terraform/language/functions/yamlencode yamlencode} encodes a given value to a string using [YAML 1.2](https://yaml.org/spec/1.2/spec.html) block syntax. Experimental.

func FnGenerated_Zipmap added in v0.16.0

func FnGenerated_Zipmap(keys *[]*string, values interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/zipmap zipmap} constructs a map from a list of keys and a corresponding list of values. Experimental.

func Fn_Abs added in v0.6.0

func Fn_Abs(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/abs abs} returns the absolute value of the given number. In other words, if the number is zero or positive then it is returned as-is, but if it is negative then it is multiplied by -1 to make it positive before returning it. Experimental.

func Fn_Abspath added in v0.6.0

func Fn_Abspath(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/abspath abspath} takes a string containing a filesystem path and converts it to an absolute path. That is, if the path is not absolute, it will be joined with the current working directory. Experimental.

func Fn_Base64decode added in v0.6.0

func Fn_Base64decode(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64decode base64decode} takes a string containing a Base64 character sequence and returns the original string. Experimental.

func Fn_Base64encode added in v0.6.0

func Fn_Base64encode(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64encode base64encode} applies Base64 encoding to a string. Experimental.

func Fn_Base64gzip added in v0.6.0

func Fn_Base64gzip(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64gzip base64gzip} compresses a string with gzip and then encodes the result in Base64 encoding. Experimental.

func Fn_Base64sha256 added in v0.6.0

func Fn_Base64sha256(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64sha256 base64sha256} computes the SHA256 hash of a given string and encodes it with Base64. This is not equivalent to `base64encode(sha256("test"))` since `sha256()` returns hexadecimal representation. Experimental.

func Fn_Base64sha512 added in v0.6.0

func Fn_Base64sha512(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/base64sha512 base64sha512} computes the SHA512 hash of a given string and encodes it with Base64. This is not equivalent to `base64encode(sha512("test"))` since `sha512()` returns hexadecimal representation. Experimental.

func Fn_Basename added in v0.6.0

func Fn_Basename(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/basename basename} takes a string containing a filesystem path and removes all except the last portion from it. Experimental.

func Fn_Bcrypt added in v0.6.0

func Fn_Bcrypt(str *string, cost *float64) *string

{@link https://www.terraform.io/docs/language/functions/bcrypt.html bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems. Experimental.

func Fn_Ceil added in v0.6.0

func Fn_Ceil(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/ceil ceil} returns the closest whole number that is greater than or equal to the given value, which may be a fraction. Experimental.

func Fn_Chomp added in v0.6.0

func Fn_Chomp(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/chomp chomp} removes newline characters at the end of a string. Experimental.

func Fn_Chunklist added in v0.6.0

func Fn_Chunklist(list *[]interface{}, size *float64) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/chunklist chunklist} splits a single list into fixed-size chunks, returning a list of lists. Experimental.

func Fn_Cidrhost added in v0.6.0

func Fn_Cidrhost(prefix *string, hostnum *float64) *string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrhost cidrhost} calculates a full host IP address for a given host number within a given IP network address prefix. Experimental.

func Fn_Cidrnetmask added in v0.6.0

func Fn_Cidrnetmask(prefix *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrnetmask cidrnetmask} converts an IPv4 address prefix given in CIDR notation into a subnet mask address. Experimental.

func Fn_Cidrsubnet added in v0.6.0

func Fn_Cidrsubnet(prefix *string, newbits *float64, netnum *float64) *string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrsubnet cidrsubnet} calculates a subnet address within given IP network address prefix. Experimental.

func Fn_Cidrsubnets added in v0.6.0

func Fn_Cidrsubnets(prefix *string, newbits *[]*float64) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/cidrsubnets cidrsubnets} calculates a sequence of consecutive IP address ranges within a particular CIDR prefix. Experimental.

func Fn_Coalesce added in v0.6.0

func Fn_Coalesce(vals *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/coalesce coalesce} takes any number of arguments and returns the first one that isn't null or an empty string. Experimental.

func Fn_Coalescelist added in v0.6.0

func Fn_Coalescelist(vals *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/coalescelist coalescelist} takes any number of list arguments and returns the first one that isn't empty. Experimental.

func Fn_Compact added in v0.6.0

func Fn_Compact(list *[]*string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/compact compact} takes a list of strings and returns a new list with any empty string elements removed. Experimental.

func Fn_Concat added in v0.6.0

func Fn_Concat(seqs *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/concat concat} takes two or more lists and combines them into a single list. Experimental.

func Fn_Contains added in v0.6.0

func Fn_Contains(list interface{}, value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/contains contains} determines whether a given list or set contains a given single value as one of its elements. Experimental.

func Fn_Csvdecode added in v0.6.0

func Fn_Csvdecode(str *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/csvdecode csvdecode} decodes a string containing CSV-formatted data and produces a list of maps representing that data. Experimental.

func Fn_Dirname added in v0.6.0

func Fn_Dirname(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/dirname dirname} takes a string containing a filesystem path and removes the last portion from it. Experimental.

func Fn_Distinct added in v0.6.0

func Fn_Distinct(list *[]interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/distinct distinct} takes a list and returns a new list with any duplicate elements removed. Experimental.

func Fn_Element added in v0.6.0

func Fn_Element(list interface{}, index *float64) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/element element} retrieves a single element from a list. Experimental.

func Fn_File added in v0.6.0

func Fn_File(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/file file} reads the contents of a file at the given path and returns them as a string. Experimental.

func Fn_Filebase64 added in v0.6.0

func Fn_Filebase64(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filebase64 filebase64} reads the contents of a file at the given path and returns them as a base64-encoded string. Experimental.

func Fn_Filebase64sha256 added in v0.6.0

func Fn_Filebase64sha256(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filebase64sha256 filebase64sha256} is a variant of `base64sha256` that hashes the contents of a given file rather than a literal string. Experimental.

func Fn_Filebase64sha512 added in v0.6.0

func Fn_Filebase64sha512(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filebase64sha512 filebase64sha512} is a variant of `base64sha512` that hashes the contents of a given file rather than a literal string. Experimental.

func Fn_Filemd5 added in v0.6.0

func Fn_Filemd5(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filemd5 filemd5} is a variant of `md5` that hashes the contents of a given file rather than a literal string. Experimental.

func Fn_Fileset added in v0.6.0

func Fn_Fileset(path *string, pattern *string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/fileset fileset} enumerates a set of regular file names given a path and pattern. The path is automatically removed from the resulting set of file names and any result still containing path separators always returns forward slash (`/`) as the path separator for cross-system compatibility. Experimental.

func Fn_Filesha1 added in v0.6.0

func Fn_Filesha1(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filesha1 filesha1} is a variant of `sha1` that hashes the contents of a given file rather than a literal string. Experimental.

func Fn_Filesha256 added in v0.6.0

func Fn_Filesha256(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filesha256 filesha256} is a variant of `sha256` that hashes the contents of a given file rather than a literal string. Experimental.

func Fn_Filesha512 added in v0.6.0

func Fn_Filesha512(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/filesha512 filesha512} is a variant of `sha512` that hashes the contents of a given file rather than a literal string. Experimental.

func Fn_Flatten added in v0.6.0

func Fn_Flatten(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/flatten flatten} takes a list and replaces any elements that are lists with a flattened sequence of the list contents. Experimental.

func Fn_Floor added in v0.6.0

func Fn_Floor(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/floor floor} returns the closest whole number that is less than or equal to the given value, which may be a fraction. Experimental.

func Fn_Format added in v0.6.0

func Fn_Format(format *string, args *[]interface{}) interface{}

The {@link https://developer.hashicorp.com/terraform/language/functions/format format} function produces a string by formatting a number of other values according to a specification string. It is similar to the `printf` function in C, and other similar functions in other programming languages. Experimental.

func Fn_Formatdate added in v0.6.0

func Fn_Formatdate(format *string, time *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/formatdate formatdate} converts a timestamp into a different time format. Experimental.

func Fn_Formatlist added in v0.6.0

func Fn_Formatlist(format *string, args *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/formatlist formatlist} produces a list of strings by formatting a number of other values according to a specification string. Experimental.

func Fn_Indent added in v0.6.0

func Fn_Indent(spaces *float64, str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/indent indent} adds a given number of spaces to the beginnings of all but the first line in a given multi-line string. Experimental.

func Fn_Index added in v0.6.0

func Fn_Index(list interface{}, value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/index index} finds the element index for a given value in a list. Experimental.

func Fn_Join added in v0.6.0

func Fn_Join(separator *string, list *[]*string) *string

{@link https://www.terraform.io/docs/language/functions/join.html join} produces a string by concatenating together all elements of a given list of strings with the given delimiter. Experimental.

func Fn_Jsondecode added in v0.6.0

func Fn_Jsondecode(str *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/jsondecode jsondecode} interprets a given string as JSON, returning a representation of the result of decoding that string. Experimental.

func Fn_Jsonencode added in v0.6.0

func Fn_Jsonencode(val interface{}) *string

{@link https://developer.hashicorp.com/terraform/language/functions/jsonencode jsonencode} encodes a given value to a string using JSON syntax. Experimental.

func Fn_Keys added in v0.6.0

func Fn_Keys(inputMap interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/keys keys} takes a map and returns a list containing the keys from that map. Experimental.

func Fn_LengthOf added in v0.6.0

func Fn_LengthOf(value interface{}) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/length length} determines the length of a given list, map, or string. Experimental.

func Fn_Log added in v0.6.0

func Fn_Log(num *float64, base *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/log log} returns the logarithm of a given number in a given base. Experimental.

func Fn_Lookup added in v0.6.0

func Fn_Lookup(inputMap interface{}, key *string, defaultValue interface{}) interface{}

{@link https://www.terraform.io/docs/language/functions/lookup.html lookup} retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead. Experimental.

func Fn_Lower added in v0.6.0

func Fn_Lower(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/lower lower} converts all cased letters in the given string to lowercase. Experimental.

func Fn_Matchkeys added in v0.6.0

func Fn_Matchkeys(values *[]interface{}, keys *[]interface{}, searchset *[]interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/matchkeys matchkeys} constructs a new list by taking a subset of elements from one list whose indexes match the corresponding indexes of values in another list. Experimental.

func Fn_Max added in v0.6.0

func Fn_Max(numbers *[]*float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/max max} takes one or more numbers and returns the greatest number from the set. Experimental.

func Fn_Md5 added in v0.6.0

func Fn_Md5(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/md5 md5} computes the MD5 hash of a given string and encodes it with hexadecimal digits. Experimental.

func Fn_Merge added in v0.6.0

func Fn_Merge(maps *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/merge merge} takes an arbitrary number of maps or objects, and returns a single map or object that contains a merged set of elements from all arguments. Experimental.

func Fn_Min added in v0.6.0

func Fn_Min(numbers *[]*float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/min min} takes one or more numbers and returns the smallest number from the set. Experimental.

func Fn_Nonsensitive added in v0.6.0

func Fn_Nonsensitive(value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/nonsensitive nonsensitive} takes a sensitive value and returns a copy of that value with the sensitive marking removed, thereby exposing the sensitive value. Experimental.

func Fn_One added in v0.6.0

func Fn_One(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/one one} takes a list, set, or tuple value with either zero or one elements. If the collection is empty, `one` returns `null`. Otherwise, `one` returns the first element. If there are two or more elements then `one` will return an error. Experimental.

func Fn_Parseint added in v0.16.0

func Fn_Parseint(number interface{}, base *float64) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/parseint parseint} parses the given string as a representation of an integer in the specified base and returns the resulting number. The base must be between 2 and 62 inclusive. Experimental.

func Fn_Pathexpand added in v0.6.0

func Fn_Pathexpand(path *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/pathexpand pathexpand} takes a filesystem path that might begin with a `~` segment, and if so it replaces that segment with the current user's home directory path. Experimental.

func Fn_Pow added in v0.6.0

func Fn_Pow(num *float64, power *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/pow pow} calculates an exponent, by raising its first argument to the power of the second argument. Experimental.

func Fn_Range added in v0.6.0

func Fn_Range(start *float64, limit *float64, step *float64) *[]*string

{@link https://www.terraform.io/docs/language/functions/range.html range} generates a list of numbers using a start value, a limit value, and a step value. Experimental.

func Fn_RawString added in v0.8.0

func Fn_RawString(str *string) *string

Use this function to wrap a string and escape it properly for the use in Terraform This is only needed in certain scenarios (e.g., if you have unescaped double quotes in the string). Experimental.

func Fn_Regex added in v0.9.1

func Fn_Regex(pattern *string, str *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/regex regex} applies a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) to a string and returns the matching substrings. Experimental.

func Fn_Regexall added in v0.6.0

func Fn_Regexall(pattern *string, str *string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/regexall regexall} applies a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) to a string and returns a list of all matches. Experimental.

func Fn_Replace added in v0.6.0

func Fn_Replace(str *string, substr *string, replace *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/replace replace} searches a given string for another given substring, and replaces each occurrence with a given replacement string. Experimental.

func Fn_Reverse added in v0.6.0

func Fn_Reverse(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/reverse reverse} takes a sequence and produces a new sequence of the same length with all of the same elements as the given sequence but in reverse order. Experimental.

func Fn_Rsadecrypt added in v0.6.0

func Fn_Rsadecrypt(ciphertext *string, privatekey *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/rsadecrypt rsadecrypt} decrypts an RSA-encrypted ciphertext, returning the corresponding cleartext. Experimental.

func Fn_Sensitive added in v0.6.0

func Fn_Sensitive(value interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/sensitive sensitive} takes any value and returns a copy of it marked so that Terraform will treat it as sensitive, with the same meaning and behavior as for [sensitive input variables](/language/values/variables#suppressing-values-in-cli-output). Experimental.

func Fn_Setintersection added in v0.6.0

func Fn_Setintersection(first_set *[]interface{}, other_sets *[]*[]interface{}) *[]*string

The {@link https://developer.hashicorp.com/terraform/language/functions/setintersection setintersection} function takes multiple sets and produces a single set containing only the elements that all of the given sets have in common. In other words, it computes the [intersection](https://en.wikipedia.org/wiki/Intersection_\(set_theory\)) of the sets. Experimental.

func Fn_Setproduct added in v0.6.0

func Fn_Setproduct(sets *[]interface{}) interface{}

The {@link https://developer.hashicorp.com/terraform/language/functions/setproduct setproduct} function finds all of the possible combinations of elements from all of the given sets by computing the [Cartesian product](https://en.wikipedia.org/wiki/Cartesian_product). Experimental.

func Fn_Setsubtract added in v0.6.0

func Fn_Setsubtract(a *[]interface{}, b *[]interface{}) *[]*string

The {@link https://developer.hashicorp.com/terraform/language/functions/setsubtract setsubtract} function returns a new set containing the elements from the first set that are not present in the second set. In other words, it computes the [relative complement](https://en.wikipedia.org/wiki/Complement_\(set_theory\)#Relative_complement) of the second set. Experimental.

func Fn_Setunion added in v0.6.0

func Fn_Setunion(first_set *[]interface{}, other_sets *[]*[]interface{}) *[]*string

The {@link https://developer.hashicorp.com/terraform/language/functions/setunion setunion} function takes multiple sets and produces a single set containing the elements from all of the given sets. In other words, it computes the [union](https://en.wikipedia.org/wiki/Union_\(set_theory\)) of the sets. Experimental.

func Fn_Sha1 added in v0.6.0

func Fn_Sha1(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/sha1 sha1} computes the SHA1 hash of a given string and encodes it with hexadecimal digits. Experimental.

func Fn_Sha256 added in v0.6.0

func Fn_Sha256(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/sha256 sha256} computes the SHA256 hash of a given string and encodes it with hexadecimal digits. Experimental.

func Fn_Sha512 added in v0.6.0

func Fn_Sha512(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/sha512 sha512} computes the SHA512 hash of a given string and encodes it with hexadecimal digits. Experimental.

func Fn_Signum added in v0.6.0

func Fn_Signum(num *float64) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/signum signum} determines the sign of a number, returning a number between -1 and 1 to represent the sign. Experimental.

func Fn_Slice added in v0.6.0

func Fn_Slice(list interface{}, start_index *float64, end_index *float64) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/slice slice} extracts some consecutive elements from within a list. Experimental.

func Fn_Sort added in v0.6.0

func Fn_Sort(list *[]*string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/sort sort} takes a list of strings and returns a new list with those strings sorted lexicographically. Experimental.

func Fn_Split added in v0.6.0

func Fn_Split(separator *string, str *string) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/split split} produces a list by dividing a given string at all occurrences of a given separator. Experimental.

func Fn_Strrev added in v0.6.0

func Fn_Strrev(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/strrev strrev} reverses the characters in a string. Note that the characters are treated as _Unicode characters_ (in technical terms, Unicode [grapheme cluster boundaries](https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries) are respected). Experimental.

func Fn_Substr added in v0.6.0

func Fn_Substr(str *string, offset *float64, length *float64) *string

{@link https://developer.hashicorp.com/terraform/language/functions/substr substr} extracts a substring from a given string by offset and (maximum) length. Experimental.

func Fn_Sum added in v0.6.0

func Fn_Sum(list interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/sum sum} takes a list or set of numbers and returns the sum of those numbers. Experimental.

func Fn_Templatefile added in v0.6.0

func Fn_Templatefile(path *string, vars interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/templatefile templatefile} reads the file at the given path and renders its content as a template using a supplied set of template variables. Experimental.

func Fn_Textdecodebase64 added in v0.6.0

func Fn_Textdecodebase64(source *string, encoding *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/textdecodebase64 textdecodebase64} function decodes a string that was previously Base64-encoded, and then interprets the result as characters in a specified character encoding. Experimental.

func Fn_Textencodebase64 added in v0.6.0

func Fn_Textencodebase64(str *string, encoding *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/textencodebase64 textencodebase64} encodes the unicode characters in a given string using a specified character encoding, returning the result base64 encoded because Terraform language strings are always sequences of unicode characters. Experimental.

func Fn_Timeadd added in v0.6.0

func Fn_Timeadd(timestamp *string, duration *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/timeadd timeadd} adds a duration to a timestamp, returning a new timestamp. Experimental.

func Fn_Timecmp added in v0.16.0

func Fn_Timecmp(timestamp_a *string, timestamp_b *string) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/timecmp timecmp} compares two timestamps and returns a number that represents the ordering of the instants those timestamps represent. Experimental.

func Fn_Timestamp added in v0.6.0

func Fn_Timestamp() *string

{@link https://developer.hashicorp.com/terraform/language/functions/timestamp timestamp} returns a UTC timestamp string in [RFC 3339](https://tools.ietf.org/html/rfc3339) format. Experimental.

func Fn_Title added in v0.6.0

func Fn_Title(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/title title} converts the first letter of each word in the given string to uppercase. Experimental.

func Fn_Tolist added in v0.6.0

func Fn_Tolist(v interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/tolist tolist} converts its argument to a list value. Experimental.

func Fn_Tomap added in v0.6.0

func Fn_Tomap(v interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/tomap tomap} converts its argument to a map value. Experimental.

func Fn_Tonumber added in v0.6.0

func Fn_Tonumber(v interface{}) *float64

{@link https://developer.hashicorp.com/terraform/language/functions/tonumber tonumber} converts its argument to a number value. Experimental.

func Fn_Toset added in v0.6.0

func Fn_Toset(v interface{}) *[]*string

{@link https://developer.hashicorp.com/terraform/language/functions/toset toset} converts its argument to a set value. Experimental.

func Fn_Tostring added in v0.6.0

func Fn_Tostring(v interface{}) *string

{@link https://developer.hashicorp.com/terraform/language/functions/tostring tostring} converts its argument to a string value. Experimental.

func Fn_Transpose added in v0.6.0

func Fn_Transpose(values interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/transpose transpose} takes a map of lists of strings and swaps the keys and values to produce a new map of lists of strings. Experimental.

func Fn_Trim added in v0.6.0

func Fn_Trim(str *string, cutset *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trim trim} removes the specified set of characters from the start and end of the given string. Experimental.

func Fn_Trimprefix added in v0.6.0

func Fn_Trimprefix(str *string, prefix *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trimprefix trimprefix} removes the specified prefix from the start of the given string. If the string does not start with the prefix, the string is returned unchanged. Experimental.

func Fn_Trimspace added in v0.6.0

func Fn_Trimspace(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trimspace trimspace} removes any space characters from the start and end of the given string. Experimental.

func Fn_Trimsuffix added in v0.6.0

func Fn_Trimsuffix(str *string, suffix *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/trimsuffix trimsuffix} removes the specified suffix from the end of the given string. Experimental.

func Fn_Try added in v0.6.0

func Fn_Try(expressions *[]interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/try try} evaluates all of its argument expressions in turn and returns the result of the first one that does not produce any errors. Experimental.

func Fn_Upper added in v0.6.0

func Fn_Upper(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/upper upper} converts all cased letters in the given string to uppercase. Experimental.

func Fn_Urlencode added in v0.6.0

func Fn_Urlencode(str *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/urlencode urlencode} applies URL encoding to a given string. Experimental.

func Fn_Uuid added in v0.6.0

func Fn_Uuid() *string

{@link https://developer.hashicorp.com/terraform/language/functions/uuid uuid} generates a unique identifier string. Experimental.

func Fn_Uuidv5 added in v0.6.0

func Fn_Uuidv5(namespace *string, name *string) *string

{@link https://developer.hashicorp.com/terraform/language/functions/uuidv5 uuidv5} generates a _name-based_ UUID, as described in [RFC 4122 section 4.3](https://tools.ietf.org/html/rfc4122#section-4.3), also known as a "version 5" UUID. Experimental.

func Fn_Values added in v0.6.0

func Fn_Values(mapping interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/values values} takes a map and returns a list containing the values of the elements in that map. Experimental.

func Fn_Yamldecode added in v0.6.0

func Fn_Yamldecode(src *string) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/yamldecode yamldecode} parses a string as a subset of YAML, and produces a representation of its value. Experimental.

func Fn_Yamlencode added in v0.6.0

func Fn_Yamlencode(value interface{}) *string

{@link https://developer.hashicorp.com/terraform/language/functions/yamlencode yamlencode} encodes a given value to a string using [YAML 1.2](https://yaml.org/spec/1.2/spec.html) block syntax. Experimental.

func Fn_Zipmap added in v0.6.0

func Fn_Zipmap(keys *[]*string, values interface{}) interface{}

{@link https://developer.hashicorp.com/terraform/language/functions/zipmap zipmap} constructs a map from a list of keys and a corresponding list of values. Experimental.

func GcsBackend_IsBackend added in v0.9.0

func GcsBackend_IsBackend(x interface{}) *bool

Experimental.

func GcsBackend_IsConstruct added in v0.6.0

func GcsBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func GcsBackend_IsTerraformElement added in v0.14.0

func GcsBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func HttpBackend_IsBackend added in v0.9.0

func HttpBackend_IsBackend(x interface{}) *bool

Experimental.

func HttpBackend_IsConstruct added in v0.6.0

func HttpBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func HttpBackend_IsTerraformElement added in v0.14.0

func HttpBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func Lazy_ListValue

func Lazy_ListValue(producer IListProducer, options *LazyListValueOptions) *[]*string

Returns a list-ified token for a lazy value. Experimental.

func Lazy_NumberValue

func Lazy_NumberValue(producer INumberProducer) *float64

Returns a numberified token for a lazy value. Experimental.

func Lazy_StringValue

func Lazy_StringValue(producer IStringProducer, options *LazyStringValueOptions) *string

Returns a stringified token for a lazy value. Experimental.

func LocalBackend_IsBackend added in v0.9.0

func LocalBackend_IsBackend(x interface{}) *bool

Experimental.

func LocalBackend_IsConstruct added in v0.6.0

func LocalBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func LocalBackend_IsTerraformElement added in v0.14.0

func LocalBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func Manifest_FileName

func Manifest_FileName() *string

func Manifest_StackFileName

func Manifest_StackFileName() *string

func Manifest_StacksFolder

func Manifest_StacksFolder() *string

func MantaBackend_IsBackend deprecated added in v0.9.0

func MantaBackend_IsBackend(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func MantaBackend_IsConstruct added in v0.6.0

func MantaBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func MantaBackend_IsTerraformElement deprecated added in v0.14.0

func MantaBackend_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func NewAnyListMap_Override added in v0.16.0

func NewAnyListMap_Override(a AnyListMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewAnyMapList_Override added in v0.11.0

func NewAnyMapList_Override(a AnyMapList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewAnyMap_Override added in v0.9.0

func NewAnyMap_Override(a AnyMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewApp_Override

func NewApp_Override(a App, config *AppConfig)

Defines an app. Experimental.

func NewArtifactoryBackend_Override deprecated

func NewArtifactoryBackend_Override(a ArtifactoryBackend, scope constructs.Construct, props *ArtifactoryBackendConfig)

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func NewAzurermBackend_Override

func NewAzurermBackend_Override(a AzurermBackend, scope constructs.Construct, props *AzurermBackendConfig)

Experimental.

func NewBooleanListMap_Override added in v0.16.0

func NewBooleanListMap_Override(b BooleanListMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewBooleanList_Override added in v0.16.0

func NewBooleanList_Override(b BooleanList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewBooleanMapList_Override added in v0.11.0

func NewBooleanMapList_Override(b BooleanMapList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewBooleanMap_Override

func NewBooleanMap_Override(b BooleanMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewCloudBackend_Override added in v0.12.2

func NewCloudBackend_Override(c CloudBackend, scope constructs.Construct, props *CloudBackendConfig)

Experimental.

func NewCloudWorkspace_Override added in v0.12.2

func NewCloudWorkspace_Override(c CloudWorkspace)

Experimental.

func NewComplexComputedList_Override deprecated

func NewComplexComputedList_Override(c ComplexComputedList, terraformResource IInterpolatingParent, terraformAttribute *string, complexComputedListIndex *string, wrapsSet *bool)

Deprecated: Going to be replaced by Array of ComplexListItem and will be removed in the future.

func NewComplexList_Override added in v0.10.0

func NewComplexList_Override(c ComplexList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewComplexMap_Override added in v0.10.0

func NewComplexMap_Override(c ComplexMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewComplexObject_Override added in v0.7.0

func NewComplexObject_Override(c ComplexObject, terraformResource IInterpolatingParent, terraformAttribute *string, complexObjectIsFromSet *bool, complexObjectIndex interface{})

Experimental.

func NewConsulBackend_Override

func NewConsulBackend_Override(c ConsulBackend, scope constructs.Construct, props *ConsulBackendConfig)

Experimental.

func NewCosBackend_Override

func NewCosBackend_Override(c CosBackend, scope constructs.Construct, props *CosBackendConfig)

Experimental.

func NewDataTerraformRemoteStateArtifactory_Override deprecated

func NewDataTerraformRemoteStateArtifactory_Override(d DataTerraformRemoteStateArtifactory, scope constructs.Construct, id *string, config *DataTerraformRemoteStateArtifactoryConfig)

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateAzurerm_Override

func NewDataTerraformRemoteStateAzurerm_Override(d DataTerraformRemoteStateAzurerm, scope constructs.Construct, id *string, config *DataTerraformRemoteStateAzurermConfig)

Experimental.

func NewDataTerraformRemoteStateConsul_Override

func NewDataTerraformRemoteStateConsul_Override(d DataTerraformRemoteStateConsul, scope constructs.Construct, id *string, config *DataTerraformRemoteStateConsulConfig)

Experimental.

func NewDataTerraformRemoteStateCos_Override

func NewDataTerraformRemoteStateCos_Override(d DataTerraformRemoteStateCos, scope constructs.Construct, id *string, config *DataTerraformRemoteStateCosConfig)

Experimental.

func NewDataTerraformRemoteStateEtcdV3_Override deprecated

func NewDataTerraformRemoteStateEtcdV3_Override(d DataTerraformRemoteStateEtcdV3, scope constructs.Construct, id *string, config *DataTerraformRemoteStateEtcdV3Config)

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateEtcd_Override deprecated

func NewDataTerraformRemoteStateEtcd_Override(d DataTerraformRemoteStateEtcd, scope constructs.Construct, id *string, config *DataTerraformRemoteStateEtcdConfig)

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateGcs_Override

func NewDataTerraformRemoteStateGcs_Override(d DataTerraformRemoteStateGcs, scope constructs.Construct, id *string, config *DataTerraformRemoteStateGcsConfig)

Experimental.

func NewDataTerraformRemoteStateHttp_Override

func NewDataTerraformRemoteStateHttp_Override(d DataTerraformRemoteStateHttp, scope constructs.Construct, id *string, config *DataTerraformRemoteStateHttpConfig)

Experimental.

func NewDataTerraformRemoteStateLocal_Override

func NewDataTerraformRemoteStateLocal_Override(d DataTerraformRemoteStateLocal, scope constructs.Construct, id *string, config *DataTerraformRemoteStateLocalConfig)

Experimental.

func NewDataTerraformRemoteStateManta_Override deprecated

func NewDataTerraformRemoteStateManta_Override(d DataTerraformRemoteStateManta, scope constructs.Construct, id *string, config *DataTerraformRemoteStateMantaConfig)

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateOss_Override

func NewDataTerraformRemoteStateOss_Override(d DataTerraformRemoteStateOss, scope constructs.Construct, id *string, config *DataTerraformRemoteStateOssConfig)

Experimental.

func NewDataTerraformRemoteStatePg_Override

func NewDataTerraformRemoteStatePg_Override(d DataTerraformRemoteStatePg, scope constructs.Construct, id *string, config *DataTerraformRemoteStatePgConfig)

Experimental.

func NewDataTerraformRemoteStateS3_Override

func NewDataTerraformRemoteStateS3_Override(d DataTerraformRemoteStateS3, scope constructs.Construct, id *string, config *DataTerraformRemoteStateS3Config)

Experimental.

func NewDataTerraformRemoteStateSwift_Override deprecated

func NewDataTerraformRemoteStateSwift_Override(d DataTerraformRemoteStateSwift, scope constructs.Construct, id *string, config *DataTerraformRemoteStateSwiftConfig)

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteState_Override

func NewDataTerraformRemoteState_Override(d DataTerraformRemoteState, scope constructs.Construct, id *string, config *DataTerraformRemoteStateRemoteConfig)

Experimental.

func NewDefaultTokenResolver_Override

func NewDefaultTokenResolver_Override(d DefaultTokenResolver, concat IFragmentConcatenator)

Resolves tokens. Experimental.

func NewEtcdBackend_Override deprecated

func NewEtcdBackend_Override(e EtcdBackend, scope constructs.Construct, props *EtcdBackendConfig)

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func NewEtcdV3Backend_Override deprecated

func NewEtcdV3Backend_Override(e EtcdV3Backend, scope constructs.Construct, props *EtcdV3BackendConfig)

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func NewFnGenerated_Override added in v0.16.0

func NewFnGenerated_Override(f FnGenerated)

Experimental.

func NewFn_Override added in v0.6.0

func NewFn_Override(f Fn)

Experimental.

func NewGcsBackend_Override

func NewGcsBackend_Override(g GcsBackend, scope constructs.Construct, props *GcsBackendConfig)

Experimental.

func NewHttpBackend_Override

func NewHttpBackend_Override(h HttpBackend, scope constructs.Construct, props *HttpBackendConfig)

Experimental.

func NewLazyBase_Override added in v0.7.0

func NewLazyBase_Override(l LazyBase)

Experimental.

func NewLazy_Override

func NewLazy_Override(l Lazy)

Experimental.

func NewListTerraformIterator_Override added in v0.12.0

func NewListTerraformIterator_Override(l ListTerraformIterator, list interface{})

Experimental.

func NewLocalBackend_Override

func NewLocalBackend_Override(l LocalBackend, scope constructs.Construct, props *LocalBackendConfig)

Experimental.

func NewManifest_Override

func NewManifest_Override(m Manifest, version *string, outdir *string)

Experimental.

func NewMantaBackend_Override deprecated

func NewMantaBackend_Override(m MantaBackend, scope constructs.Construct, props *MantaBackendConfig)

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func NewMapList_Override added in v0.16.0

func NewMapList_Override(m MapList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewMapTerraformIterator_Override added in v0.12.0

func NewMapTerraformIterator_Override(m MapTerraformIterator, map_ interface{})

Experimental.

func NewNamedCloudWorkspace_Override added in v0.12.2

func NewNamedCloudWorkspace_Override(n NamedCloudWorkspace, name *string)

Experimental.

func NewNamedRemoteWorkspace_Override

func NewNamedRemoteWorkspace_Override(n NamedRemoteWorkspace, name *string)

Experimental.

func NewNumberListMap_Override added in v0.16.0

func NewNumberListMap_Override(n NumberListMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewNumberMapList_Override added in v0.11.0

func NewNumberMapList_Override(n NumberMapList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewNumberMap_Override

func NewNumberMap_Override(n NumberMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewOp_Override added in v0.14.0

func NewOp_Override(o Op)

Experimental.

func NewOssBackend_Override

func NewOssBackend_Override(o OssBackend, scope constructs.Construct, props *OssBackendConfig)

Experimental.

func NewPgBackend_Override

func NewPgBackend_Override(p PgBackend, scope constructs.Construct, props *PgBackendConfig)

Experimental.

func NewPrefixedRemoteWorkspaces_Override

func NewPrefixedRemoteWorkspaces_Override(p PrefixedRemoteWorkspaces, prefix *string)

Experimental.

func NewRemoteBackend_Override

func NewRemoteBackend_Override(r RemoteBackend, scope constructs.Construct, props *RemoteBackendConfig)

Experimental.

func NewResource_Override deprecated

func NewResource_Override(r Resource, scope constructs.Construct, id *string)

Deprecated: - Please use Construct from the constructs package instead.

func NewS3Backend_Override

func NewS3Backend_Override(s S3Backend, scope constructs.Construct, props *S3BackendConfig)

Experimental.

func NewStringConcat_Override

func NewStringConcat_Override(s StringConcat)

Experimental.

func NewStringListMap_Override added in v0.16.0

func NewStringListMap_Override(s StringListMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewStringMapList_Override added in v0.11.0

func NewStringMapList_Override(s StringMapList, terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

Experimental.

func NewStringMap_Override

func NewStringMap_Override(s StringMap, terraformResource IInterpolatingParent, terraformAttribute *string)

Experimental.

func NewSwiftBackend_Override deprecated

func NewSwiftBackend_Override(s SwiftBackend, scope constructs.Construct, props *SwiftBackendConfig)

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func NewTaggedCloudWorkspaces_Override added in v0.12.2

func NewTaggedCloudWorkspaces_Override(t TaggedCloudWorkspaces, tags *[]*string)

Experimental.

func NewTerraformAsset_Override added in v0.4.0

func NewTerraformAsset_Override(t TerraformAsset, scope constructs.Construct, id *string, config *TerraformAssetConfig)

A Terraform Asset takes a file or directory outside of the CDK for Terraform context and moves it into it.

Assets copy referenced files into the stacks context for further usage in other resources. Experimental.

func NewTerraformBackend_Override

func NewTerraformBackend_Override(t TerraformBackend, scope constructs.Construct, id *string, name *string)

Experimental.

func NewTerraformDataSource_Override

func NewTerraformDataSource_Override(t TerraformDataSource, scope constructs.Construct, id *string, config *TerraformResourceConfig)

Experimental.

func NewTerraformElement_Override

func NewTerraformElement_Override(t TerraformElement, scope constructs.Construct, id *string, elementType *string)

Experimental.

func NewTerraformHclModule_Override

func NewTerraformHclModule_Override(t TerraformHclModule, scope constructs.Construct, id *string, options *TerraformHclModuleConfig)

Experimental.

func NewTerraformIterator_Override added in v0.12.0

func NewTerraformIterator_Override(t TerraformIterator)

Experimental.

func NewTerraformLocal_Override

func NewTerraformLocal_Override(t TerraformLocal, scope constructs.Construct, id *string, expression interface{})

Experimental.

func NewTerraformModule_Override

func NewTerraformModule_Override(t TerraformModule, scope constructs.Construct, id *string, options *TerraformModuleConfig)

Experimental.

func NewTerraformOutput_Override

func NewTerraformOutput_Override(t TerraformOutput, scope constructs.Construct, id *string, config *TerraformOutputConfig)

Experimental.

func NewTerraformProvider_Override

func NewTerraformProvider_Override(t TerraformProvider, scope constructs.Construct, id *string, config *TerraformProviderConfig)

Experimental.

func NewTerraformRemoteState_Override

func NewTerraformRemoteState_Override(t TerraformRemoteState, scope constructs.Construct, id *string, backend *string, config *DataTerraformRemoteStateConfig)

Experimental.

func NewTerraformResource_Override

func NewTerraformResource_Override(t TerraformResource, scope constructs.Construct, id *string, config *TerraformResourceConfig)

Experimental.

func NewTerraformSelf_Override added in v0.12.0

func NewTerraformSelf_Override(t TerraformSelf)

Experimental.

func NewTerraformStack_Override

func NewTerraformStack_Override(t TerraformStack, scope constructs.Construct, id *string)

Experimental.

func NewTerraformVariable_Override

func NewTerraformVariable_Override(t TerraformVariable, scope constructs.Construct, id *string, config *TerraformVariableConfig)

Experimental.

func NewTesting_Override added in v0.12.0

func NewTesting_Override(t Testing)

Experimental.

func NewToken_Override

func NewToken_Override(t Token)

Experimental.

func NewTokenization_Override

func NewTokenization_Override(t Tokenization)

Experimental.

func NewTokenizedStringFragments_Override

func NewTokenizedStringFragments_Override(t TokenizedStringFragments)

Experimental.

func NewVariableType_Override

func NewVariableType_Override(v VariableType)

Experimental.

func OssBackend_IsBackend added in v0.9.0

func OssBackend_IsBackend(x interface{}) *bool

Experimental.

func OssBackend_IsConstruct added in v0.6.0

func OssBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func OssBackend_IsTerraformElement added in v0.14.0

func OssBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func PgBackend_IsBackend added in v0.9.0

func PgBackend_IsBackend(x interface{}) *bool

Experimental.

func PgBackend_IsConstruct added in v0.6.0

func PgBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func PgBackend_IsTerraformElement added in v0.14.0

func PgBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func RemoteBackend_IsBackend added in v0.9.0

func RemoteBackend_IsBackend(x interface{}) *bool

Experimental.

func RemoteBackend_IsConstruct added in v0.6.0

func RemoteBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func RemoteBackend_IsTerraformElement added in v0.14.0

func RemoteBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func Resource_IsConstruct added in v0.6.0

func Resource_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: - Please use Construct from the constructs package instead.

func S3Backend_IsBackend added in v0.9.0

func S3Backend_IsBackend(x interface{}) *bool

Experimental.

func S3Backend_IsConstruct added in v0.6.0

func S3Backend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func S3Backend_IsTerraformElement added in v0.14.0

func S3Backend_IsTerraformElement(x interface{}) *bool

Experimental.

func SwiftBackend_IsBackend deprecated added in v0.9.0

func SwiftBackend_IsBackend(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func SwiftBackend_IsConstruct added in v0.6.0

func SwiftBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func SwiftBackend_IsTerraformElement deprecated added in v0.14.0

func SwiftBackend_IsTerraformElement(x interface{}) *bool

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func TerraformAsset_IsConstruct added in v0.6.0

func TerraformAsset_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformBackend_IsBackend added in v0.9.0

func TerraformBackend_IsBackend(x interface{}) *bool

Experimental.

func TerraformBackend_IsConstruct added in v0.6.0

func TerraformBackend_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformBackend_IsTerraformElement added in v0.14.0

func TerraformBackend_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformDataSource_IsConstruct added in v0.6.0

func TerraformDataSource_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformDataSource_IsTerraformDataSource added in v0.14.0

func TerraformDataSource_IsTerraformDataSource(x interface{}) *bool

Experimental.

func TerraformDataSource_IsTerraformElement added in v0.14.0

func TerraformDataSource_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformElement_IsConstruct added in v0.6.0

func TerraformElement_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformElement_IsTerraformElement added in v0.14.0

func TerraformElement_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformHclModule_IsConstruct added in v0.6.0

func TerraformHclModule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformHclModule_IsTerraformElement added in v0.14.0

func TerraformHclModule_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformLocal_IsConstruct added in v0.6.0

func TerraformLocal_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformLocal_IsTerraformElement added in v0.14.0

func TerraformLocal_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformModule_IsConstruct added in v0.6.0

func TerraformModule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformModule_IsTerraformElement added in v0.14.0

func TerraformModule_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformOutput_IsConstruct added in v0.6.0

func TerraformOutput_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformOutput_IsTerraformElement added in v0.14.0

func TerraformOutput_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformOutput_IsTerraformOutput added in v0.15.0

func TerraformOutput_IsTerraformOutput(x interface{}) *bool

Experimental.

func TerraformProvider_IsConstruct added in v0.6.0

func TerraformProvider_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformProvider_IsTerraformElement added in v0.14.0

func TerraformProvider_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformProvider_IsTerraformProvider added in v0.14.0

func TerraformProvider_IsTerraformProvider(x interface{}) *bool

Experimental.

func TerraformRemoteState_IsConstruct added in v0.6.0

func TerraformRemoteState_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformRemoteState_IsTerraformElement added in v0.14.0

func TerraformRemoteState_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformRemoteState_TfResourceType added in v0.9.0

func TerraformRemoteState_TfResourceType() *string

func TerraformResource_IsConstruct added in v0.6.0

func TerraformResource_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformResource_IsTerraformElement added in v0.14.0

func TerraformResource_IsTerraformElement(x interface{}) *bool

Experimental.

func TerraformResource_IsTerraformResource added in v0.14.0

func TerraformResource_IsTerraformResource(x interface{}) *bool

Experimental.

func TerraformSelf_GetAny added in v0.12.0

func TerraformSelf_GetAny(key *string) interface{}

Only usable within a connection block to reference the connections parent resource.

Access a property on the resource like this: `getAny("hostPort")`. Experimental.

func TerraformSelf_GetNumber added in v0.12.0

func TerraformSelf_GetNumber(key *string) *float64

Only usable within a connection block to reference the connections parent resource.

Access a property on the resource like this: `getNumber("hostPort")`. Experimental.

func TerraformSelf_GetString added in v0.12.0

func TerraformSelf_GetString(key *string) *string

Only usable within a connection block to reference the connections parent resource.

Access a property on the resource like this: `getString("publicIp")`. Experimental.

func TerraformStack_IsConstruct added in v0.6.0

func TerraformStack_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformStack_IsStack

func TerraformStack_IsStack(x interface{}) *bool

Experimental.

func TerraformVariable_IsConstruct added in v0.6.0

func TerraformVariable_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`. Experimental.

func TerraformVariable_IsTerraformElement added in v0.14.0

func TerraformVariable_IsTerraformElement(x interface{}) *bool

Experimental.

func Testing_FullSynth added in v0.6.0

func Testing_FullSynth(stack TerraformStack) *string

Experimental.

func Testing_RenderConstructTree added in v0.6.0

func Testing_RenderConstructTree(construct constructs.IConstruct) *string

Experimental.

func Testing_SetupJest added in v0.6.0

func Testing_SetupJest()

Experimental.

func Testing_Synth

func Testing_Synth(stack TerraformStack, runValidations *bool) *string

Returns the Terraform synthesized JSON. Experimental.

func Testing_SynthScope added in v0.6.0

func Testing_SynthScope(fn IScopeCallback) *string

Experimental.

func Testing_ToBeValidTerraform added in v0.12.0

func Testing_ToBeValidTerraform(received *string) *bool

Experimental.

func Testing_ToHaveDataSource added in v0.12.0

func Testing_ToHaveDataSource(received *string, resourceType *string) *bool

Experimental.

func Testing_ToHaveDataSourceWithProperties added in v0.12.0

func Testing_ToHaveDataSourceWithProperties(received *string, resourceType *string, properties *map[string]interface{}) *bool

Experimental.

func Testing_ToHaveProvider added in v0.14.0

func Testing_ToHaveProvider(received *string, resourceType *string) *bool

Experimental.

func Testing_ToHaveProviderWithProperties added in v0.14.0

func Testing_ToHaveProviderWithProperties(received *string, resourceType *string, properties *map[string]interface{}) *bool

Experimental.

func Testing_ToHaveResource added in v0.12.0

func Testing_ToHaveResource(received *string, resourceType *string) *bool

Experimental.

func Testing_ToHaveResourceWithProperties added in v0.12.0

func Testing_ToHaveResourceWithProperties(received *string, resourceType *string, properties *map[string]interface{}) *bool

Experimental.

func Token_ANY_MAP_TOKEN_VALUE added in v0.9.0

func Token_ANY_MAP_TOKEN_VALUE() *string

func Token_AsAnyMap added in v0.9.0

func Token_AsAnyMap(value interface{}, options *EncodingOptions) *map[string]interface{}

Return a reversible map representation of this token. Experimental.

func Token_AsBooleanMap added in v0.9.0

func Token_AsBooleanMap(value interface{}, options *EncodingOptions) *map[string]*bool

Return a reversible map representation of this token. Experimental.

func Token_AsList

func Token_AsList(value interface{}, options *EncodingOptions) *[]*string

Return a reversible list representation of this token. Experimental.

func Token_AsMap added in v0.9.0

func Token_AsMap(value interface{}, mapValue interface{}, options *EncodingOptions) *map[string]interface{}

Return a reversible map representation of this token. Experimental.

func Token_AsNumber

func Token_AsNumber(value interface{}) *float64

Return a reversible number representation of this token. Experimental.

func Token_AsNumberList added in v0.9.0

func Token_AsNumberList(value interface{}) *[]*float64

Return a reversible list representation of this token. Experimental.

func Token_AsNumberMap added in v0.9.0

func Token_AsNumberMap(value interface{}, options *EncodingOptions) *map[string]*float64

Return a reversible map representation of this token. Experimental.

func Token_AsString

func Token_AsString(value interface{}, options *EncodingOptions) *string

Return a reversible string representation of this token.

If the Token is initialized with a literal, the stringified value of the literal is returned. Otherwise, a special quoted string representation of the Token is returned that can be embedded into other strings.

Strings with quoted Tokens in them can be restored back into complex values with the Tokens restored by calling `resolve()` on the string. Experimental.

func Token_AsStringMap added in v0.9.0

func Token_AsStringMap(value interface{}, options *EncodingOptions) *map[string]*string

Return a reversible map representation of this token. Experimental.

func Token_IsUnresolved

func Token_IsUnresolved(obj interface{}) *bool

Returns true if obj represents an unresolved value.

One of these must be true:

- `obj` is an IResolvable - `obj` is a string containing at least one encoded `IResolvable` - `obj` is either an encoded number or list

This does NOT recurse into lists or objects to see if they containing resolvables. Experimental.

func Token_NUMBER_MAP_TOKEN_VALUE added in v0.9.0

func Token_NUMBER_MAP_TOKEN_VALUE() *float64

func Token_STRING_MAP_TOKEN_VALUE added in v0.9.0

func Token_STRING_MAP_TOKEN_VALUE() *string

func Tokenization_IsResolvable

func Tokenization_IsResolvable(obj interface{}) *bool

Return whether the given object is an IResolvable object.

This is different from Token.isUnresolved() which will also check for encoded Tokens, whereas this method will only do a type check on the given object. Experimental.

func Tokenization_Resolve

func Tokenization_Resolve(obj interface{}, options *ResolveOptions) interface{}

Resolves an object by evaluating all tokens and removing any undefined or empty objects or arrays.

Values can only be primitives, arrays or tokens. Other objects (i.e. with methods) will be rejected. Experimental.

func Tokenization_Reverse added in v0.6.0

func Tokenization_Reverse(x interface{}) *[]IResolvable

Reverse any value into Resolvables, if possible. Experimental.

func Tokenization_StringifyNumber

func Tokenization_StringifyNumber(x *float64) *string

Stringify a number directly or lazily if it's a Token.

If it is an object (i.e., { Ref: 'SomeLogicalId' }), return it as-is. Experimental.

func VariableType_ANY

func VariableType_ANY() *string

func VariableType_BOOL

func VariableType_BOOL() *string

func VariableType_LIST

func VariableType_LIST() *string

func VariableType_LIST_BOOL

func VariableType_LIST_BOOL() *string

func VariableType_LIST_NUMBER

func VariableType_LIST_NUMBER() *string

func VariableType_LIST_STRING

func VariableType_LIST_STRING() *string

func VariableType_List

func VariableType_List(type_ *string) *string

Experimental.

func VariableType_MAP

func VariableType_MAP() *string

func VariableType_MAP_BOOL

func VariableType_MAP_BOOL() *string

func VariableType_MAP_NUMBER

func VariableType_MAP_NUMBER() *string

func VariableType_MAP_STRING

func VariableType_MAP_STRING() *string

func VariableType_Map

func VariableType_Map(type_ *string) *string

Experimental.

func VariableType_NUMBER

func VariableType_NUMBER() *string

func VariableType_Object

func VariableType_Object(attributes *map[string]*string) *string

Experimental.

func VariableType_SET

func VariableType_SET() *string

func VariableType_SET_BOOL

func VariableType_SET_BOOL() *string

func VariableType_SET_NUMBER

func VariableType_SET_NUMBER() *string

func VariableType_SET_STRING

func VariableType_SET_STRING() *string

func VariableType_STRING

func VariableType_STRING() *string

func VariableType_Set

func VariableType_Set(type_ *string) *string

Experimental.

func VariableType_Tuple

func VariableType_Tuple(elements ...*string) *string

Experimental.

Types

type AnnotationMetadataEntryType added in v0.6.0

type AnnotationMetadataEntryType string

Experimental.

const (
	// Experimental.
	AnnotationMetadataEntryType_INFO AnnotationMetadataEntryType = "INFO"
	// Experimental.
	AnnotationMetadataEntryType_WARN AnnotationMetadataEntryType = "WARN"
	// Experimental.
	AnnotationMetadataEntryType_ERROR AnnotationMetadataEntryType = "ERROR"
)

type Annotations added in v0.6.0

type Annotations interface {
	// Adds an { "error": <message> } metadata entry to this construct.
	//
	// The toolkit will fail synthesis when errors are reported.
	// Experimental.
	AddError(message *string)
	// Adds an info metadata entry to this construct.
	//
	// The CLI will display the info message when apps are synthesized.
	// Experimental.
	AddInfo(message *string)
	// Adds a warning metadata entry to this construct.
	//
	// The CLI will display the warning when an app is synthesized.
	// In a future release the CLI might introduce a --strict flag which
	// will then fail the synthesis if it encounters a warning.
	// Experimental.
	AddWarning(message *string)
}

Includes API for attaching annotations such as warning messages to constructs. Experimental.

func Annotations_Of added in v0.6.0

func Annotations_Of(scope constructs.IConstruct) Annotations

Returns the annotations API for a construct scope. Experimental.

type AnyListMap added in v0.16.0

type AnyListMap interface {
	ComplexMap
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(key *string) IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewAnyListMap added in v0.16.0

func NewAnyListMap(terraformResource IInterpolatingParent, terraformAttribute *string) AnyListMap

Experimental.

type AnyMap added in v0.9.0

type AnyMap interface {
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Lookup(key *string) interface{}
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewAnyMap added in v0.9.0

func NewAnyMap(terraformResource IInterpolatingParent, terraformAttribute *string) AnyMap

Experimental.

type AnyMapList added in v0.11.0

type AnyMapList interface {
	MapList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(index *float64) AnyMap
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewAnyMapList added in v0.11.0

func NewAnyMapList(terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) AnyMapList

Experimental.

type App

type App interface {
	constructs.Construct
	// Experimental.
	Manifest() Manifest
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// The output directory into which resources will be synthesized.
	// Experimental.
	Outdir() *string
	// Whether to skip the validation during synthesis of the app.
	// Experimental.
	SkipValidation() *bool
	// The stack which will be synthesized.
	//
	// If not set, all stacks will be synthesized.
	// Experimental.
	TargetStackId() *string
	// Creates a reference from one stack to another, invoked on prepareStack since it creates extra resources.
	// Experimental.
	CrossStackReference(fromStack TerraformStack, toStack TerraformStack, identifier *string) *string
	// Synthesizes all resources to the output directory.
	// Experimental.
	Synth()
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Represents a cdktf application. Experimental.

func App_Of added in v0.9.0

func App_Of(construct constructs.IConstruct) App

Experimental.

func NewApp

func NewApp(config *AppConfig) App

Defines an app. Experimental.

func Testing_App

func Testing_App(options *TestingAppConfig) App

Returns an app for testing with the following properties: - Output directory is a temp dir. Experimental.

func Testing_EnableFutureFlags

func Testing_EnableFutureFlags(app App) App

Experimental.

func Testing_FakeCdktfJsonPath added in v0.9.0

func Testing_FakeCdktfJsonPath(app App) App

Experimental.

func Testing_StubVersion

func Testing_StubVersion(app App) App

Experimental.

type AppConfig added in v0.15.0

type AppConfig struct {
	// Additional context values for the application.
	//
	// Context set by the CLI or the `context` key in `cdktf.json` has precedence.
	//
	// Context can be read from any construct using `node.getContext(key)`.
	// Experimental.
	Context *map[string]interface{} `field:"optional" json:"context" yaml:"context"`
	// The directory to output Terraform resources.
	// Experimental.
	Outdir *string `field:"optional" json:"outdir" yaml:"outdir"`
	// Whether to skip the validation during synthesis of the app.
	// Experimental.
	SkipValidation *bool `field:"optional" json:"skipValidation" yaml:"skipValidation"`
	// Experimental.
	StackTraces *bool `field:"optional" json:"stackTraces" yaml:"stackTraces"`
}

Experimental.

type ArtifactoryBackend deprecated

type ArtifactoryBackend interface {
	TerraformBackend
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Name() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	SynthesizeAttributes() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func NewArtifactoryBackend deprecated

func NewArtifactoryBackend(scope constructs.Construct, props *ArtifactoryBackendConfig) ArtifactoryBackend

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

type ArtifactoryBackendConfig added in v0.15.0

type ArtifactoryBackendConfig struct {
	// (Required) - The password.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Password *string `field:"required" json:"password" yaml:"password"`
	// (Required) - The repository name.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Repo *string `field:"required" json:"repo" yaml:"repo"`
	// (Required) - Path within the repository.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Subpath *string `field:"required" json:"subpath" yaml:"subpath"`
	// (Required) - The URL.
	//
	// Note that this is the base url to artifactory not the full repo and subpath.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Url *string `field:"required" json:"url" yaml:"url"`
	// (Required) - The username.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Stores the state as an artifact in a given repository in Artifactory.

Generic HTTP repositories are supported, and state from different configurations may be kept at different subpaths within the repository.

Note: The URL must include the path to the Artifactory installation. It will likely end in /artifactory.

This backend does not support state locking.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/v1.2.x/settings/backends/artifactory Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

type Aspects added in v0.6.0

type Aspects interface {
	// The list of aspects which were directly applied on this scope.
	// Experimental.
	All() *[]IAspect
	// Adds an aspect to apply this scope before synthesis.
	// Experimental.
	Add(aspect IAspect)
}

Aspects can be applied to CDK tree scopes and can operate on the tree before synthesis. Experimental.

func Aspects_Of added in v0.6.0

func Aspects_Of(scope constructs.IConstruct) Aspects

Returns the `Aspects` object associated with a construct scope. Experimental.

type AssetType added in v0.4.0

type AssetType string

Experimental.

const (
	// Experimental.
	AssetType_FILE AssetType = "FILE"
	// Experimental.
	AssetType_DIRECTORY AssetType = "DIRECTORY"
	// Experimental.
	AssetType_ARCHIVE AssetType = "ARCHIVE"
)

type AzurermBackend

type AzurermBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewAzurermBackend

func NewAzurermBackend(scope constructs.Construct, props *AzurermBackendConfig) AzurermBackend

Experimental.

type AzurermBackendConfig added in v0.15.0

type AzurermBackendConfig struct {
	// (Required) The Name of the Storage Container within the Storage Account.
	// Experimental.
	ContainerName *string `field:"required" json:"containerName" yaml:"containerName"`
	// (Required) The name of the Blob used to retrieve/store Terraform's State file inside the Storage Container.
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// (Required) The Name of the Storage Account.
	// Experimental.
	StorageAccountName *string `field:"required" json:"storageAccountName" yaml:"storageAccountName"`
	// access_key - (Optional) The Access Key used to access the Blob Storage Account.
	//
	// This can also be sourced from the ARM_ACCESS_KEY environment variable.
	// Experimental.
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// (Optional) The password associated with the Client Certificate specified in client_certificate_path.
	//
	// This can also be sourced from the
	// ARM_CLIENT_CERTIFICATE_PASSWORD environment variable.
	// Experimental.
	ClientCertificatePassword *string `field:"optional" json:"clientCertificatePassword" yaml:"clientCertificatePassword"`
	// (Optional) The path to the PFX file used as the Client Certificate when authenticating as a Service Principal.
	//
	// This can also be sourced from the
	// ARM_CLIENT_CERTIFICATE_PATH environment variable.
	// Experimental.
	ClientCertificatePath *string `field:"optional" json:"clientCertificatePath" yaml:"clientCertificatePath"`
	// (Optional) The Client ID of the Service Principal.
	//
	// This can also be sourced from the ARM_CLIENT_ID environment variable.
	// Experimental.
	ClientId *string `field:"optional" json:"clientId" yaml:"clientId"`
	// (Optional) The Client Secret of the Service Principal.
	//
	// This can also be sourced from the ARM_CLIENT_SECRET environment variable.
	// Experimental.
	ClientSecret *string `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// (Optional) The Custom Endpoint for Azure Resource Manager. This can also be sourced from the ARM_ENDPOINT environment variable.
	//
	// NOTE: An endpoint should only be configured when using Azure Stack.
	// Experimental.
	Endpoint *string `field:"optional" json:"endpoint" yaml:"endpoint"`
	// (Optional) The Azure Environment which should be used.
	//
	// This can also be sourced from the ARM_ENVIRONMENT environment variable.
	//   Possible values are public, china, german, stack and usgovernment. Defaults to public.
	// Experimental.
	Environment *string `field:"optional" json:"environment" yaml:"environment"`
	// (Optional) The path to a custom Managed Service Identity endpoint which is automatically determined if not specified.
	//
	// This can also be sourced from the ARM_MSI_ENDPOINT environment variable.
	// Experimental.
	MsiEndpoint *string `field:"optional" json:"msiEndpoint" yaml:"msiEndpoint"`
	// (Optional) The bearer token for the request to the OIDC provider.
	//
	// This can
	// also be sourced from the ARM_OIDC_REQUEST_TOKEN or
	// ACTIONS_ID_TOKEN_REQUEST_TOKEN environment variables.
	// Experimental.
	OidcRequestToken *string `field:"optional" json:"oidcRequestToken" yaml:"oidcRequestToken"`
	// (Optional) The URL for the OIDC provider from which to request an ID token.
	//
	// This can also be sourced from the ARM_OIDC_REQUEST_URL or
	// ACTIONS_ID_TOKEN_REQUEST_URL environment variables.
	// Experimental.
	OidcRequestUrl *string `field:"optional" json:"oidcRequestUrl" yaml:"oidcRequestUrl"`
	// (Required) The Name of the Resource Group in which the Storage Account exists.
	// Experimental.
	ResourceGroupName *string `field:"optional" json:"resourceGroupName" yaml:"resourceGroupName"`
	// (Optional) The SAS Token used to access the Blob Storage Account.
	//
	// This can also be sourced from the ARM_SAS_TOKEN environment variable.
	// Experimental.
	SasToken *string `field:"optional" json:"sasToken" yaml:"sasToken"`
	// (Optional) Should the Blob used to store the Terraform Statefile be snapshotted before use?
	//
	// Defaults to false. This value can also be sourced
	// from the ARM_SNAPSHOT environment variable.
	// Experimental.
	Snapshot *bool `field:"optional" json:"snapshot" yaml:"snapshot"`
	// (Optional) The Subscription ID in which the Storage Account exists.
	//
	// This can also be sourced from the ARM_SUBSCRIPTION_ID environment variable.
	// Experimental.
	SubscriptionId *string `field:"optional" json:"subscriptionId" yaml:"subscriptionId"`
	// (Optional) The Tenant ID in which the Subscription exists.
	//
	// This can also be sourced from the ARM_TENANT_ID environment variable.
	// Experimental.
	TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"`
	// (Optional) Should AzureAD Authentication be used to access the Blob Storage Account.
	//
	// This can also be sourced from the ARM_USE_AZUREAD environment
	// variable.
	//
	// Note: When using AzureAD for Authentication to Storage you also need to
	// ensure the Storage Blob Data Owner role is assigned.
	// Experimental.
	UseAzureadAuth *bool `field:"optional" json:"useAzureadAuth" yaml:"useAzureadAuth"`
	// (Optional) Should MSAL be used for authentication instead of ADAL, and should Microsoft Graph be used instead of Azure Active Directory Graph?
	//
	// Defaults to true.
	//
	// Note: In Terraform 1.2 the Azure Backend uses MSAL (and Microsoft Graph)
	// rather than ADAL (and Azure Active Directory Graph) for authentication by
	// default - you can disable this by setting use_microsoft_graph to false.
	// This setting will be removed in Terraform 1.3, due to Microsoft's
	// deprecation of ADAL.
	// Experimental.
	UseMicrosoftGraph *bool `field:"optional" json:"useMicrosoftGraph" yaml:"useMicrosoftGraph"`
	// (Optional) Should Managed Service Identity authentication be used?
	//
	// This can also be sourced from the ARM_USE_MSI environment variable.
	// Experimental.
	UseMsi *bool `field:"optional" json:"useMsi" yaml:"useMsi"`
	// (Optional) Should OIDC authentication be used? This can also be sourced from the ARM_USE_OIDC environment variable.
	//
	// Note: When using OIDC for authentication, use_microsoft_graph
	// must be set to true (which is the default).
	// Experimental.
	UseOidc *bool `field:"optional" json:"useOidc" yaml:"useOidc"`
}

Stores the state as a Blob with the given Key within the Blob Container within the Blob Storage Account.

This backend supports state locking and consistency checking with Azure Blob Storage native capabilities.

Note: By default the Azure Backend uses ADAL for authentication which is deprecated in favour of MSAL - MSAL can be used by setting use_microsoft_graph to true. The default for this will change in Terraform 1.2, so that MSAL authentication is used by default.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/azurerm Experimental.

type BooleanList added in v0.16.0

type BooleanList interface {
	ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(index *float64) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewBooleanList added in v0.16.0

func NewBooleanList(terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) BooleanList

Experimental.

type BooleanListMap added in v0.16.0

type BooleanListMap interface {
	ComplexMap
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(key *string) IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewBooleanListMap added in v0.16.0

func NewBooleanListMap(terraformResource IInterpolatingParent, terraformAttribute *string) BooleanListMap

Experimental.

type BooleanMap

type BooleanMap interface {
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Lookup(key *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewBooleanMap

func NewBooleanMap(terraformResource IInterpolatingParent, terraformAttribute *string) BooleanMap

Experimental.

type BooleanMapList added in v0.11.0

type BooleanMapList interface {
	MapList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(index *float64) BooleanMap
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewBooleanMapList added in v0.11.0

func NewBooleanMapList(terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) BooleanMapList

Experimental.

type CloudBackend added in v0.12.2

type CloudBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

The Cloud Backend synthesizes a {@link https://developer.hashicorp.com/terraform/cli/cloud/settings#the-cloud-block cloud block}. The cloud block is a nested block within the top-level terraform settings block. It specifies which Terraform Cloud workspaces to use for the current working directory. The cloud block only affects Terraform CLI's behavior. When Terraform Cloud uses a configuration that contains a cloud block - for example, when a workspace is configured to use a VCS provider directly - it ignores the block and behaves according to its own workspace settings. Experimental.

func NewCloudBackend added in v0.12.2

func NewCloudBackend(scope constructs.Construct, props *CloudBackendConfig) CloudBackend

Experimental.

type CloudBackendConfig added in v0.15.0

type CloudBackendConfig struct {
	// The name of the organization containing the workspace(s) the current configuration should use.
	// Experimental.
	Organization *string `field:"required" json:"organization" yaml:"organization"`
	// A nested block that specifies which remote Terraform Cloud workspaces to use for the current configuration.
	//
	// The workspaces block must contain exactly one of the following arguments, each denoting a strategy for how workspaces should be mapped:.
	// Experimental.
	Workspaces interface{} `field:"required" json:"workspaces" yaml:"workspaces"`
	// The hostname of a Terraform Enterprise installation, if using Terraform Enterprise.
	// Experimental.
	Hostname *string `field:"optional" json:"hostname" yaml:"hostname"`
	// The token used to authenticate with Terraform Cloud.
	//
	// We recommend omitting the token from the configuration, and instead using terraform login or manually configuring credentials in the CLI config file.
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
}

The Cloud Backend synthesizes a {@link https://developer.hashicorp.com/terraform/cli/cloud/settings#the-cloud-block cloud block}. The cloud block is a nested block within the top-level terraform settings block. It specifies which Terraform Cloud workspaces to use for the current working directory. The cloud block only affects Terraform CLI's behavior. When Terraform Cloud uses a configuration that contains a cloud block - for example, when a workspace is configured to use a VCS provider directly - it ignores the block and behaves according to its own workspace settings.

https://developer.hashicorp.com/terraform/cli/cloud/settings#arguments Experimental.

type CloudWorkspace added in v0.12.2

type CloudWorkspace interface {
	// Experimental.
	ToTerraform() interface{}
}

A cloud workspace can either be a single named workspace, or a list of tagged workspaces. Experimental.

type ComplexComputedList deprecated

type ComplexComputedList interface {
	IInterpolatingParent
	IResolvable
	ITerraformAddressable
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	ComplexComputedListIndex() *string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	SetComplexComputedListIndex(val *string)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	CreationStack() *[]*string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	Fqn() *string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	TerraformAttribute() *string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	SetTerraformAttribute(val *string)
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	TerraformResource() IInterpolatingParent
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	SetTerraformResource(val IInterpolatingParent)
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	WrapsSet() *bool
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	SetWrapsSet(val *bool)
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	ComputeFqn() *string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetBooleanAttribute(terraformAttribute *string) IResolvable
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetStringAttribute(terraformAttribute *string) *string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Deprecated: Going to be replaced by Array of ComplexListItem
	// and will be removed in the future.
	ToString() *string
}

Deprecated: Going to be replaced by Array of ComplexListItem and will be removed in the future.

func NewComplexComputedList deprecated

func NewComplexComputedList(terraformResource IInterpolatingParent, terraformAttribute *string, complexComputedListIndex *string, wrapsSet *bool) ComplexComputedList

Deprecated: Going to be replaced by Array of ComplexListItem and will be removed in the future.

type ComplexList added in v0.10.0

type ComplexList interface {
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

type ComplexMap added in v0.10.0

type ComplexMap interface {
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

type ComplexObject added in v0.7.0

type ComplexObject interface {
	IInterpolatingParent
	IResolvable
	ITerraformAddressable
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewComplexObject added in v0.7.0

func NewComplexObject(terraformResource IInterpolatingParent, terraformAttribute *string, complexObjectIsFromSet *bool, complexObjectIndex interface{}) ComplexObject

Experimental.

type ConsulBackend

type ConsulBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewConsulBackend

func NewConsulBackend(scope constructs.Construct, props *ConsulBackendConfig) ConsulBackend

Experimental.

type ConsulBackendConfig added in v0.15.0

type ConsulBackendConfig struct {
	// (Required) Access token.
	// Experimental.
	AccessToken *string `field:"required" json:"accessToken" yaml:"accessToken"`
	// (Required) Path in the Consul KV store.
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
	// (Optional) DNS name and port of your Consul endpoint specified in the format dnsname:port.
	//
	// Defaults to the local agent HTTP listener.
	// Experimental.
	Address *string `field:"optional" json:"address" yaml:"address"`
	// (Optional) A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
	// Experimental.
	CaFile *string `field:"optional" json:"caFile" yaml:"caFile"`
	// (Optional) A path to a PEM-encoded certificate provided to the remote agent;
	//
	// requires use of key_file.
	// Experimental.
	CertFile *string `field:"optional" json:"certFile" yaml:"certFile"`
	// (Optional) The datacenter to use.
	//
	// Defaults to that of the agent.
	// Experimental.
	Datacenter *string `field:"optional" json:"datacenter" yaml:"datacenter"`
	// (Optional) true to compress the state data using gzip, or false (the default) to leave it uncompressed.
	// Experimental.
	Gzip *bool `field:"optional" json:"gzip" yaml:"gzip"`
	// (Optional) HTTP Basic Authentication credentials to be used when communicating with Consul, in the format of either user or user:pass.
	// Experimental.
	HttpAuth *string `field:"optional" json:"httpAuth" yaml:"httpAuth"`
	// (Optional) A path to a PEM-encoded private key, required if cert_file is specified.
	// Experimental.
	KeyFile *string `field:"optional" json:"keyFile" yaml:"keyFile"`
	// (Optional) false to disable locking.
	//
	// This defaults to true, but will require session permissions with Consul and
	// at least kv write permissions on $path/.lock to perform locking.
	// Experimental.
	Lock *bool `field:"optional" json:"lock" yaml:"lock"`
	// (Optional) Specifies what protocol to use when talking to the given address,either http or https.
	//
	// SSL support can also be triggered by setting then environment variable CONSUL_HTTP_SSL to true.
	// Experimental.
	Scheme *string `field:"optional" json:"scheme" yaml:"scheme"`
}

Stores the state in the Consul KV store at a given path. This backend supports state locking.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/consul Experimental.

type CosBackend

type CosBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewCosBackend

func NewCosBackend(scope constructs.Construct, props *CosBackendConfig) CosBackend

Experimental.

type CosBackendConfig added in v0.15.0

type CosBackendConfig struct {
	// (Required) The name of the COS bucket.
	//
	// You shall manually create it first.
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// (Optional) Object ACL to be applied to the state file, allows private and public-read.
	//
	// Defaults to private.
	// Experimental.
	Acl *string `field:"optional" json:"acl" yaml:"acl"`
	// (Optional) Whether to enable server side encryption of the state file.
	//
	// If it is true, COS will use 'AES256' encryption algorithm to encrypt state file.
	// Experimental.
	Encrypt *bool `field:"optional" json:"encrypt" yaml:"encrypt"`
	// (Optional) The path for saving the state file in bucket.
	//
	// Defaults to terraform.tfstate.
	// Experimental.
	Key *string `field:"optional" json:"key" yaml:"key"`
	// (Optional) The directory for saving the state file in bucket.
	//
	// Default to "env:".
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
	// (Optional) The region of the COS bucket.
	//
	// It supports environment variables TENCENTCLOUD_REGION.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// (Optional) Secret id of Tencent Cloud.
	//
	// It supports environment variables TENCENTCLOUD_SECRET_ID.
	// Experimental.
	SecretId *string `field:"optional" json:"secretId" yaml:"secretId"`
	// (Optional) Secret key of Tencent Cloud.
	//
	// It supports environment variables TENCENTCLOUD_SECRET_KEY.
	// Experimental.
	SecretKey *string `field:"optional" json:"secretKey" yaml:"secretKey"`
}

Stores the state as an object in a configurable prefix in a given bucket on Tencent Cloud Object Storage (COS).

This backend supports state locking.

Warning! It is highly recommended that you enable Object Versioning on the COS bucket to allow for state recovery in the case of accidental deletions and human error.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/cos Experimental.

type DataTerraformRemoteState

type DataTerraformRemoteState interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteState

func NewDataTerraformRemoteState(scope constructs.Construct, id *string, config *DataTerraformRemoteStateRemoteConfig) DataTerraformRemoteState

Experimental.

type DataTerraformRemoteStateArtifactory deprecated

type DataTerraformRemoteStateArtifactory interface {
	TerraformRemoteState
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Get(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	GetBoolean(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	GetList(output *string) *[]*string
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	GetNumber(output *string) *float64
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateArtifactory deprecated

func NewDataTerraformRemoteStateArtifactory(scope constructs.Construct, id *string, config *DataTerraformRemoteStateArtifactoryConfig) DataTerraformRemoteStateArtifactory

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateArtifactoryConfig deprecated

type DataTerraformRemoteStateArtifactoryConfig struct {
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) - The password.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Password *string `field:"required" json:"password" yaml:"password"`
	// (Required) - The repository name.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Repo *string `field:"required" json:"repo" yaml:"repo"`
	// (Required) - Path within the repository.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Subpath *string `field:"required" json:"subpath" yaml:"subpath"`
	// (Required) - The URL.
	//
	// Note that this is the base url to artifactory not the full repo and subpath.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Url *string `field:"required" json:"url" yaml:"url"`
	// (Required) - The username.
	// Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Deprecated: CDK for Terraform no longer supports the artifactory backend. Terraform deprecated artifactory in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateAzurerm

type DataTerraformRemoteStateAzurerm interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateAzurerm

func NewDataTerraformRemoteStateAzurerm(scope constructs.Construct, id *string, config *DataTerraformRemoteStateAzurermConfig) DataTerraformRemoteStateAzurerm

Experimental.

type DataTerraformRemoteStateAzurermConfig

type DataTerraformRemoteStateAzurermConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) The Name of the Storage Container within the Storage Account.
	// Experimental.
	ContainerName *string `field:"required" json:"containerName" yaml:"containerName"`
	// (Required) The name of the Blob used to retrieve/store Terraform's State file inside the Storage Container.
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// (Required) The Name of the Storage Account.
	// Experimental.
	StorageAccountName *string `field:"required" json:"storageAccountName" yaml:"storageAccountName"`
	// access_key - (Optional) The Access Key used to access the Blob Storage Account.
	//
	// This can also be sourced from the ARM_ACCESS_KEY environment variable.
	// Experimental.
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// (Optional) The password associated with the Client Certificate specified in client_certificate_path.
	//
	// This can also be sourced from the
	// ARM_CLIENT_CERTIFICATE_PASSWORD environment variable.
	// Experimental.
	ClientCertificatePassword *string `field:"optional" json:"clientCertificatePassword" yaml:"clientCertificatePassword"`
	// (Optional) The path to the PFX file used as the Client Certificate when authenticating as a Service Principal.
	//
	// This can also be sourced from the
	// ARM_CLIENT_CERTIFICATE_PATH environment variable.
	// Experimental.
	ClientCertificatePath *string `field:"optional" json:"clientCertificatePath" yaml:"clientCertificatePath"`
	// (Optional) The Client ID of the Service Principal.
	//
	// This can also be sourced from the ARM_CLIENT_ID environment variable.
	// Experimental.
	ClientId *string `field:"optional" json:"clientId" yaml:"clientId"`
	// (Optional) The Client Secret of the Service Principal.
	//
	// This can also be sourced from the ARM_CLIENT_SECRET environment variable.
	// Experimental.
	ClientSecret *string `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// (Optional) The Custom Endpoint for Azure Resource Manager. This can also be sourced from the ARM_ENDPOINT environment variable.
	//
	// NOTE: An endpoint should only be configured when using Azure Stack.
	// Experimental.
	Endpoint *string `field:"optional" json:"endpoint" yaml:"endpoint"`
	// (Optional) The Azure Environment which should be used.
	//
	// This can also be sourced from the ARM_ENVIRONMENT environment variable.
	//   Possible values are public, china, german, stack and usgovernment. Defaults to public.
	// Experimental.
	Environment *string `field:"optional" json:"environment" yaml:"environment"`
	// (Optional) The path to a custom Managed Service Identity endpoint which is automatically determined if not specified.
	//
	// This can also be sourced from the ARM_MSI_ENDPOINT environment variable.
	// Experimental.
	MsiEndpoint *string `field:"optional" json:"msiEndpoint" yaml:"msiEndpoint"`
	// (Optional) The bearer token for the request to the OIDC provider.
	//
	// This can
	// also be sourced from the ARM_OIDC_REQUEST_TOKEN or
	// ACTIONS_ID_TOKEN_REQUEST_TOKEN environment variables.
	// Experimental.
	OidcRequestToken *string `field:"optional" json:"oidcRequestToken" yaml:"oidcRequestToken"`
	// (Optional) The URL for the OIDC provider from which to request an ID token.
	//
	// This can also be sourced from the ARM_OIDC_REQUEST_URL or
	// ACTIONS_ID_TOKEN_REQUEST_URL environment variables.
	// Experimental.
	OidcRequestUrl *string `field:"optional" json:"oidcRequestUrl" yaml:"oidcRequestUrl"`
	// (Required) The Name of the Resource Group in which the Storage Account exists.
	// Experimental.
	ResourceGroupName *string `field:"optional" json:"resourceGroupName" yaml:"resourceGroupName"`
	// (Optional) The SAS Token used to access the Blob Storage Account.
	//
	// This can also be sourced from the ARM_SAS_TOKEN environment variable.
	// Experimental.
	SasToken *string `field:"optional" json:"sasToken" yaml:"sasToken"`
	// (Optional) Should the Blob used to store the Terraform Statefile be snapshotted before use?
	//
	// Defaults to false. This value can also be sourced
	// from the ARM_SNAPSHOT environment variable.
	// Experimental.
	Snapshot *bool `field:"optional" json:"snapshot" yaml:"snapshot"`
	// (Optional) The Subscription ID in which the Storage Account exists.
	//
	// This can also be sourced from the ARM_SUBSCRIPTION_ID environment variable.
	// Experimental.
	SubscriptionId *string `field:"optional" json:"subscriptionId" yaml:"subscriptionId"`
	// (Optional) The Tenant ID in which the Subscription exists.
	//
	// This can also be sourced from the ARM_TENANT_ID environment variable.
	// Experimental.
	TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"`
	// (Optional) Should AzureAD Authentication be used to access the Blob Storage Account.
	//
	// This can also be sourced from the ARM_USE_AZUREAD environment
	// variable.
	//
	// Note: When using AzureAD for Authentication to Storage you also need to
	// ensure the Storage Blob Data Owner role is assigned.
	// Experimental.
	UseAzureadAuth *bool `field:"optional" json:"useAzureadAuth" yaml:"useAzureadAuth"`
	// (Optional) Should MSAL be used for authentication instead of ADAL, and should Microsoft Graph be used instead of Azure Active Directory Graph?
	//
	// Defaults to true.
	//
	// Note: In Terraform 1.2 the Azure Backend uses MSAL (and Microsoft Graph)
	// rather than ADAL (and Azure Active Directory Graph) for authentication by
	// default - you can disable this by setting use_microsoft_graph to false.
	// This setting will be removed in Terraform 1.3, due to Microsoft's
	// deprecation of ADAL.
	// Experimental.
	UseMicrosoftGraph *bool `field:"optional" json:"useMicrosoftGraph" yaml:"useMicrosoftGraph"`
	// (Optional) Should Managed Service Identity authentication be used?
	//
	// This can also be sourced from the ARM_USE_MSI environment variable.
	// Experimental.
	UseMsi *bool `field:"optional" json:"useMsi" yaml:"useMsi"`
	// (Optional) Should OIDC authentication be used? This can also be sourced from the ARM_USE_OIDC environment variable.
	//
	// Note: When using OIDC for authentication, use_microsoft_graph
	// must be set to true (which is the default).
	// Experimental.
	UseOidc *bool `field:"optional" json:"useOidc" yaml:"useOidc"`
}

Experimental.

type DataTerraformRemoteStateConfig

type DataTerraformRemoteStateConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
}

Experimental.

type DataTerraformRemoteStateConsul

type DataTerraformRemoteStateConsul interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateConsul

func NewDataTerraformRemoteStateConsul(scope constructs.Construct, id *string, config *DataTerraformRemoteStateConsulConfig) DataTerraformRemoteStateConsul

Experimental.

type DataTerraformRemoteStateConsulConfig

type DataTerraformRemoteStateConsulConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) Access token.
	// Experimental.
	AccessToken *string `field:"required" json:"accessToken" yaml:"accessToken"`
	// (Required) Path in the Consul KV store.
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
	// (Optional) DNS name and port of your Consul endpoint specified in the format dnsname:port.
	//
	// Defaults to the local agent HTTP listener.
	// Experimental.
	Address *string `field:"optional" json:"address" yaml:"address"`
	// (Optional) A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
	// Experimental.
	CaFile *string `field:"optional" json:"caFile" yaml:"caFile"`
	// (Optional) A path to a PEM-encoded certificate provided to the remote agent;
	//
	// requires use of key_file.
	// Experimental.
	CertFile *string `field:"optional" json:"certFile" yaml:"certFile"`
	// (Optional) The datacenter to use.
	//
	// Defaults to that of the agent.
	// Experimental.
	Datacenter *string `field:"optional" json:"datacenter" yaml:"datacenter"`
	// (Optional) true to compress the state data using gzip, or false (the default) to leave it uncompressed.
	// Experimental.
	Gzip *bool `field:"optional" json:"gzip" yaml:"gzip"`
	// (Optional) HTTP Basic Authentication credentials to be used when communicating with Consul, in the format of either user or user:pass.
	// Experimental.
	HttpAuth *string `field:"optional" json:"httpAuth" yaml:"httpAuth"`
	// (Optional) A path to a PEM-encoded private key, required if cert_file is specified.
	// Experimental.
	KeyFile *string `field:"optional" json:"keyFile" yaml:"keyFile"`
	// (Optional) false to disable locking.
	//
	// This defaults to true, but will require session permissions with Consul and
	// at least kv write permissions on $path/.lock to perform locking.
	// Experimental.
	Lock *bool `field:"optional" json:"lock" yaml:"lock"`
	// (Optional) Specifies what protocol to use when talking to the given address,either http or https.
	//
	// SSL support can also be triggered by setting then environment variable CONSUL_HTTP_SSL to true.
	// Experimental.
	Scheme *string `field:"optional" json:"scheme" yaml:"scheme"`
}

Experimental.

type DataTerraformRemoteStateCos

type DataTerraformRemoteStateCos interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateCos

func NewDataTerraformRemoteStateCos(scope constructs.Construct, id *string, config *DataTerraformRemoteStateCosConfig) DataTerraformRemoteStateCos

Experimental.

type DataTerraformRemoteStateCosConfig

type DataTerraformRemoteStateCosConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) The name of the COS bucket.
	//
	// You shall manually create it first.
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// (Optional) Object ACL to be applied to the state file, allows private and public-read.
	//
	// Defaults to private.
	// Experimental.
	Acl *string `field:"optional" json:"acl" yaml:"acl"`
	// (Optional) Whether to enable server side encryption of the state file.
	//
	// If it is true, COS will use 'AES256' encryption algorithm to encrypt state file.
	// Experimental.
	Encrypt *bool `field:"optional" json:"encrypt" yaml:"encrypt"`
	// (Optional) The path for saving the state file in bucket.
	//
	// Defaults to terraform.tfstate.
	// Experimental.
	Key *string `field:"optional" json:"key" yaml:"key"`
	// (Optional) The directory for saving the state file in bucket.
	//
	// Default to "env:".
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
	// (Optional) The region of the COS bucket.
	//
	// It supports environment variables TENCENTCLOUD_REGION.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// (Optional) Secret id of Tencent Cloud.
	//
	// It supports environment variables TENCENTCLOUD_SECRET_ID.
	// Experimental.
	SecretId *string `field:"optional" json:"secretId" yaml:"secretId"`
	// (Optional) Secret key of Tencent Cloud.
	//
	// It supports environment variables TENCENTCLOUD_SECRET_KEY.
	// Experimental.
	SecretKey *string `field:"optional" json:"secretKey" yaml:"secretKey"`
}

Experimental.

type DataTerraformRemoteStateEtcd deprecated

type DataTerraformRemoteStateEtcd interface {
	TerraformRemoteState
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Get(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	GetBoolean(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	GetList(output *string) *[]*string
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	GetNumber(output *string) *float64
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateEtcd deprecated

func NewDataTerraformRemoteStateEtcd(scope constructs.Construct, id *string, config *DataTerraformRemoteStateEtcdConfig) DataTerraformRemoteStateEtcd

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateEtcdConfig deprecated

type DataTerraformRemoteStateEtcdConfig struct {
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) A space-separated list of the etcd endpoints.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Endpoints *string `field:"required" json:"endpoints" yaml:"endpoints"`
	// (Required) The path where to store the state.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Path *string `field:"required" json:"path" yaml:"path"`
	// (Optional) The password.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// (Optional) The username.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateEtcdV3 deprecated

type DataTerraformRemoteStateEtcdV3 interface {
	TerraformRemoteState
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Get(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	GetBoolean(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	GetList(output *string) *[]*string
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	GetNumber(output *string) *float64
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateEtcdV3 deprecated

func NewDataTerraformRemoteStateEtcdV3(scope constructs.Construct, id *string, config *DataTerraformRemoteStateEtcdV3Config) DataTerraformRemoteStateEtcdV3

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateEtcdV3Config deprecated

type DataTerraformRemoteStateEtcdV3Config struct {
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) The list of 'etcd' endpoints which to connect to.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Endpoints *[]*string `field:"required" json:"endpoints" yaml:"endpoints"`
	// (Optional) The path to a PEM-encoded CA bundle with which to verify certificates of TLS-enabled etcd servers.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	CacertPath *string `field:"optional" json:"cacertPath" yaml:"cacertPath"`
	// (Optional) The path to a PEM-encoded certificate to provide to etcd for secure client identification.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	CertPath *string `field:"optional" json:"certPath" yaml:"certPath"`
	// (Optional) The path to a PEM-encoded key to provide to etcd for secure client identification.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	KeyPath *string `field:"optional" json:"keyPath" yaml:"keyPath"`
	// (Optional) Whether to lock state access.
	//
	// Defaults to true.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Lock *bool `field:"optional" json:"lock" yaml:"lock"`
	// (Optional) Password used to connect to the etcd cluster.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// (Optional) An optional prefix to be added to keys when to storing state in etcd.
	//
	// Defaults to "".
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
	// (Optional) Username used to connect to the etcd cluster.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateGcs

type DataTerraformRemoteStateGcs interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateGcs

func NewDataTerraformRemoteStateGcs(scope constructs.Construct, id *string, config *DataTerraformRemoteStateGcsConfig) DataTerraformRemoteStateGcs

Experimental.

type DataTerraformRemoteStateGcsConfig

type DataTerraformRemoteStateGcsConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) The name of the GCS bucket.
	//
	// This name must be globally unique.
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// (Optional) A temporary [OAuth 2.0 access token] obtained from the Google Authorization server, i.e. the Authorization: Bearer token used to authenticate HTTP requests to GCP APIs. This is an alternative to credentials. If both are specified, access_token will be used over the credentials field.
	// Experimental.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// (Optional) Local path to Google Cloud Platform account credentials in JSON format.
	//
	// If unset, Google Application Default Credentials are used.
	// The provided credentials must have Storage Object Admin role on the bucket.
	//
	// Warning: if using the Google Cloud Platform provider as well,
	// it will also pick up the GOOGLE_CREDENTIALS environment variable.
	// Experimental.
	Credentials *string `field:"optional" json:"credentials" yaml:"credentials"`
	// (Optional) A 32 byte base64 encoded 'customer supplied encryption key' used to encrypt all state.
	// Experimental.
	EncryptionKey *string `field:"optional" json:"encryptionKey" yaml:"encryptionKey"`
	// (Optional) The service account to impersonate for accessing the State Bucket.
	//
	// You must have roles/iam.serviceAccountTokenCreator role on that account for the impersonation to succeed.
	// If you are using a delegation chain, you can specify that using the impersonate_service_account_delegates field.
	// Alternatively, this can be specified using the GOOGLE_IMPERSONATE_SERVICE_ACCOUNT environment variable.
	// Experimental.
	ImpersonateServiceAccount *string `field:"optional" json:"impersonateServiceAccount" yaml:"impersonateServiceAccount"`
	// (Optional) The delegation chain for an impersonating a service account.
	// Experimental.
	ImpersonateServiceAccountDelegates *[]*string `field:"optional" json:"impersonateServiceAccountDelegates" yaml:"impersonateServiceAccountDelegates"`
	// (Optional) GCS prefix inside the bucket.
	//
	// Named states for workspaces are stored in an object called <prefix>/<name>.tfstate.
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
}

Experimental.

type DataTerraformRemoteStateHttp

type DataTerraformRemoteStateHttp interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateHttp

func NewDataTerraformRemoteStateHttp(scope constructs.Construct, id *string, config *DataTerraformRemoteStateHttpConfig) DataTerraformRemoteStateHttp

Experimental.

type DataTerraformRemoteStateHttpConfig

type DataTerraformRemoteStateHttpConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// (Required) The address of the REST endpoint.
	// Experimental.
	Address *string `field:"required" json:"address" yaml:"address"`
	// (Optional) The address of the lock REST endpoint.
	//
	// Defaults to disabled.
	// Experimental.
	LockAddress *string `field:"optional" json:"lockAddress" yaml:"lockAddress"`
	// (Optional) The HTTP method to use when locking.
	//
	// Defaults to LOCK.
	// Experimental.
	LockMethod *string `field:"optional" json:"lockMethod" yaml:"lockMethod"`
	// (Optional) The password for HTTP basic authentication.
	// Experimental.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// (Optional) The number of HTTP request retries.
	//
	// Defaults to 2.
	// Experimental.
	RetryMax *float64 `field:"optional" json:"retryMax" yaml:"retryMax"`
	// (Optional) The maximum time in seconds to wait between HTTP request attempts.
	//
	// Defaults to 30.
	// Experimental.
	RetryWaitMax *float64 `field:"optional" json:"retryWaitMax" yaml:"retryWaitMax"`
	// (Optional) The minimum time in seconds to wait between HTTP request attempts.
	//
	// Defaults to 1.
	// Experimental.
	RetryWaitMin *float64 `field:"optional" json:"retryWaitMin" yaml:"retryWaitMin"`
	// (Optional) Whether to skip TLS verification.
	//
	// Defaults to false.
	// Experimental.
	SkipCertVerification *bool `field:"optional" json:"skipCertVerification" yaml:"skipCertVerification"`
	// (Optional) The address of the unlock REST endpoint.
	//
	// Defaults to disabled.
	// Experimental.
	UnlockAddress *string `field:"optional" json:"unlockAddress" yaml:"unlockAddress"`
	// (Optional) The HTTP method to use when unlocking.
	//
	// Defaults to UNLOCK.
	// Experimental.
	UnlockMethod *string `field:"optional" json:"unlockMethod" yaml:"unlockMethod"`
	// (Optional) HTTP method to use when updating state.
	//
	// Defaults to POST.
	// Experimental.
	UpdateMethod *string `field:"optional" json:"updateMethod" yaml:"updateMethod"`
	// (Optional) The username for HTTP basic authentication.
	// Experimental.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Experimental.

type DataTerraformRemoteStateLocal

type DataTerraformRemoteStateLocal interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateLocal

func NewDataTerraformRemoteStateLocal(scope constructs.Construct, id *string, config *DataTerraformRemoteStateLocalConfig) DataTerraformRemoteStateLocal

Experimental.

type DataTerraformRemoteStateLocalConfig

type DataTerraformRemoteStateLocalConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Path where the state file is stored.
	// Experimental.
	Path *string `field:"optional" json:"path" yaml:"path"`
	// (Optional) The path to non-default workspaces.
	// Experimental.
	WorkspaceDir *string `field:"optional" json:"workspaceDir" yaml:"workspaceDir"`
}

Experimental.

type DataTerraformRemoteStateManta deprecated

type DataTerraformRemoteStateManta interface {
	TerraformRemoteState
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Get(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	GetBoolean(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	GetList(output *string) *[]*string
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	GetNumber(output *string) *float64
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateManta deprecated

func NewDataTerraformRemoteStateManta(scope constructs.Construct, id *string, config *DataTerraformRemoteStateMantaConfig) DataTerraformRemoteStateManta

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateMantaConfig deprecated

type DataTerraformRemoteStateMantaConfig struct {
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	KeyId *string `field:"required" json:"keyId" yaml:"keyId"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Path *string `field:"required" json:"path" yaml:"path"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	InsecureSkipTlsVerify *bool `field:"optional" json:"insecureSkipTlsVerify" yaml:"insecureSkipTlsVerify"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	KeyMaterial *string `field:"optional" json:"keyMaterial" yaml:"keyMaterial"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ObjectName *string `field:"optional" json:"objectName" yaml:"objectName"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Url *string `field:"optional" json:"url" yaml:"url"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	User *string `field:"optional" json:"user" yaml:"user"`
}

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateOss

type DataTerraformRemoteStateOss interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateOss

func NewDataTerraformRemoteStateOss(scope constructs.Construct, id *string, config *DataTerraformRemoteStateOssConfig) DataTerraformRemoteStateOss

Experimental.

type DataTerraformRemoteStateOssConfig

type DataTerraformRemoteStateOssConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// Experimental.
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// Experimental.
	Acl *string `field:"optional" json:"acl" yaml:"acl"`
	// Experimental.
	AssumeRole *OssAssumeRole `field:"optional" json:"assumeRole" yaml:"assumeRole"`
	// Experimental.
	EcsRoleName *string `field:"optional" json:"ecsRoleName" yaml:"ecsRoleName"`
	// Experimental.
	Encrypt *bool `field:"optional" json:"encrypt" yaml:"encrypt"`
	// Experimental.
	Endpoint *string `field:"optional" json:"endpoint" yaml:"endpoint"`
	// Experimental.
	Key *string `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Experimental.
	SecretKey *string `field:"optional" json:"secretKey" yaml:"secretKey"`
	// Experimental.
	SecurityToken *string `field:"optional" json:"securityToken" yaml:"securityToken"`
	// Experimental.
	SharedCredentialsFile *string `field:"optional" json:"sharedCredentialsFile" yaml:"sharedCredentialsFile"`
	// Experimental.
	TablestoreEndpoint *string `field:"optional" json:"tablestoreEndpoint" yaml:"tablestoreEndpoint"`
	// Experimental.
	TablestoreTable *string `field:"optional" json:"tablestoreTable" yaml:"tablestoreTable"`
}

Experimental.

type DataTerraformRemoteStatePg

type DataTerraformRemoteStatePg interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStatePg

func NewDataTerraformRemoteStatePg(scope constructs.Construct, id *string, config *DataTerraformRemoteStatePgConfig) DataTerraformRemoteStatePg

Experimental.

type DataTerraformRemoteStatePgConfig

type DataTerraformRemoteStatePgConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Experimental.
	ConnStr *string `field:"required" json:"connStr" yaml:"connStr"`
	// Experimental.
	SchemaName *string `field:"optional" json:"schemaName" yaml:"schemaName"`
	// Experimental.
	SkipSchemaCreation *bool `field:"optional" json:"skipSchemaCreation" yaml:"skipSchemaCreation"`
}

Experimental.

type DataTerraformRemoteStateRemoteConfig

type DataTerraformRemoteStateRemoteConfig struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Experimental.
	Organization *string `field:"required" json:"organization" yaml:"organization"`
	// Experimental.
	Workspaces IRemoteWorkspace `field:"required" json:"workspaces" yaml:"workspaces"`
	// Experimental.
	Hostname *string `field:"optional" json:"hostname" yaml:"hostname"`
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
}

Experimental.

type DataTerraformRemoteStateS3

type DataTerraformRemoteStateS3 interface {
	TerraformRemoteState
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewDataTerraformRemoteStateS3

func NewDataTerraformRemoteStateS3(scope constructs.Construct, id *string, config *DataTerraformRemoteStateS3Config) DataTerraformRemoteStateS3

Experimental.

type DataTerraformRemoteStateS3Config

type DataTerraformRemoteStateS3Config struct {
	// Experimental.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Experimental.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Name of the S3 Bucket.
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// Path to the state file inside the S3 Bucket.
	//
	// When using a non-default workspace, the state path will be /workspace_key_prefix/workspace_name/key.
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// (Optional) AWS access key.
	//
	// If configured, must also configure secret_key.
	// This can also be sourced from
	// the AWS_ACCESS_KEY_ID environment variable,
	// AWS shared credentials file (e.g. ~/.aws/credentials),
	// or AWS shared configuration file (e.g. ~/.aws/config).
	// Experimental.
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// (Optional) Canned ACL to be applied to the state file.
	// Experimental.
	Acl *string `field:"optional" json:"acl" yaml:"acl"`
	// (Optional) IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.
	// Experimental.
	AssumeRolePolicy *string `field:"optional" json:"assumeRolePolicy" yaml:"assumeRolePolicy"`
	// (Optional) Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed.
	// Experimental.
	AssumeRolePolicyArns *[]*string `field:"optional" json:"assumeRolePolicyArns" yaml:"assumeRolePolicyArns"`
	// (Optional) Map of assume role session tags.
	// Experimental.
	AssumeRoleTags *map[string]*string `field:"optional" json:"assumeRoleTags" yaml:"assumeRoleTags"`
	// (Optional) Set of assume role session tag keys to pass to any subsequent sessions.
	// Experimental.
	AssumeRoleTransitiveTagKeys *[]*string `field:"optional" json:"assumeRoleTransitiveTagKeys" yaml:"assumeRoleTransitiveTagKeys"`
	// (Optional) Custom endpoint for the AWS DynamoDB API.
	//
	// This can also be sourced from the AWS_DYNAMODB_ENDPOINT environment variable.
	// Experimental.
	DynamodbEndpoint *string `field:"optional" json:"dynamodbEndpoint" yaml:"dynamodbEndpoint"`
	// (Optional) Name of DynamoDB Table to use for state locking and consistency.
	//
	// The table must have a partition key named LockID with type of String.
	// If not configured, state locking will be disabled.
	// Experimental.
	DynamodbTable *string `field:"optional" json:"dynamodbTable" yaml:"dynamodbTable"`
	// (Optional) Enable server side encryption of the state file.
	// Experimental.
	Encrypt *bool `field:"optional" json:"encrypt" yaml:"encrypt"`
	// (Optional) Custom endpoint for the AWS S3 API.
	//
	// This can also be sourced from the AWS_S3_ENDPOINT environment variable.
	// Experimental.
	Endpoint *string `field:"optional" json:"endpoint" yaml:"endpoint"`
	// (Optional) External identifier to use when assuming the role.
	// Experimental.
	ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
	// (Optional) Enable path-style S3 URLs (https://<HOST>/<BUCKET> instead of https://<BUCKET>.<HOST>).
	// Experimental.
	ForcePathStyle *bool `field:"optional" json:"forcePathStyle" yaml:"forcePathStyle"`
	// (Optional) Custom endpoint for the AWS Identity and Access Management (IAM) API.
	//
	// This can also be sourced from the AWS_IAM_ENDPOINT environment variable.
	// Experimental.
	IamEndpoint *string `field:"optional" json:"iamEndpoint" yaml:"iamEndpoint"`
	// (Optional) Amazon Resource Name (ARN) of a Key Management Service (KMS) Key to use for encrypting the state.
	//
	// Note that if this value is specified,
	// Terraform will need kms:Encrypt, kms:Decrypt and kms:GenerateDataKey permissions on this KMS key.
	// Experimental.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// (Optional) The maximum number of times an AWS API request is retried on retryable failure.
	//
	// Defaults to 5.
	// Experimental.
	MaxRetries *float64 `field:"optional" json:"maxRetries" yaml:"maxRetries"`
	// (Optional) Name of AWS profile in AWS shared credentials file (e.g. ~/.aws/credentials) or AWS shared configuration file (e.g. ~/.aws/config) to use for credentials and/or configuration. This can also be sourced from the AWS_PROFILE environment variable.
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// AWS Region of the S3 Bucket and DynamoDB Table (if used).
	//
	// This can also
	// be sourced from the AWS_DEFAULT_REGION and AWS_REGION environment
	// variables.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// (Optional) Amazon Resource Name (ARN) of the IAM Role to assume.
	// Experimental.
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// (Optional) AWS secret access key.
	//
	// If configured, must also configure access_key.
	// This can also be sourced from
	// the AWS_SECRET_ACCESS_KEY environment variable,
	// AWS shared credentials file (e.g. ~/.aws/credentials),
	// or AWS shared configuration file (e.g. ~/.aws/config)
	// Experimental.
	SecretKey *string `field:"optional" json:"secretKey" yaml:"secretKey"`
	// (Optional) Session name to use when assuming the role.
	// Experimental.
	SessionName *string `field:"optional" json:"sessionName" yaml:"sessionName"`
	// (Optional) Path to the AWS shared credentials file.
	//
	// Defaults to ~/.aws/credentials.
	// Experimental.
	SharedCredentialsFile *string `field:"optional" json:"sharedCredentialsFile" yaml:"sharedCredentialsFile"`
	// (Optional) Skip credentials validation via the STS API.
	// Experimental.
	SkipCredentialsValidation *bool `field:"optional" json:"skipCredentialsValidation" yaml:"skipCredentialsValidation"`
	// (Optional) Skip usage of EC2 Metadata API.
	// Experimental.
	SkipMetadataApiCheck *bool `field:"optional" json:"skipMetadataApiCheck" yaml:"skipMetadataApiCheck"`
	// (Optional) Skip validation of provided region name.
	// Experimental.
	SkipRegionValidation *bool `field:"optional" json:"skipRegionValidation" yaml:"skipRegionValidation"`
	// (Optional) The key to use for encrypting state with Server-Side Encryption with Customer-Provided Keys (SSE-C).
	//
	// This is the base64-encoded value of the key, which must decode to 256 bits.
	// This can also be sourced from the AWS_SSE_CUSTOMER_KEY environment variable,
	// which is recommended due to the sensitivity of the value.
	// Setting it inside a terraform file will cause it to be persisted to disk in terraform.tfstate.
	// Experimental.
	SseCustomerKey *string `field:"optional" json:"sseCustomerKey" yaml:"sseCustomerKey"`
	// (Optional) Custom endpoint for the AWS Security Token Service (STS) API.
	//
	// This can also be sourced from the AWS_STS_ENDPOINT environment variable.
	// Experimental.
	StsEndpoint *string `field:"optional" json:"stsEndpoint" yaml:"stsEndpoint"`
	// (Optional) Multi-Factor Authentication (MFA) token.
	//
	// This can also be sourced from the AWS_SESSION_TOKEN environment variable.
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
	// (Optional) Prefix applied to the state path inside the bucket.
	//
	// This is only relevant when using a non-default workspace. Defaults to env:
	// Experimental.
	WorkspaceKeyPrefix *string `field:"optional" json:"workspaceKeyPrefix" yaml:"workspaceKeyPrefix"`
}

Experimental.

type DataTerraformRemoteStateSwift deprecated

type DataTerraformRemoteStateSwift interface {
	TerraformRemoteState
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Get(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	GetBoolean(output *string) IResolvable
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	GetList(output *string) *[]*string
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	GetNumber(output *string) *float64
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func NewDataTerraformRemoteStateSwift deprecated

func NewDataTerraformRemoteStateSwift(scope constructs.Construct, id *string, config *DataTerraformRemoteStateSwiftConfig) DataTerraformRemoteStateSwift

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

type DataTerraformRemoteStateSwiftConfig deprecated

type DataTerraformRemoteStateSwiftConfig struct {
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Defaults *map[string]interface{} `field:"optional" json:"defaults" yaml:"defaults"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Workspace *string `field:"optional" json:"workspace" yaml:"workspace"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Container *string `field:"required" json:"container" yaml:"container"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ApplicationCredentialId *string `field:"optional" json:"applicationCredentialId" yaml:"applicationCredentialId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ApplicationCredentialName *string `field:"optional" json:"applicationCredentialName" yaml:"applicationCredentialName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ApplicationCredentialSecret *string `field:"optional" json:"applicationCredentialSecret" yaml:"applicationCredentialSecret"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ArchiveContainer *string `field:"optional" json:"archiveContainer" yaml:"archiveContainer"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	AuthUrl *string `field:"optional" json:"authUrl" yaml:"authUrl"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	CacertFile *string `field:"optional" json:"cacertFile" yaml:"cacertFile"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Cert *string `field:"optional" json:"cert" yaml:"cert"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Cloud *string `field:"optional" json:"cloud" yaml:"cloud"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	DefaultDomain *string `field:"optional" json:"defaultDomain" yaml:"defaultDomain"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	DomainId *string `field:"optional" json:"domainId" yaml:"domainId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	DomainName *string `field:"optional" json:"domainName" yaml:"domainName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ExpireAfter *string `field:"optional" json:"expireAfter" yaml:"expireAfter"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Insecure *bool `field:"optional" json:"insecure" yaml:"insecure"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Key *string `field:"optional" json:"key" yaml:"key"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ProjectDomainId *string `field:"optional" json:"projectDomainId" yaml:"projectDomainId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ProjectDomainName *string `field:"optional" json:"projectDomainName" yaml:"projectDomainName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	RegionName *string `field:"optional" json:"regionName" yaml:"regionName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	StateName *string `field:"optional" json:"stateName" yaml:"stateName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	TenantName *string `field:"optional" json:"tenantName" yaml:"tenantName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Token *string `field:"optional" json:"token" yaml:"token"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserDomainId *string `field:"optional" json:"userDomainId" yaml:"userDomainId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserDomainName *string `field:"optional" json:"userDomainName" yaml:"userDomainName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserId *string `field:"optional" json:"userId" yaml:"userId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserName *string `field:"optional" json:"userName" yaml:"userName"`
}

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

type DefaultTokenResolver

type DefaultTokenResolver interface {
	ITokenResolver
	// Resolves a list of string.
	// Experimental.
	ResolveList(xs *[]*string, context IResolveContext) interface{}
	// Resolves a map token.
	// Experimental.
	ResolveMap(xs *map[string]interface{}, context IResolveContext) interface{}
	// Resolves a list of numbers.
	// Experimental.
	ResolveNumberList(xs *[]*float64, context IResolveContext) interface{}
	// Resolve string fragments to Tokens.
	// Experimental.
	ResolveString(fragments TokenizedStringFragments, context IResolveContext) interface{}
	// Default Token resolution.
	//
	// Resolve the Token, recurse into whatever it returns,
	// then finally post-process it.
	// Experimental.
	ResolveToken(t IResolvable, context IResolveContext, postProcessor IPostProcessor) interface{}
}

Default resolver implementation. Experimental.

func NewDefaultTokenResolver

func NewDefaultTokenResolver(concat IFragmentConcatenator) DefaultTokenResolver

Resolves tokens. Experimental.

type EncodingOptions

type EncodingOptions struct {
	// A hint for the Token's purpose when stringifying it.
	// Experimental.
	DisplayHint *string `field:"optional" json:"displayHint" yaml:"displayHint"`
}

Properties to string encodings. Experimental.

type EtcdBackend deprecated

type EtcdBackend interface {
	TerraformBackend
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Name() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	SynthesizeAttributes() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

func NewEtcdBackend deprecated

func NewEtcdBackend(scope constructs.Construct, props *EtcdBackendConfig) EtcdBackend

Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

type EtcdBackendConfig added in v0.15.0

type EtcdBackendConfig struct {
	// (Required) A space-separated list of the etcd endpoints.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Endpoints *string `field:"required" json:"endpoints" yaml:"endpoints"`
	// (Required) The path where to store the state.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Path *string `field:"required" json:"path" yaml:"path"`
	// (Optional) The password.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// (Optional) The username.
	// Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Stores the state in etcd 2.x at a given path.

This backend does not support state locking.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/v1.2.x/settings/backends/etcd Deprecated: CDK for Terraform no longer supports the etcd backend. Terraform deprecated etcd in v1.2.3 and removed it in v1.3.

type EtcdV3Backend deprecated

type EtcdV3Backend interface {
	TerraformBackend
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Name() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	SynthesizeAttributes() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

func NewEtcdV3Backend deprecated

func NewEtcdV3Backend(scope constructs.Construct, props *EtcdV3BackendConfig) EtcdV3Backend

Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

type EtcdV3BackendConfig added in v0.15.0

type EtcdV3BackendConfig struct {
	// (Required) The list of 'etcd' endpoints which to connect to.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Endpoints *[]*string `field:"required" json:"endpoints" yaml:"endpoints"`
	// (Optional) The path to a PEM-encoded CA bundle with which to verify certificates of TLS-enabled etcd servers.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	CacertPath *string `field:"optional" json:"cacertPath" yaml:"cacertPath"`
	// (Optional) The path to a PEM-encoded certificate to provide to etcd for secure client identification.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	CertPath *string `field:"optional" json:"certPath" yaml:"certPath"`
	// (Optional) The path to a PEM-encoded key to provide to etcd for secure client identification.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	KeyPath *string `field:"optional" json:"keyPath" yaml:"keyPath"`
	// (Optional) Whether to lock state access.
	//
	// Defaults to true.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Lock *bool `field:"optional" json:"lock" yaml:"lock"`
	// (Optional) Password used to connect to the etcd cluster.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// (Optional) An optional prefix to be added to keys when to storing state in etcd.
	//
	// Defaults to "".
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
	// (Optional) Username used to connect to the etcd cluster.
	// Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Stores the state in the etcd KV store with a given prefix.

This backend supports state locking.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/v1.2.x/settings/backends/etcdv3 Deprecated: CDK for Terraform no longer supports the etcdv3 backend. Terraform deprecated etcdv3 in v1.2.3 and removed it in v1.3.

type FileProvisioner added in v0.12.2

type FileProvisioner struct {
	// The source file or directory.
	//
	// Specify it either relative to the current working directory or as an absolute path.
	// This argument cannot be combined with content.
	// Experimental.
	Destination *string `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Most provisioners require access to the remote resource via SSH or WinRM and expect a nested connection block with details about how to connect.
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// The destination path to write to on the remote system.
	//
	// See Destination Paths below for more information.
	// Experimental.
	Content *string `field:"optional" json:"content" yaml:"content"`
	// The direct content to copy on the destination.
	//
	// If destination is a file, the content will be written on that file.
	// In case of a directory, a file named tf-file-content is created inside that directory.
	// We recommend using a file as the destination when using content.
	// This argument cannot be combined with source.
	// Experimental.
	Source *string `field:"optional" json:"source" yaml:"source"`
}

The file provisioner copies files or directories from the machine running Terraform to the newly created resource.

The file provisioner supports both ssh and winrm type connections.

See {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/file file} Experimental.

type Fn added in v0.6.0

type Fn interface {
	FnGenerated
}

Experimental.

func NewFn added in v0.6.0

func NewFn() Fn

Experimental.

type FnGenerated added in v0.16.0

type FnGenerated interface {
}

Experimental.

func NewFnGenerated added in v0.16.0

func NewFnGenerated() FnGenerated

Experimental.

type GcsBackend

type GcsBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewGcsBackend

func NewGcsBackend(scope constructs.Construct, props *GcsBackendConfig) GcsBackend

Experimental.

type GcsBackendConfig added in v0.15.0

type GcsBackendConfig struct {
	// (Required) The name of the GCS bucket.
	//
	// This name must be globally unique.
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// (Optional) A temporary [OAuth 2.0 access token] obtained from the Google Authorization server, i.e. the Authorization: Bearer token used to authenticate HTTP requests to GCP APIs. This is an alternative to credentials. If both are specified, access_token will be used over the credentials field.
	// Experimental.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// (Optional) Local path to Google Cloud Platform account credentials in JSON format.
	//
	// If unset, Google Application Default Credentials are used.
	// The provided credentials must have Storage Object Admin role on the bucket.
	//
	// Warning: if using the Google Cloud Platform provider as well,
	// it will also pick up the GOOGLE_CREDENTIALS environment variable.
	// Experimental.
	Credentials *string `field:"optional" json:"credentials" yaml:"credentials"`
	// (Optional) A 32 byte base64 encoded 'customer supplied encryption key' used to encrypt all state.
	// Experimental.
	EncryptionKey *string `field:"optional" json:"encryptionKey" yaml:"encryptionKey"`
	// (Optional) The service account to impersonate for accessing the State Bucket.
	//
	// You must have roles/iam.serviceAccountTokenCreator role on that account for the impersonation to succeed.
	// If you are using a delegation chain, you can specify that using the impersonate_service_account_delegates field.
	// Alternatively, this can be specified using the GOOGLE_IMPERSONATE_SERVICE_ACCOUNT environment variable.
	// Experimental.
	ImpersonateServiceAccount *string `field:"optional" json:"impersonateServiceAccount" yaml:"impersonateServiceAccount"`
	// (Optional) The delegation chain for an impersonating a service account.
	// Experimental.
	ImpersonateServiceAccountDelegates *[]*string `field:"optional" json:"impersonateServiceAccountDelegates" yaml:"impersonateServiceAccountDelegates"`
	// (Optional) GCS prefix inside the bucket.
	//
	// Named states for workspaces are stored in an object called <prefix>/<name>.tfstate.
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
}

Stores the state as an object in a configurable prefix in a pre-existing bucket on Google Cloud Storage (GCS).

The bucket must exist prior to configuring the backend.

This backend supports state locking.

Warning! It is highly recommended that you enable Object Versioning on the GCS bucket to allow for state recovery in the case of accidental deletions and human error.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/gcs Experimental.

type HttpBackend

type HttpBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewHttpBackend

func NewHttpBackend(scope constructs.Construct, props *HttpBackendConfig) HttpBackend

Experimental.

type HttpBackendConfig added in v0.15.0

type HttpBackendConfig struct {
	// (Required) The address of the REST endpoint.
	// Experimental.
	Address *string `field:"required" json:"address" yaml:"address"`
	// (Optional) The address of the lock REST endpoint.
	//
	// Defaults to disabled.
	// Experimental.
	LockAddress *string `field:"optional" json:"lockAddress" yaml:"lockAddress"`
	// (Optional) The HTTP method to use when locking.
	//
	// Defaults to LOCK.
	// Experimental.
	LockMethod *string `field:"optional" json:"lockMethod" yaml:"lockMethod"`
	// (Optional) The password for HTTP basic authentication.
	// Experimental.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// (Optional) The number of HTTP request retries.
	//
	// Defaults to 2.
	// Experimental.
	RetryMax *float64 `field:"optional" json:"retryMax" yaml:"retryMax"`
	// (Optional) The maximum time in seconds to wait between HTTP request attempts.
	//
	// Defaults to 30.
	// Experimental.
	RetryWaitMax *float64 `field:"optional" json:"retryWaitMax" yaml:"retryWaitMax"`
	// (Optional) The minimum time in seconds to wait between HTTP request attempts.
	//
	// Defaults to 1.
	// Experimental.
	RetryWaitMin *float64 `field:"optional" json:"retryWaitMin" yaml:"retryWaitMin"`
	// (Optional) Whether to skip TLS verification.
	//
	// Defaults to false.
	// Experimental.
	SkipCertVerification *bool `field:"optional" json:"skipCertVerification" yaml:"skipCertVerification"`
	// (Optional) The address of the unlock REST endpoint.
	//
	// Defaults to disabled.
	// Experimental.
	UnlockAddress *string `field:"optional" json:"unlockAddress" yaml:"unlockAddress"`
	// (Optional) The HTTP method to use when unlocking.
	//
	// Defaults to UNLOCK.
	// Experimental.
	UnlockMethod *string `field:"optional" json:"unlockMethod" yaml:"unlockMethod"`
	// (Optional) HTTP method to use when updating state.
	//
	// Defaults to POST.
	// Experimental.
	UpdateMethod *string `field:"optional" json:"updateMethod" yaml:"updateMethod"`
	// (Optional) The username for HTTP basic authentication.
	// Experimental.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Stores the state using a simple REST client.

State will be fetched via GET, updated via POST, and purged with DELETE. The method used for updating is configurable.

This backend optionally supports state locking. When locking support is enabled it will use LOCK and UNLOCK requests providing the lock info in the body. The endpoint should return a 423: Locked or 409: Conflict with the holding lock info when it's already taken, 200: OK for success. Any other status will be considered an error. The ID of the holding lock info will be added as a query parameter to state updates requests.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/http Experimental.

type IAnyProducer

type IAnyProducer interface {
	// Produce the value.
	// Experimental.
	Produce(context IResolveContext) interface{}
}

Interface for lazy untyped value producers. Experimental.

type IAspect added in v0.6.0

type IAspect interface {
	// All aspects can visit an IConstruct.
	// Experimental.
	Visit(node constructs.IConstruct)
}

Represents an Aspect. Experimental.

type IFragmentConcatenator

type IFragmentConcatenator interface {
	// Join the fragment on the left and on the right.
	// Experimental.
	Join(left interface{}, right interface{}) interface{}
}

Function used to concatenate symbols in the target document language.

Interface so it could potentially be exposed over jsii. Experimental.

type IInterpolatingParent added in v0.9.0

type IInterpolatingParent interface {
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) IResolvable
}

Experimental.

type IListProducer

type IListProducer interface {
	// Produce the list value.
	// Experimental.
	Produce(context IResolveContext) *[]*string
}

Interface for lazy list producers. Experimental.

type IManifest added in v0.6.0

type IManifest interface {
	// Experimental.
	Stacks() *map[string]*StackManifest
	// Experimental.
	Version() *string
}

Experimental.

type INumberProducer

type INumberProducer interface {
	// Produce the number value.
	// Experimental.
	Produce(context IResolveContext) *float64
}

Interface for lazy number producers. Experimental.

type IPostProcessor

type IPostProcessor interface {
	// Process the completely resolved value, after full recursion/resolution has happened.
	// Experimental.
	PostProcess(input interface{}, context IResolveContext) interface{}
}

A Token that can post-process the complete resolved value, after resolve() has recursed over it. Experimental.

type IRemoteWorkspace

type IRemoteWorkspace interface {
}

Experimental.

type IResolvable

type IResolvable interface {
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
}

Interface for values that can be resolvable later.

Tokens are special objects that participate in synthesis. Experimental.

func FnGenerated_Alltrue added in v0.16.0

func FnGenerated_Alltrue(list *[]interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/alltrue alltrue} returns `true` if all elements in a given collection are `true` or `&#34;true&#34;`. It also returns `true` if the collection is empty. Experimental.

func FnGenerated_Anytrue added in v0.16.0

func FnGenerated_Anytrue(list *[]interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/anytrue anytrue} returns `true` if any element in a given collection is `true` or `&#34;true&#34;`. It also returns `false` if the collection is empty. Experimental.

func FnGenerated_Can added in v0.16.0

func FnGenerated_Can(expression interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/can can} evaluates the given expression and returns a boolean value indicating whether the expression produced a result without any errors. Experimental.

func FnGenerated_Endswith added in v0.16.0

func FnGenerated_Endswith(str *string, suffix *string) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/endswith endswith} takes two values: a string to check and a suffix string. The function returns true if the first string ends with that exact suffix. Experimental.

func FnGenerated_Fileexists added in v0.16.0

func FnGenerated_Fileexists(path *string) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/fileexists fileexists} determines whether a file exists at a given path. Experimental.

func FnGenerated_Startswith added in v0.16.0

func FnGenerated_Startswith(str *string, prefix *string) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/startswith startswith} takes two values: a string to check and a prefix string. The function returns true if the string begins with that exact prefix. Experimental.

func FnGenerated_Tobool added in v0.16.0

func FnGenerated_Tobool(v interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/tobool tobool} converts its argument to a boolean value. Experimental.

func Fn_Alltrue added in v0.6.0

func Fn_Alltrue(list *[]interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/alltrue alltrue} returns `true` if all elements in a given collection are `true` or `&#34;true&#34;`. It also returns `true` if the collection is empty. Experimental.

func Fn_Anytrue added in v0.6.0

func Fn_Anytrue(list *[]interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/anytrue anytrue} returns `true` if any element in a given collection is `true` or `&#34;true&#34;`. It also returns `false` if the collection is empty. Experimental.

func Fn_Can added in v0.6.0

func Fn_Can(expression interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/can can} evaluates the given expression and returns a boolean value indicating whether the expression produced a result without any errors. Experimental.

func Fn_Endswith added in v0.16.0

func Fn_Endswith(str *string, suffix *string) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/endswith endswith} takes two values: a string to check and a suffix string. The function returns true if the first string ends with that exact suffix. Experimental.

func Fn_Fileexists added in v0.6.0

func Fn_Fileexists(path *string) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/fileexists fileexists} determines whether a file exists at a given path. Experimental.

func Fn_Startswith added in v0.16.0

func Fn_Startswith(str *string, prefix *string) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/startswith startswith} takes two values: a string to check and a prefix string. The function returns true if the string begins with that exact prefix. Experimental.

func Fn_Tobool added in v0.6.0

func Fn_Tobool(v interface{}) IResolvable

{@link https://developer.hashicorp.com/terraform/language/functions/tobool tobool} converts its argument to a boolean value. Experimental.

func Lazy_AnyValue

func Lazy_AnyValue(producer IAnyProducer, options *LazyAnyValueOptions) IResolvable

Produces a lazy token from an untyped value. Experimental.

func Op_Add added in v0.14.0

func Op_Add(left interface{}, right interface{}) IResolvable

Renders left + right. Experimental.

func Op_And added in v0.14.0

func Op_And(left interface{}, right interface{}) IResolvable

Renders left && right. Experimental.

func Op_Div added in v0.14.0

func Op_Div(left interface{}, right interface{}) IResolvable

Renders left / right. Experimental.

func Op_Eq added in v0.14.0

func Op_Eq(left interface{}, right interface{}) IResolvable

Renders left == right. Experimental.

func Op_Gt added in v0.14.0

func Op_Gt(left interface{}, right interface{}) IResolvable

Renders left > right. Experimental.

func Op_Gte added in v0.14.0

func Op_Gte(left interface{}, right interface{}) IResolvable

Renders left >= right. Experimental.

func Op_Lt added in v0.14.0

func Op_Lt(left interface{}, right interface{}) IResolvable

Renders left < right. Experimental.

func Op_Lte added in v0.14.0

func Op_Lte(left interface{}, right interface{}) IResolvable

Renders left <= right. Experimental.

func Op_Mod added in v0.14.0

func Op_Mod(left interface{}, right interface{}) IResolvable

Renders left % right. Experimental.

func Op_Mul added in v0.14.0

func Op_Mul(left interface{}, right interface{}) IResolvable

Renders left * right. Experimental.

func Op_Negate added in v0.14.0

func Op_Negate(expression interface{}) IResolvable

Renders -expression. Experimental.

func Op_Neq added in v0.14.0

func Op_Neq(left interface{}, right interface{}) IResolvable

Renders left != right. Experimental.

func Op_Not added in v0.14.0

func Op_Not(expression interface{}) IResolvable

Renders !expression. Experimental.

func Op_Or added in v0.14.0

func Op_Or(left interface{}, right interface{}) IResolvable

Renders left || right. Experimental.

func Op_Sub added in v0.14.0

func Op_Sub(left interface{}, right interface{}) IResolvable

Renders left - right. Experimental.

func Token_AsAny

func Token_AsAny(value interface{}) IResolvable

Return a resolvable representation of the given value. Experimental.

func Token_NullValue added in v0.14.0

func Token_NullValue() IResolvable

Return a Token containing a `null` value.

Note: This is different than `undefined`, `nil`, `None` or similar as it will end up in the Terraform config and can be used to explicitly not set an attribute (which is sometimes required by Terraform providers).

Returns: a Token resolving to `null` as understood by Terraform. Experimental.

func Tokenization_ReverseList

func Tokenization_ReverseList(l *[]*string) IResolvable

Un-encode a Tokenized value from a list. Experimental.

func Tokenization_ReverseMap added in v0.9.0

func Tokenization_ReverseMap(m *map[string]interface{}) IResolvable

Un-encode a Tokenized value from a map. Experimental.

func Tokenization_ReverseNumber

func Tokenization_ReverseNumber(n *float64) IResolvable

Un-encode a Tokenized value from a number. Experimental.

func Tokenization_ReverseNumberList added in v0.9.0

func Tokenization_ReverseNumberList(l *[]*float64) IResolvable

Un-encode a Tokenized value from a list. Experimental.

type IResolveContext

type IResolveContext interface {
	// Use this postprocessor after the entire token structure has been resolved.
	// Experimental.
	RegisterPostProcessor(postProcessor IPostProcessor)
	// Resolve an inner object.
	// Experimental.
	Resolve(x interface{}) interface{}
	// True when ${} should not be parsed, and treated as literals.
	// Experimental.
	IgnoreEscapes() *bool
	// Experimental.
	SetIgnoreEscapes(i *bool)
	// TerraformIterators can be passed for block attributes and normal list attributes both require different handling when the iterable variable is accessed e.g. a dynamic block needs each.key while a for expression just needs key.
	// Experimental.
	IteratorContext() *string
	// Experimental.
	SetIteratorContext(i *string)
	// True when we are still preparing, false if we're rendering the final output.
	// Experimental.
	Preparing() *bool
	// The scope from which resolution has been initiated.
	// Experimental.
	Scope() constructs.IConstruct
	// True when ${} should be ommitted (because already inside them), false otherwise.
	// Experimental.
	SuppressBraces() *bool
	// Experimental.
	SetSuppressBraces(s *bool)
	// True when ${} should not be included in the string to be resolved, outputs a warning.
	//
	// Default: false.
	// Experimental.
	WarnEscapes() *bool
	// Experimental.
	SetWarnEscapes(w *bool)
}

Current resolution context for tokens. Experimental.

type IResource

type IResource interface {
	constructs.IConstruct
	// The stack in which this resource is defined.
	// Experimental.
	Stack() TerraformStack
}

Experimental.

type IResourceConstructor added in v0.6.0

type IResourceConstructor interface {
}

Experimental.

type IScopeCallback added in v0.6.0

type IScopeCallback interface {
}

Experimental.

type IStackSynthesizer added in v0.6.0

type IStackSynthesizer interface {
	// Synthesize the associated stack to the session.
	// Experimental.
	Synthesize(session ISynthesisSession)
}

Encodes information how a certain Stack should be deployed inspired by AWS CDK v2 implementation (synth functionality was removed in constructs v10). Experimental.

type IStringProducer

type IStringProducer interface {
	// Produce the string value.
	// Experimental.
	Produce(context IResolveContext) *string
}

Interface for lazy string producers. Experimental.

type ISynthesisSession added in v0.6.0

type ISynthesisSession interface {
	// Experimental.
	Manifest() Manifest
	// The output directory for this synthesis session.
	// Experimental.
	Outdir() *string
	// Experimental.
	SkipValidation() *bool
}

Represents a single session of synthesis.

Passed into `TerraformStack.onSynthesize()` methods. originally from aws/constructs lib v3.3.126 (synth functionality was removed in constructs v10) Experimental.

type ITerraformAddressable added in v0.8.0

type ITerraformAddressable interface {
	// Experimental.
	Fqn() *string
}

Experimental.

type ITerraformDependable

type ITerraformDependable interface {
	ITerraformAddressable
}

Experimental.

type ITerraformIterator added in v0.12.0

type ITerraformIterator interface {
}

Experimental.

type ITerraformResource

type ITerraformResource interface {
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) IResolvable
	// Experimental.
	Count() *float64
	// Experimental.
	SetCount(c *float64)
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(d *[]*string)
	// Experimental.
	ForEach() ITerraformIterator
	// Experimental.
	SetForEach(f ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Lifecycle() *TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(l *TerraformResourceLifecycle)
	// Experimental.
	Provider() TerraformProvider
	// Experimental.
	SetProvider(p TerraformProvider)
	// Experimental.
	TerraformResourceType() *string
}

Experimental.

type ITokenMapper

type ITokenMapper interface {
	// Replace a single token.
	// Experimental.
	MapToken(t IResolvable) interface{}
}

Interface to apply operation to tokens in a string.

Interface so it can be exported via jsii. Experimental.

type ITokenResolver

type ITokenResolver interface {
	// Resolve a tokenized list.
	// Experimental.
	ResolveList(l *[]*string, context IResolveContext) interface{}
	// Resolve a tokenized map.
	// Experimental.
	ResolveMap(m *map[string]interface{}, context IResolveContext) interface{}
	// Resolve a tokenized number list.
	// Experimental.
	ResolveNumberList(l *[]*float64, context IResolveContext) interface{}
	// Resolve a string with at least one stringified token in it.
	//
	// (May use concatenation).
	// Experimental.
	ResolveString(s TokenizedStringFragments, context IResolveContext) interface{}
	// Resolve a single token.
	// Experimental.
	ResolveToken(t IResolvable, context IResolveContext, postProcessor IPostProcessor) interface{}
}

How to resolve tokens. Experimental.

type Lazy

type Lazy interface {
}

Lazily produce a value.

Can be used to return a string, list or numeric value whose actual value will only be calculated later, during synthesis. Experimental.

func NewLazy

func NewLazy() Lazy

Experimental.

type LazyAnyValueOptions

type LazyAnyValueOptions struct {
	// Use the given name as a display hint.
	// Experimental.
	DisplayHint *string `field:"optional" json:"displayHint" yaml:"displayHint"`
	// If the produced value is an array and it is empty, return 'undefined' instead.
	// Experimental.
	OmitEmptyArray *bool `field:"optional" json:"omitEmptyArray" yaml:"omitEmptyArray"`
}

Options for creating lazy untyped tokens. Experimental.

type LazyBase added in v0.7.0

type LazyBase interface {
	IResolvable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	AddPostProcessor(postProcessor IPostProcessor)
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(context IResolveContext) interface{}
	// Experimental.
	ResolveLazy(context IResolveContext) interface{}
	// Turn this Token into JSON.
	//
	// Called automatically when JSON.stringify() is called on a Token.
	// Experimental.
	ToJSON() interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

type LazyListValueOptions

type LazyListValueOptions struct {
	// Use the given name as a display hint.
	// Experimental.
	DisplayHint *string `field:"optional" json:"displayHint" yaml:"displayHint"`
	// If the produced list is empty, return 'undefined' instead.
	// Experimental.
	OmitEmpty *bool `field:"optional" json:"omitEmpty" yaml:"omitEmpty"`
}

Options for creating a lazy list token. Experimental.

type LazyStringValueOptions

type LazyStringValueOptions struct {
	// Use the given name as a display hint.
	// Experimental.
	DisplayHint *string `field:"optional" json:"displayHint" yaml:"displayHint"`
}

Options for creating a lazy string token. Experimental.

type ListTerraformIterator added in v0.12.0

type ListTerraformIterator interface {
	TerraformIterator
	// Returns the currenty entry in the list or set that is being iterated over.
	//
	// For lists this is the same as `iterator.value`. If you need the index,
	// use count using the escape hatch:
	// https://developer.hashicorp.com/terraform/cdktf/concepts/resources#escape-hatch
	// Experimental.
	Key() interface{}
	// Returns the value of the current item iterated over.
	// Experimental.
	Value() interface{}
	// Experimental.
	Dynamic(attributes *map[string]interface{}) IResolvable
	// Returns: the given attribute of the current item iterated over as any.
	// Experimental.
	GetAny(attribute *string) IResolvable
	// Returns: the given attribute of the current item iterated over as a map of any.
	// Experimental.
	GetAnyMap(attribute *string) *map[string]interface{}
	// Returns: the given attribute of the current item iterated over as a boolean.
	// Experimental.
	GetBoolean(attribute *string) IResolvable
	// Returns: the given attribute of the current item iterated over as a map of booleans.
	// Experimental.
	GetBooleanMap(attribute *string) *map[string]*bool
	// Returns: the given attribute of the current item iterated over as a (string) list.
	// Experimental.
	GetList(attribute *string) *[]*string
	// Returns: the given attribute of the current item iterated over as a map.
	// Experimental.
	GetMap(attribute *string) *map[string]interface{}
	// Returns: the given attribute of the current item iterated over as a number.
	// Experimental.
	GetNumber(attribute *string) *float64
	// Returns: the given attribute of the current item iterated over as a number list.
	// Experimental.
	GetNumberList(attribute *string) *[]*float64
	// Returns: the given attribute of the current item iterated over as a map of numbers.
	// Experimental.
	GetNumberMap(attribute *string) *map[string]*float64
	// Returns: the given attribute of the current item iterated over as a string.
	// Experimental.
	GetString(attribute *string) *string
	// Returns: the given attribute of the current item iterated over as a map of strings.
	// Experimental.
	GetStringMap(attribute *string) *map[string]*string
}

Experimental.

func ListTerraformIterator_FromList added in v0.12.0

func ListTerraformIterator_FromList(list interface{}) ListTerraformIterator

Creates a new iterator from a list. Experimental.

func MapTerraformIterator_FromList added in v0.12.0

func MapTerraformIterator_FromList(list interface{}) ListTerraformIterator

Creates a new iterator from a list. Experimental.

func NewListTerraformIterator added in v0.12.0

func NewListTerraformIterator(list interface{}) ListTerraformIterator

Experimental.

func TerraformIterator_FromList added in v0.12.0

func TerraformIterator_FromList(list interface{}) ListTerraformIterator

Creates a new iterator from a list. Experimental.

type LocalBackend

type LocalBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewLocalBackend

func NewLocalBackend(scope constructs.Construct, props *LocalBackendConfig) LocalBackend

Experimental.

type LocalBackendConfig added in v0.15.0

type LocalBackendConfig struct {
	// Path where the state file is stored.
	// Experimental.
	Path *string `field:"optional" json:"path" yaml:"path"`
	// (Optional) The path to non-default workspaces.
	// Experimental.
	WorkspaceDir *string `field:"optional" json:"workspaceDir" yaml:"workspaceDir"`
}

The local backend stores state on the local filesystem, locks that state using system APIs, and performs operations locally.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/local Experimental.

type LocalExecProvisioner added in v0.12.2

type LocalExecProvisioner struct {
	// This is the command to execute.
	//
	// It can be provided as a relative path to the current working directory or as an absolute path.
	// It is evaluated in a shell, and can use environment variables or Terraform variables.
	// Experimental.
	Command *string `field:"required" json:"command" yaml:"command"`
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// A record of key value pairs representing the environment of the executed command.
	//
	// It inherits the current process environment.
	// Experimental.
	Environment *map[string]*string `field:"optional" json:"environment" yaml:"environment"`
	// If provided, this is a list of interpreter arguments used to execute the command.
	//
	// The first argument is the interpreter itself.
	// It can be provided as a relative path to the current working directory or as an absolute path
	// The remaining arguments are appended prior to the command.
	// This allows building command lines of the form "/bin/bash", "-c", "echo foo".
	// If interpreter is unspecified, sensible defaults will be chosen based on the system OS.
	// Experimental.
	Interpreter *[]*string `field:"optional" json:"interpreter" yaml:"interpreter"`
	// If provided, specifies when Terraform will execute the command.
	//
	// For example, when = destroy specifies that the provisioner will run when the associated resource is destroyed.
	// Experimental.
	When *string `field:"optional" json:"when" yaml:"when"`
	// If provided, specifies the working directory where command will be executed.
	//
	// It can be provided as a relative path to the current working directory or as an absolute path.
	// The directory must exist.
	// Experimental.
	WorkingDir *string `field:"optional" json:"workingDir" yaml:"workingDir"`
}

The local-exec provisioner invokes a local executable after a resource is created.

This invokes a process on the machine running Terraform, not on the resource.

See {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/local-exec local-exec} Experimental.

type Manifest

type Manifest interface {
	IManifest
	// Experimental.
	Outdir() *string
	// Experimental.
	Stacks() *map[string]*StackManifest
	// Experimental.
	Version() *string
	// Experimental.
	BuildManifest() IManifest
	// Experimental.
	ForStack(stack TerraformStack) *StackManifest
	// Experimental.
	WriteToFile()
}

Experimental.

func NewManifest

func NewManifest(version *string, outdir *string) Manifest

Experimental.

type MantaBackend deprecated

type MantaBackend interface {
	TerraformBackend
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Name() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	SynthesizeAttributes() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

func NewMantaBackend deprecated

func NewMantaBackend(scope constructs.Construct, props *MantaBackendConfig) MantaBackend

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

type MantaBackendConfig deprecated added in v0.15.0

type MantaBackendConfig struct {
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	KeyId *string `field:"required" json:"keyId" yaml:"keyId"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Path *string `field:"required" json:"path" yaml:"path"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	InsecureSkipTlsVerify *bool `field:"optional" json:"insecureSkipTlsVerify" yaml:"insecureSkipTlsVerify"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	KeyMaterial *string `field:"optional" json:"keyMaterial" yaml:"keyMaterial"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	ObjectName *string `field:"optional" json:"objectName" yaml:"objectName"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	Url *string `field:"optional" json:"url" yaml:"url"`
	// Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.
	User *string `field:"optional" json:"user" yaml:"user"`
}

Deprecated: CDK for Terraform no longer supports the manta backend. Terraform deprecated manta in v1.2.3 and removed it in v1.3.

type MapList added in v0.16.0

type MapList interface {
	IInterpolatingParent
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

type MapTerraformIterator added in v0.12.0

type MapTerraformIterator interface {
	TerraformIterator
	// Returns the key of the current entry in the map that is being iterated over.
	// Experimental.
	Key() *string
	// Returns the value of the current item iterated over.
	// Experimental.
	Value() interface{}
	// Experimental.
	Dynamic(attributes *map[string]interface{}) IResolvable
	// Returns: the given attribute of the current item iterated over as any.
	// Experimental.
	GetAny(attribute *string) IResolvable
	// Returns: the given attribute of the current item iterated over as a map of any.
	// Experimental.
	GetAnyMap(attribute *string) *map[string]interface{}
	// Returns: the given attribute of the current item iterated over as a boolean.
	// Experimental.
	GetBoolean(attribute *string) IResolvable
	// Returns: the given attribute of the current item iterated over as a map of booleans.
	// Experimental.
	GetBooleanMap(attribute *string) *map[string]*bool
	// Returns: the given attribute of the current item iterated over as a (string) list.
	// Experimental.
	GetList(attribute *string) *[]*string
	// Returns: the given attribute of the current item iterated over as a map.
	// Experimental.
	GetMap(attribute *string) *map[string]interface{}
	// Returns: the given attribute of the current item iterated over as a number.
	// Experimental.
	GetNumber(attribute *string) *float64
	// Returns: the given attribute of the current item iterated over as a number list.
	// Experimental.
	GetNumberList(attribute *string) *[]*float64
	// Returns: the given attribute of the current item iterated over as a map of numbers.
	// Experimental.
	GetNumberMap(attribute *string) *map[string]*float64
	// Returns: the given attribute of the current item iterated over as a string.
	// Experimental.
	GetString(attribute *string) *string
	// Returns: the given attribute of the current item iterated over as a map of strings.
	// Experimental.
	GetStringMap(attribute *string) *map[string]*string
}

Experimental.

func ListTerraformIterator_FromMap added in v0.12.0

func ListTerraformIterator_FromMap(map_ interface{}) MapTerraformIterator

Creates a new iterator from a map. Experimental.

func MapTerraformIterator_FromMap added in v0.12.0

func MapTerraformIterator_FromMap(map_ interface{}) MapTerraformIterator

Creates a new iterator from a map. Experimental.

func NewMapTerraformIterator added in v0.12.0

func NewMapTerraformIterator(map_ interface{}) MapTerraformIterator

Experimental.

func TerraformIterator_FromMap added in v0.12.0

func TerraformIterator_FromMap(map_ interface{}) MapTerraformIterator

Creates a new iterator from a map. Experimental.

type NamedCloudWorkspace added in v0.12.2

type NamedCloudWorkspace interface {
	CloudWorkspace
	// Experimental.
	Name() *string
	// Experimental.
	SetName(val *string)
	// Experimental.
	ToTerraform() interface{}
}

The name of a single Terraform Cloud workspace.

You will only be able to use the workspace specified in the configuration with this working directory, and cannot manage workspaces from the CLI (e.g. terraform workspace select or terraform workspace new). Experimental.

func NewNamedCloudWorkspace added in v0.12.2

func NewNamedCloudWorkspace(name *string) NamedCloudWorkspace

Experimental.

type NamedRemoteWorkspace

type NamedRemoteWorkspace interface {
	IRemoteWorkspace
	// Experimental.
	Name() *string
	// Experimental.
	SetName(val *string)
}

Experimental.

func NewNamedRemoteWorkspace

func NewNamedRemoteWorkspace(name *string) NamedRemoteWorkspace

Experimental.

type NumberListMap added in v0.16.0

type NumberListMap interface {
	ComplexMap
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(key *string) *[]*float64
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewNumberListMap added in v0.16.0

func NewNumberListMap(terraformResource IInterpolatingParent, terraformAttribute *string) NumberListMap

Experimental.

type NumberMap

type NumberMap interface {
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Lookup(key *string) *float64
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewNumberMap

func NewNumberMap(terraformResource IInterpolatingParent, terraformAttribute *string) NumberMap

Experimental.

type NumberMapList added in v0.11.0

type NumberMapList interface {
	MapList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(index *float64) NumberMap
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewNumberMapList added in v0.11.0

func NewNumberMapList(terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) NumberMapList

Experimental.

type Op added in v0.14.0

type Op interface {
}

This class contains static functions for all arithmetical and logical operators in the Terraform configutation language. Experimental.

func NewOp added in v0.14.0

func NewOp() Op

Experimental.

type OssAssumeRole

type OssAssumeRole struct {
	// Experimental.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// Experimental.
	Policy *string `field:"optional" json:"policy" yaml:"policy"`
	// Experimental.
	SessionExpiration *float64 `field:"optional" json:"sessionExpiration" yaml:"sessionExpiration"`
	// Experimental.
	SessionName *string `field:"optional" json:"sessionName" yaml:"sessionName"`
}

Experimental.

type OssBackend

type OssBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewOssBackend

func NewOssBackend(scope constructs.Construct, props *OssBackendConfig) OssBackend

Experimental.

type OssBackendConfig added in v0.15.0

type OssBackendConfig struct {
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// Experimental.
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// Experimental.
	Acl *string `field:"optional" json:"acl" yaml:"acl"`
	// Experimental.
	AssumeRole *OssAssumeRole `field:"optional" json:"assumeRole" yaml:"assumeRole"`
	// Experimental.
	EcsRoleName *string `field:"optional" json:"ecsRoleName" yaml:"ecsRoleName"`
	// Experimental.
	Encrypt *bool `field:"optional" json:"encrypt" yaml:"encrypt"`
	// Experimental.
	Endpoint *string `field:"optional" json:"endpoint" yaml:"endpoint"`
	// Experimental.
	Key *string `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Experimental.
	SecretKey *string `field:"optional" json:"secretKey" yaml:"secretKey"`
	// Experimental.
	SecurityToken *string `field:"optional" json:"securityToken" yaml:"securityToken"`
	// Experimental.
	SharedCredentialsFile *string `field:"optional" json:"sharedCredentialsFile" yaml:"sharedCredentialsFile"`
	// Experimental.
	TablestoreEndpoint *string `field:"optional" json:"tablestoreEndpoint" yaml:"tablestoreEndpoint"`
	// Experimental.
	TablestoreTable *string `field:"optional" json:"tablestoreTable" yaml:"tablestoreTable"`
}

Experimental.

type PgBackend

type PgBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewPgBackend

func NewPgBackend(scope constructs.Construct, props *PgBackendConfig) PgBackend

Experimental.

type PgBackendConfig added in v0.15.0

type PgBackendConfig struct {
	// Experimental.
	ConnStr *string `field:"required" json:"connStr" yaml:"connStr"`
	// Experimental.
	SchemaName *string `field:"optional" json:"schemaName" yaml:"schemaName"`
	// Experimental.
	SkipSchemaCreation *bool `field:"optional" json:"skipSchemaCreation" yaml:"skipSchemaCreation"`
}

Experimental.

type Postcondition added in v0.16.0

type Postcondition struct {
	// This is a boolean expression that should return true if the intended assumption or guarantee is fulfilled or false if it does not.
	// Experimental.
	Condition interface{} `field:"required" json:"condition" yaml:"condition"`
	// This contains the text that Terraform will include as part of error messages when it detects an unmet condition.
	// Experimental.
	ErrorMessage *string `field:"required" json:"errorMessage" yaml:"errorMessage"`
}

Terraform checks a postcondition after evaluating the object it is associated with. Experimental.

type Precondition added in v0.16.0

type Precondition struct {
	// This is a boolean expression that should return true if the intended assumption or guarantee is fulfilled or false if it does not.
	// Experimental.
	Condition interface{} `field:"required" json:"condition" yaml:"condition"`
	// This contains the text that Terraform will include as part of error messages when it detects an unmet condition.
	// Experimental.
	ErrorMessage *string `field:"required" json:"errorMessage" yaml:"errorMessage"`
}

Terraform checks a precondition before evaluating the object it is associated with. Experimental.

type PrefixedRemoteWorkspaces

type PrefixedRemoteWorkspaces interface {
	IRemoteWorkspace
	// Experimental.
	Prefix() *string
	// Experimental.
	SetPrefix(val *string)
}

Experimental.

func NewPrefixedRemoteWorkspaces

func NewPrefixedRemoteWorkspaces(prefix *string) PrefixedRemoteWorkspaces

Experimental.

type RemoteBackend

type RemoteBackend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewRemoteBackend

func NewRemoteBackend(scope constructs.Construct, props *RemoteBackendConfig) RemoteBackend

Experimental.

type RemoteBackendConfig added in v0.15.0

type RemoteBackendConfig struct {
	// Experimental.
	Organization *string `field:"required" json:"organization" yaml:"organization"`
	// Experimental.
	Workspaces IRemoteWorkspace `field:"required" json:"workspaces" yaml:"workspaces"`
	// Experimental.
	Hostname *string `field:"optional" json:"hostname" yaml:"hostname"`
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
}

Experimental.

type RemoteExecProvisioner added in v0.12.2

type RemoteExecProvisioner struct {
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Most provisioners require access to the remote resource via SSH or WinRM and expect a nested connection block with details about how to connect.
	//
	// A connection must be provided here or in the parent resource.
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// This is a list of command strings.
	//
	// They are executed in the order they are provided.
	// This cannot be provided with script or scripts.
	// Experimental.
	Inline *[]*string `field:"optional" json:"inline" yaml:"inline"`
	// This is a path (relative or absolute) to a local script that will be copied to the remote resource and then executed.
	//
	// This cannot be provided with inline or scripts.
	// Experimental.
	Script *string `field:"optional" json:"script" yaml:"script"`
	// This is a list of paths (relative or absolute) to local scripts that will be copied to the remote resource and then executed.
	//
	// They are executed in the order they are provided.
	// This cannot be provided with inline or script.
	// Experimental.
	Scripts *[]*string `field:"optional" json:"scripts" yaml:"scripts"`
}

The remote-exec provisioner invokes a script on a remote resource after it is created.

This can be used to run a configuration management tool, bootstrap into a cluster, etc The remote-exec provisioner requires a connection and supports both ssh and winrm.

See {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/remote-exec remote-exec} Experimental.

type ResolveOptions

type ResolveOptions struct {
	// The resolver to apply to any resolvable tokens found.
	// Experimental.
	Resolver ITokenResolver `field:"required" json:"resolver" yaml:"resolver"`
	// The scope from which resolution is performed.
	// Experimental.
	Scope constructs.IConstruct `field:"required" json:"scope" yaml:"scope"`
	// Whether the resolution is being executed during the prepare phase or not.
	// Experimental.
	Preparing *bool `field:"optional" json:"preparing" yaml:"preparing"`
}

Options to the resolve() operation.

NOT the same as the ResolveContext; ResolveContext is exposed to Token implementors and resolution hooks, whereas this struct is just to bundle a number of things that would otherwise be arguments to resolve() in a readable way. Experimental.

type Resource

type Resource interface {
	constructs.Construct
	IResource
	// The tree node.
	// Deprecated: - Please use Construct from the constructs package instead.
	Node() constructs.Node
	// The stack in which this resource is defined.
	// Deprecated: - Please use Construct from the constructs package instead.
	Stack() TerraformStack
	// Returns a string representation of this construct.
	// Deprecated: - Please use Construct from the constructs package instead.
	ToString() *string
}

A construct which represents a resource. Deprecated: - Please use Construct from the constructs package instead.

type S3Backend

type S3Backend interface {
	TerraformBackend
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewS3Backend

func NewS3Backend(scope constructs.Construct, props *S3BackendConfig) S3Backend

Experimental.

type S3BackendConfig added in v0.15.0

type S3BackendConfig struct {
	// Name of the S3 Bucket.
	// Experimental.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// Path to the state file inside the S3 Bucket.
	//
	// When using a non-default workspace, the state path will be /workspace_key_prefix/workspace_name/key.
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// (Optional) AWS access key.
	//
	// If configured, must also configure secret_key.
	// This can also be sourced from
	// the AWS_ACCESS_KEY_ID environment variable,
	// AWS shared credentials file (e.g. ~/.aws/credentials),
	// or AWS shared configuration file (e.g. ~/.aws/config).
	// Experimental.
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// (Optional) Canned ACL to be applied to the state file.
	// Experimental.
	Acl *string `field:"optional" json:"acl" yaml:"acl"`
	// (Optional) IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.
	// Experimental.
	AssumeRolePolicy *string `field:"optional" json:"assumeRolePolicy" yaml:"assumeRolePolicy"`
	// (Optional) Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed.
	// Experimental.
	AssumeRolePolicyArns *[]*string `field:"optional" json:"assumeRolePolicyArns" yaml:"assumeRolePolicyArns"`
	// (Optional) Map of assume role session tags.
	// Experimental.
	AssumeRoleTags *map[string]*string `field:"optional" json:"assumeRoleTags" yaml:"assumeRoleTags"`
	// (Optional) Set of assume role session tag keys to pass to any subsequent sessions.
	// Experimental.
	AssumeRoleTransitiveTagKeys *[]*string `field:"optional" json:"assumeRoleTransitiveTagKeys" yaml:"assumeRoleTransitiveTagKeys"`
	// (Optional) Custom endpoint for the AWS DynamoDB API.
	//
	// This can also be sourced from the AWS_DYNAMODB_ENDPOINT environment variable.
	// Experimental.
	DynamodbEndpoint *string `field:"optional" json:"dynamodbEndpoint" yaml:"dynamodbEndpoint"`
	// (Optional) Name of DynamoDB Table to use for state locking and consistency.
	//
	// The table must have a partition key named LockID with type of String.
	// If not configured, state locking will be disabled.
	// Experimental.
	DynamodbTable *string `field:"optional" json:"dynamodbTable" yaml:"dynamodbTable"`
	// (Optional) Enable server side encryption of the state file.
	// Experimental.
	Encrypt *bool `field:"optional" json:"encrypt" yaml:"encrypt"`
	// (Optional) Custom endpoint for the AWS S3 API.
	//
	// This can also be sourced from the AWS_S3_ENDPOINT environment variable.
	// Experimental.
	Endpoint *string `field:"optional" json:"endpoint" yaml:"endpoint"`
	// (Optional) External identifier to use when assuming the role.
	// Experimental.
	ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
	// (Optional) Enable path-style S3 URLs (https://<HOST>/<BUCKET> instead of https://<BUCKET>.<HOST>).
	// Experimental.
	ForcePathStyle *bool `field:"optional" json:"forcePathStyle" yaml:"forcePathStyle"`
	// (Optional) Custom endpoint for the AWS Identity and Access Management (IAM) API.
	//
	// This can also be sourced from the AWS_IAM_ENDPOINT environment variable.
	// Experimental.
	IamEndpoint *string `field:"optional" json:"iamEndpoint" yaml:"iamEndpoint"`
	// (Optional) Amazon Resource Name (ARN) of a Key Management Service (KMS) Key to use for encrypting the state.
	//
	// Note that if this value is specified,
	// Terraform will need kms:Encrypt, kms:Decrypt and kms:GenerateDataKey permissions on this KMS key.
	// Experimental.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// (Optional) The maximum number of times an AWS API request is retried on retryable failure.
	//
	// Defaults to 5.
	// Experimental.
	MaxRetries *float64 `field:"optional" json:"maxRetries" yaml:"maxRetries"`
	// (Optional) Name of AWS profile in AWS shared credentials file (e.g. ~/.aws/credentials) or AWS shared configuration file (e.g. ~/.aws/config) to use for credentials and/or configuration. This can also be sourced from the AWS_PROFILE environment variable.
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// AWS Region of the S3 Bucket and DynamoDB Table (if used).
	//
	// This can also
	// be sourced from the AWS_DEFAULT_REGION and AWS_REGION environment
	// variables.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// (Optional) Amazon Resource Name (ARN) of the IAM Role to assume.
	// Experimental.
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// (Optional) AWS secret access key.
	//
	// If configured, must also configure access_key.
	// This can also be sourced from
	// the AWS_SECRET_ACCESS_KEY environment variable,
	// AWS shared credentials file (e.g. ~/.aws/credentials),
	// or AWS shared configuration file (e.g. ~/.aws/config)
	// Experimental.
	SecretKey *string `field:"optional" json:"secretKey" yaml:"secretKey"`
	// (Optional) Session name to use when assuming the role.
	// Experimental.
	SessionName *string `field:"optional" json:"sessionName" yaml:"sessionName"`
	// (Optional) Path to the AWS shared credentials file.
	//
	// Defaults to ~/.aws/credentials.
	// Experimental.
	SharedCredentialsFile *string `field:"optional" json:"sharedCredentialsFile" yaml:"sharedCredentialsFile"`
	// (Optional) Skip credentials validation via the STS API.
	// Experimental.
	SkipCredentialsValidation *bool `field:"optional" json:"skipCredentialsValidation" yaml:"skipCredentialsValidation"`
	// (Optional) Skip usage of EC2 Metadata API.
	// Experimental.
	SkipMetadataApiCheck *bool `field:"optional" json:"skipMetadataApiCheck" yaml:"skipMetadataApiCheck"`
	// (Optional) Skip validation of provided region name.
	// Experimental.
	SkipRegionValidation *bool `field:"optional" json:"skipRegionValidation" yaml:"skipRegionValidation"`
	// (Optional) The key to use for encrypting state with Server-Side Encryption with Customer-Provided Keys (SSE-C).
	//
	// This is the base64-encoded value of the key, which must decode to 256 bits.
	// This can also be sourced from the AWS_SSE_CUSTOMER_KEY environment variable,
	// which is recommended due to the sensitivity of the value.
	// Setting it inside a terraform file will cause it to be persisted to disk in terraform.tfstate.
	// Experimental.
	SseCustomerKey *string `field:"optional" json:"sseCustomerKey" yaml:"sseCustomerKey"`
	// (Optional) Custom endpoint for the AWS Security Token Service (STS) API.
	//
	// This can also be sourced from the AWS_STS_ENDPOINT environment variable.
	// Experimental.
	StsEndpoint *string `field:"optional" json:"stsEndpoint" yaml:"stsEndpoint"`
	// (Optional) Multi-Factor Authentication (MFA) token.
	//
	// This can also be sourced from the AWS_SESSION_TOKEN environment variable.
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
	// (Optional) Prefix applied to the state path inside the bucket.
	//
	// This is only relevant when using a non-default workspace. Defaults to env:
	// Experimental.
	WorkspaceKeyPrefix *string `field:"optional" json:"workspaceKeyPrefix" yaml:"workspaceKeyPrefix"`
}

Stores the state as a given key in a given bucket on Amazon S3.

This backend also supports state locking and consistency checking via Dynamo DB, which can be enabled by setting the dynamodb_table field to an existing DynamoDB table name. A single DynamoDB table can be used to lock multiple remote state files. Terraform generates key names that include the values of the bucket and key variables.

Warning! It is highly recommended that you enable Bucket Versioning on the S3 bucket to allow for state recovery in the case of accidental deletions and human error.

Read more about this backend in the Terraform docs: https://developer.hashicorp.com/terraform/language/settings/backends/s3 Experimental.

type SSHProvisionerConnection added in v0.12.2

type SSHProvisionerConnection struct {
	// The address of the resource to connect to.
	// Experimental.
	Host *string `field:"required" json:"host" yaml:"host"`
	// The connection type.
	//
	// Valid values are "ssh" and "winrm".
	// Provisioners typically assume that the remote system runs Microsoft Windows when using WinRM.
	// Behaviors based on the SSH target_platform will force Windows-specific behavior for WinRM, unless otherwise specified.
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Set to false to disable using ssh-agent to authenticate.
	//
	// On Windows the only supported SSH authentication agent is Pageant.
	// Experimental.
	Agent *string `field:"optional" json:"agent" yaml:"agent"`
	// The preferred identity from the ssh agent for authentication.
	// Experimental.
	AgentIdentity *string `field:"optional" json:"agentIdentity" yaml:"agentIdentity"`
	// The contents of a signed CA Certificate.
	//
	// The certificate argument must be used in conjunction with a bastion_private_key.
	// These can be loaded from a file on disk using the the file function.
	// Experimental.
	BastionCertificate *string `field:"optional" json:"bastionCertificate" yaml:"bastionCertificate"`
	// Setting this enables the bastion Host connection.
	//
	// The provisioner will connect to bastion_host first, and then connect from there to host.
	// Experimental.
	BastionHost *string `field:"optional" json:"bastionHost" yaml:"bastionHost"`
	// The public key from the remote host or the signing CA, used to verify the host connection.
	// Experimental.
	BastionHostKey *string `field:"optional" json:"bastionHostKey" yaml:"bastionHostKey"`
	// The password to use for the bastion host.
	// Experimental.
	BastionPassword *string `field:"optional" json:"bastionPassword" yaml:"bastionPassword"`
	// The port to use connect to the bastion host.
	// Experimental.
	BastionPort *float64 `field:"optional" json:"bastionPort" yaml:"bastionPort"`
	// The contents of an SSH key file to use for the bastion host.
	//
	// These can be loaded from a file on disk using the file function.
	// Experimental.
	BastionPrivateKey *string `field:"optional" json:"bastionPrivateKey" yaml:"bastionPrivateKey"`
	// The user for the connection to the bastion host.
	// Experimental.
	BastionUser *string `field:"optional" json:"bastionUser" yaml:"bastionUser"`
	// The contents of a signed CA Certificate.
	//
	// The certificate argument must be used in conjunction with a private_key.
	// These can be loaded from a file on disk using the the file function.
	// Experimental.
	Certificate *string `field:"optional" json:"certificate" yaml:"certificate"`
	// The public key from the remote host or the signing CA, used to verify the connection.
	// Experimental.
	HostKey *string `field:"optional" json:"hostKey" yaml:"hostKey"`
	// The password to use for the connection.
	// Experimental.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// The port to connect to.
	// Experimental.
	Port *float64 `field:"optional" json:"port" yaml:"port"`
	// The contents of an SSH key to use for the connection.
	//
	// These can be loaded from a file on disk using the file function.
	// This takes preference over password if provided.
	// Experimental.
	PrivateKey *string `field:"optional" json:"privateKey" yaml:"privateKey"`
	// Setting this enables the SSH over HTTP connection.
	//
	// This host will be connected to first, and then the host or bastion_host connection will be made from there.
	// Experimental.
	ProxyHost *string `field:"optional" json:"proxyHost" yaml:"proxyHost"`
	// The port to use connect to the proxy host.
	// Experimental.
	ProxyPort *float64 `field:"optional" json:"proxyPort" yaml:"proxyPort"`
	// The ssh connection also supports the following fields to facilitate connections by SSH over HTTP proxy.
	// Experimental.
	ProxyScheme *string `field:"optional" json:"proxyScheme" yaml:"proxyScheme"`
	// The username to use connect to the private proxy host.
	//
	// This argument should be specified only if authentication is required for the HTTP Proxy server.
	// Experimental.
	ProxyUserName *string `field:"optional" json:"proxyUserName" yaml:"proxyUserName"`
	// The password to use connect to the private proxy host.
	//
	// This argument should be specified only if authentication is required for the HTTP Proxy server.
	// Experimental.
	ProxyUserPassword *string `field:"optional" json:"proxyUserPassword" yaml:"proxyUserPassword"`
	// The path used to copy scripts meant for remote execution.
	//
	// Refer to {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/connection#how-provisioners-execute-remote-scripts How Provisioners Execute Remote Scripts below for more details}
	// Experimental.
	ScriptPath *string `field:"optional" json:"scriptPath" yaml:"scriptPath"`
	// The target platform to connect to.
	//
	// Valid values are "windows" and "unix".
	// If the platform is set to windows, the default script_path is c:\windows\temp\terraform_%RAND%.cmd, assuming the SSH default shell is cmd.exe.
	// If the SSH default shell is PowerShell, set script_path to "c:/windows/temp/terraform_%RAND%.ps1"
	// Experimental.
	TargetPlatform *string `field:"optional" json:"targetPlatform" yaml:"targetPlatform"`
	// The timeout to wait for the connection to become available.
	//
	// Should be provided as a string (e.g., "30s" or "5m".)
	// Experimental.
	Timeout *string `field:"optional" json:"timeout" yaml:"timeout"`
	// The user to use for the connection.
	// Experimental.
	User *string `field:"optional" json:"user" yaml:"user"`
}

Most provisioners require access to the remote resource via SSH or WinRM and expect a nested connection block with details about how to connect.

Refer to {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/connection connection} Experimental.

type StackAnnotation added in v0.6.0

type StackAnnotation struct {
	// Experimental.
	ConstructPath *string `field:"required" json:"constructPath" yaml:"constructPath"`
	// Experimental.
	Level AnnotationMetadataEntryType `field:"required" json:"level" yaml:"level"`
	// Experimental.
	Message *string `field:"required" json:"message" yaml:"message"`
	// Experimental.
	Stacktrace *[]*string `field:"optional" json:"stacktrace" yaml:"stacktrace"`
}

Experimental.

type StackManifest

type StackManifest struct {
	// Experimental.
	Annotations *[]*StackAnnotation `field:"required" json:"annotations" yaml:"annotations"`
	// Experimental.
	ConstructPath *string `field:"required" json:"constructPath" yaml:"constructPath"`
	// Experimental.
	Dependencies *[]*string `field:"required" json:"dependencies" yaml:"dependencies"`
	// Experimental.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Experimental.
	SynthesizedStackPath *string `field:"required" json:"synthesizedStackPath" yaml:"synthesizedStackPath"`
	// Experimental.
	WorkingDirectory *string `field:"required" json:"workingDirectory" yaml:"workingDirectory"`
}

Experimental.

type StringConcat

type StringConcat interface {
	IFragmentConcatenator
	// Concatenates string fragments.
	// Experimental.
	Join(left interface{}, right interface{}) interface{}
}

Converts all fragments to strings and concats those.

Drops 'undefined's. Experimental.

func NewStringConcat

func NewStringConcat() StringConcat

Experimental.

type StringListMap added in v0.16.0

type StringListMap interface {
	ComplexMap
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(key *string) *[]*string
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewStringListMap added in v0.16.0

func NewStringListMap(terraformResource IInterpolatingParent, terraformAttribute *string) StringListMap

Experimental.

type StringMap

type StringMap interface {
	IResolvable
	ITerraformAddressable
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Lookup(key *string) *string
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewStringMap

func NewStringMap(terraformResource IInterpolatingParent, terraformAttribute *string) StringMap

Experimental.

type StringMapList added in v0.11.0

type StringMapList interface {
	MapList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() IInterpolatingParent
	// Experimental.
	SetTerraformResource(val IInterpolatingParent)
	// Experimental.
	WrapsSet() *bool
	// Experimental.
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	Get(index *float64) StringMap
	// Experimental.
	InterpolationForAttribute(property *string) IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

Experimental.

func NewStringMapList added in v0.11.0

func NewStringMapList(terraformResource IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) StringMapList

Experimental.

type SwiftBackend deprecated

type SwiftBackend interface {
	TerraformBackend
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	CdktfStack() TerraformStack
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ConstructNodeMetadata() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Fqn() *string
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	FriendlyUniqueId() *string
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Name() *string
	// The tree node.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Node() constructs.Node
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	RawOverrides() interface{}
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, _fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ResetOverrideLogicalId()
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	SynthesizeAttributes() *map[string]interface{}
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ToTerraform() interface{}
}

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

func NewSwiftBackend deprecated

func NewSwiftBackend(scope constructs.Construct, props *SwiftBackendConfig) SwiftBackend

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

type SwiftBackendConfig deprecated added in v0.15.0

type SwiftBackendConfig struct {
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Container *string `field:"required" json:"container" yaml:"container"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ApplicationCredentialId *string `field:"optional" json:"applicationCredentialId" yaml:"applicationCredentialId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ApplicationCredentialName *string `field:"optional" json:"applicationCredentialName" yaml:"applicationCredentialName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ApplicationCredentialSecret *string `field:"optional" json:"applicationCredentialSecret" yaml:"applicationCredentialSecret"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ArchiveContainer *string `field:"optional" json:"archiveContainer" yaml:"archiveContainer"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	AuthUrl *string `field:"optional" json:"authUrl" yaml:"authUrl"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	CacertFile *string `field:"optional" json:"cacertFile" yaml:"cacertFile"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Cert *string `field:"optional" json:"cert" yaml:"cert"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Cloud *string `field:"optional" json:"cloud" yaml:"cloud"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	DefaultDomain *string `field:"optional" json:"defaultDomain" yaml:"defaultDomain"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	DomainId *string `field:"optional" json:"domainId" yaml:"domainId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	DomainName *string `field:"optional" json:"domainName" yaml:"domainName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ExpireAfter *string `field:"optional" json:"expireAfter" yaml:"expireAfter"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Insecure *bool `field:"optional" json:"insecure" yaml:"insecure"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Key *string `field:"optional" json:"key" yaml:"key"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ProjectDomainId *string `field:"optional" json:"projectDomainId" yaml:"projectDomainId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	ProjectDomainName *string `field:"optional" json:"projectDomainName" yaml:"projectDomainName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	RegionName *string `field:"optional" json:"regionName" yaml:"regionName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	StateName *string `field:"optional" json:"stateName" yaml:"stateName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	TenantName *string `field:"optional" json:"tenantName" yaml:"tenantName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	Token *string `field:"optional" json:"token" yaml:"token"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserDomainId *string `field:"optional" json:"userDomainId" yaml:"userDomainId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserDomainName *string `field:"optional" json:"userDomainName" yaml:"userDomainName"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserId *string `field:"optional" json:"userId" yaml:"userId"`
	// Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.
	UserName *string `field:"optional" json:"userName" yaml:"userName"`
}

Deprecated: CDK for Terraform no longer supports the swift backend. Terraform deprecated swift in v1.2.3 and removed it in v1.3.

type TaggedCloudWorkspaces added in v0.12.2

type TaggedCloudWorkspaces interface {
	CloudWorkspace
	// Experimental.
	Tags() *[]*string
	// Experimental.
	SetTags(val *[]*string)
	// Experimental.
	ToTerraform() interface{}
}

A set of Terraform Cloud workspace tags.

You will be able to use this working directory with any workspaces that have all of the specified tags, and can use the terraform workspace commands to switch between them or create new workspaces. New workspaces will automatically have the specified tags. This option conflicts with name. Experimental.

func NewTaggedCloudWorkspaces added in v0.12.2

func NewTaggedCloudWorkspaces(tags *[]*string) TaggedCloudWorkspaces

Experimental.

type TerraformAsset added in v0.4.0

type TerraformAsset interface {
	constructs.Construct
	// Experimental.
	AssetHash() *string
	// Experimental.
	SetAssetHash(val *string)
	// Name of the asset.
	// Experimental.
	FileName() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// The path relative to the root of the terraform directory in posix format Use this property to reference the asset.
	// Experimental.
	Path() *string
	// Experimental.
	Type() AssetType
	// Experimental.
	SetType(val AssetType)
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func NewTerraformAsset added in v0.4.0

func NewTerraformAsset(scope constructs.Construct, id *string, config *TerraformAssetConfig) TerraformAsset

A Terraform Asset takes a file or directory outside of the CDK for Terraform context and moves it into it.

Assets copy referenced files into the stacks context for further usage in other resources. Experimental.

type TerraformAssetConfig added in v0.4.0

type TerraformAssetConfig struct {
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
	// Experimental.
	AssetHash *string `field:"optional" json:"assetHash" yaml:"assetHash"`
	// Experimental.
	Type AssetType `field:"optional" json:"type" yaml:"type"`
}

Experimental.

type TerraformBackend

type TerraformBackend interface {
	TerraformElement
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Creates a TerraformRemoteState resource that accesses this backend.
	// Experimental.
	GetRemoteStateDataSource(scope constructs.Construct, name *string, fromStack *string) TerraformRemoteState
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

type TerraformCondition added in v0.16.0

type TerraformCondition struct {
	// This is a boolean expression that should return true if the intended assumption or guarantee is fulfilled or false if it does not.
	// Experimental.
	Condition interface{} `field:"required" json:"condition" yaml:"condition"`
	// This contains the text that Terraform will include as part of error messages when it detects an unmet condition.
	// Experimental.
	ErrorMessage *string `field:"required" json:"errorMessage" yaml:"errorMessage"`
}

Experimental.

type TerraformDataSource

type TerraformDataSource interface {
	TerraformElement
	IInterpolatingParent
	ITerraformDependable
	ITerraformResource
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() *float64
	// Experimental.
	SetCount(val *float64)
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	// Experimental.
	ForEach() ITerraformIterator
	// Experimental.
	SetForEach(val ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Lifecycle() *TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *TerraformResourceLifecycle)
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Provider() TerraformProvider
	// Experimental.
	SetProvider(val TerraformProvider)
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	TerraformGeneratorMetadata() *TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformDataSource

func NewTerraformDataSource(scope constructs.Construct, id *string, config *TerraformResourceConfig) TerraformDataSource

Experimental.

type TerraformElement

type TerraformElement interface {
	constructs.Construct
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformElement

func NewTerraformElement(scope constructs.Construct, id *string, elementType *string) TerraformElement

Experimental.

type TerraformElementMetadata

type TerraformElementMetadata struct {
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
	// Experimental.
	StackTrace *[]*string `field:"required" json:"stackTrace" yaml:"stackTrace"`
	// Experimental.
	UniqueId *string `field:"required" json:"uniqueId" yaml:"uniqueId"`
}

Experimental.

type TerraformHclModule

type TerraformHclModule interface {
	TerraformModule
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	// Experimental.
	ForEach() ITerraformIterator
	// Experimental.
	SetForEach(val ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Providers() *[]interface{}
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	SkipAssetCreationFromLocalModules() *bool
	// Experimental.
	Source() *string
	// Experimental.
	Variables() *map[string]interface{}
	// Experimental.
	Version() *string
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	AddProvider(provider interface{})
	// Experimental.
	Get(output *string) interface{}
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Experimental.
	InterpolationForOutput(moduleOutput *string) IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	Set(variable *string, value interface{})
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformHclModule

func NewTerraformHclModule(scope constructs.Construct, id *string, options *TerraformHclModuleConfig) TerraformHclModule

Experimental.

type TerraformHclModuleConfig added in v0.15.0

type TerraformHclModuleConfig struct {
	// Experimental.
	DependsOn *[]ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Providers *[]interface{} `field:"optional" json:"providers" yaml:"providers"`
	// Experimental.
	SkipAssetCreationFromLocalModules *bool `field:"optional" json:"skipAssetCreationFromLocalModules" yaml:"skipAssetCreationFromLocalModules"`
	// Experimental.
	Source *string `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Version *string `field:"optional" json:"version" yaml:"version"`
	// Experimental.
	Variables *map[string]interface{} `field:"optional" json:"variables" yaml:"variables"`
}

Experimental.

type TerraformIterator added in v0.12.0

type TerraformIterator interface {
	ITerraformIterator
	// Experimental.
	Dynamic(attributes *map[string]interface{}) IResolvable
	// Returns: the given attribute of the current item iterated over as any.
	// Experimental.
	GetAny(attribute *string) IResolvable
	// Returns: the given attribute of the current item iterated over as a map of any.
	// Experimental.
	GetAnyMap(attribute *string) *map[string]interface{}
	// Returns: the given attribute of the current item iterated over as a boolean.
	// Experimental.
	GetBoolean(attribute *string) IResolvable
	// Returns: the given attribute of the current item iterated over as a map of booleans.
	// Experimental.
	GetBooleanMap(attribute *string) *map[string]*bool
	// Returns: the given attribute of the current item iterated over as a (string) list.
	// Experimental.
	GetList(attribute *string) *[]*string
	// Returns: the given attribute of the current item iterated over as a map.
	// Experimental.
	GetMap(attribute *string) *map[string]interface{}
	// Returns: the given attribute of the current item iterated over as a number.
	// Experimental.
	GetNumber(attribute *string) *float64
	// Returns: the given attribute of the current item iterated over as a number list.
	// Experimental.
	GetNumberList(attribute *string) *[]*float64
	// Returns: the given attribute of the current item iterated over as a map of numbers.
	// Experimental.
	GetNumberMap(attribute *string) *map[string]*float64
	// Returns: the given attribute of the current item iterated over as a string.
	// Experimental.
	GetString(attribute *string) *string
	// Returns: the given attribute of the current item iterated over as a map of strings.
	// Experimental.
	GetStringMap(attribute *string) *map[string]*string
}

Experimental.

type TerraformLocal

type TerraformLocal interface {
	TerraformElement
	ITerraformAddressable
	// Experimental.
	AsAnyMap() *map[string]interface{}
	// Experimental.
	AsBoolean() IResolvable
	// Experimental.
	AsBooleanMap() *map[string]*bool
	// Experimental.
	AsList() *[]*string
	// Experimental.
	AsNumber() *float64
	// Experimental.
	AsNumberMap() *map[string]*float64
	// Experimental.
	AsString() *string
	// Experimental.
	AsStringMap() *map[string]*string
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Expression() interface{}
	// Experimental.
	SetExpression(val interface{})
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformLocal

func NewTerraformLocal(scope constructs.Construct, id *string, expression interface{}) TerraformLocal

Experimental.

type TerraformMetaArguments

type TerraformMetaArguments struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count *float64 `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
}

Experimental.

type TerraformModule

type TerraformModule interface {
	TerraformElement
	ITerraformDependable
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	// Experimental.
	ForEach() ITerraformIterator
	// Experimental.
	SetForEach(val ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Providers() *[]interface{}
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	SkipAssetCreationFromLocalModules() *bool
	// Experimental.
	Source() *string
	// Experimental.
	Version() *string
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	AddProvider(provider interface{})
	// Experimental.
	GetString(output *string) *string
	// Experimental.
	InterpolationForOutput(moduleOutput *string) IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

type TerraformModuleConfig added in v0.15.0

type TerraformModuleConfig struct {
	// Experimental.
	DependsOn *[]ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Providers *[]interface{} `field:"optional" json:"providers" yaml:"providers"`
	// Experimental.
	SkipAssetCreationFromLocalModules *bool `field:"optional" json:"skipAssetCreationFromLocalModules" yaml:"skipAssetCreationFromLocalModules"`
	// Experimental.
	Source *string `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Version *string `field:"optional" json:"version" yaml:"version"`
}

Experimental.

type TerraformModuleProvider

type TerraformModuleProvider struct {
	// Experimental.
	ModuleAlias *string `field:"required" json:"moduleAlias" yaml:"moduleAlias"`
	// Experimental.
	Provider TerraformProvider `field:"required" json:"provider" yaml:"provider"`
}

Experimental.

type TerraformModuleUserConfig added in v0.15.0

type TerraformModuleUserConfig struct {
	// Experimental.
	DependsOn *[]ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Providers *[]interface{} `field:"optional" json:"providers" yaml:"providers"`
	// Experimental.
	SkipAssetCreationFromLocalModules *bool `field:"optional" json:"skipAssetCreationFromLocalModules" yaml:"skipAssetCreationFromLocalModules"`
}

Experimental.

type TerraformOutput

type TerraformOutput interface {
	TerraformElement
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	DependsOn() *[]ITerraformDependable
	// Experimental.
	SetDependsOn(val *[]ITerraformDependable)
	// Experimental.
	Description() *string
	// Experimental.
	SetDescription(val *string)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Precondition() *Precondition
	// Experimental.
	SetPrecondition(val *Precondition)
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	Sensitive() *bool
	// Experimental.
	SetSensitive(val *bool)
	// Experimental.
	StaticId() *bool
	// Experimental.
	SetStaticId(val *bool)
	// Experimental.
	Value() interface{}
	// Experimental.
	SetValue(val interface{})
	// Experimental.
	AddOverride(path *string, value interface{})
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformOutput

func NewTerraformOutput(scope constructs.Construct, id *string, config *TerraformOutputConfig) TerraformOutput

Experimental.

type TerraformOutputConfig

type TerraformOutputConfig struct {
	// Experimental.
	Value interface{} `field:"required" json:"value" yaml:"value"`
	// Experimental.
	DependsOn *[]ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Precondition *Precondition `field:"optional" json:"precondition" yaml:"precondition"`
	// Experimental.
	Sensitive *bool `field:"optional" json:"sensitive" yaml:"sensitive"`
	// If set to true the synthesized Terraform Output will be named after the `id` passed to the constructor instead of the default (TerraformOutput.friendlyUniqueId).
	// Experimental.
	StaticId *bool `field:"optional" json:"staticId" yaml:"staticId"`
}

Experimental.

type TerraformProvider

type TerraformProvider interface {
	TerraformElement
	// Experimental.
	Alias() *string
	// Experimental.
	SetAlias(val *string)
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	MetaAttributes() *map[string]interface{}
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	TerraformGeneratorMetadata() *TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformProviderSource() *string
	// Experimental.
	TerraformResourceType() *string
	// Experimental.
	AddOverride(path *string, value interface{})
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

type TerraformProviderConfig

type TerraformProviderConfig struct {
	// Experimental.
	TerraformResourceType *string `field:"required" json:"terraformResourceType" yaml:"terraformResourceType"`
	// Experimental.
	TerraformGeneratorMetadata *TerraformProviderGeneratorMetadata `field:"optional" json:"terraformGeneratorMetadata" yaml:"terraformGeneratorMetadata"`
	// Experimental.
	TerraformProviderSource *string `field:"optional" json:"terraformProviderSource" yaml:"terraformProviderSource"`
}

Experimental.

type TerraformProviderGeneratorMetadata

type TerraformProviderGeneratorMetadata struct {
	// Experimental.
	ProviderName *string `field:"required" json:"providerName" yaml:"providerName"`
	// Experimental.
	ProviderVersion *string `field:"optional" json:"providerVersion" yaml:"providerVersion"`
	// Experimental.
	ProviderVersionConstraint *string `field:"optional" json:"providerVersionConstraint" yaml:"providerVersionConstraint"`
}

Experimental.

type TerraformRemoteState

type TerraformRemoteState interface {
	TerraformElement
	ITerraformAddressable
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	Get(output *string) IResolvable
	// Experimental.
	GetBoolean(output *string) IResolvable
	// Experimental.
	GetList(output *string) *[]*string
	// Experimental.
	GetNumber(output *string) *float64
	// Experimental.
	GetString(output *string) *string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

type TerraformResource

type TerraformResource interface {
	TerraformElement
	IInterpolatingParent
	ITerraformDependable
	ITerraformResource
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() *float64
	// Experimental.
	SetCount(val *float64)
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	// Experimental.
	ForEach() ITerraformIterator
	// Experimental.
	SetForEach(val ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	Lifecycle() *TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *TerraformResourceLifecycle)
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Provider() TerraformProvider
	// Experimental.
	SetProvider(val TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	TerraformGeneratorMetadata() *TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformResource

func NewTerraformResource(scope constructs.Construct, id *string, config *TerraformResourceConfig) TerraformResource

Experimental.

type TerraformResourceConfig

type TerraformResourceConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count *float64 `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// Experimental.
	TerraformResourceType *string `field:"required" json:"terraformResourceType" yaml:"terraformResourceType"`
	// Experimental.
	TerraformGeneratorMetadata *TerraformProviderGeneratorMetadata `field:"optional" json:"terraformGeneratorMetadata" yaml:"terraformGeneratorMetadata"`
}

Experimental.

type TerraformResourceLifecycle

type TerraformResourceLifecycle struct {
	// Experimental.
	CreateBeforeDestroy *bool `field:"optional" json:"createBeforeDestroy" yaml:"createBeforeDestroy"`
	// Experimental.
	IgnoreChanges interface{} `field:"optional" json:"ignoreChanges" yaml:"ignoreChanges"`
	// Experimental.
	Postcondition *[]*Postcondition `field:"optional" json:"postcondition" yaml:"postcondition"`
	// Experimental.
	Precondition *[]*Precondition `field:"optional" json:"precondition" yaml:"precondition"`
	// Experimental.
	PreventDestroy *bool `field:"optional" json:"preventDestroy" yaml:"preventDestroy"`
	// Experimental.
	ReplaceTriggeredBy *[]interface{} `field:"optional" json:"replaceTriggeredBy" yaml:"replaceTriggeredBy"`
}

Experimental.

type TerraformSelf added in v0.12.0

type TerraformSelf interface {
}

Expressions in connection blocks cannot refer to their parent resource by name.

References create dependencies, and referring to a resource by name within its own block would create a dependency cycle. Instead, expressions can use the self object, which represents the connection's parent resource and has all of that resource's attributes. For example, use self.public_ip to reference an aws_instance's public_ip attribute. Experimental.

func NewTerraformSelf added in v0.12.0

func NewTerraformSelf() TerraformSelf

Experimental.

type TerraformStack

type TerraformStack interface {
	constructs.Construct
	// Experimental.
	Dependencies() *[]TerraformStack
	// Experimental.
	SetDependencies(val *[]TerraformStack)
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Synthesizer() IStackSynthesizer
	// Experimental.
	SetSynthesizer(val IStackSynthesizer)
	// Experimental.
	AddDependency(dependency TerraformStack)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Returns the naming scheme used to allocate logical IDs.
	//
	// By default, uses
	// the `HashedAddressingScheme` but this method can be overridden to customize
	// this behavior.
	// Experimental.
	AllocateLogicalId(tfElement interface{}) *string
	// Experimental.
	AllProviders() *[]TerraformProvider
	// Experimental.
	DependsOn(stack TerraformStack) *bool
	// Experimental.
	EnsureBackendExists() TerraformBackend
	// Experimental.
	GetLogicalId(tfElement interface{}) *string
	// Experimental.
	PrepareStack()
	// Experimental.
	RegisterIncomingCrossStackReference(fromStack TerraformStack) TerraformRemoteState
	// Experimental.
	RegisterOutgoingCrossStackReference(identifier *string) TerraformOutput
	// Run all validations on the stack.
	// Experimental.
	RunAllValidations()
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformStack

func NewTerraformStack(scope constructs.Construct, id *string) TerraformStack

Experimental.

func TerraformStack_Of

func TerraformStack_Of(construct constructs.IConstruct) TerraformStack

Experimental.

type TerraformStackMetadata

type TerraformStackMetadata struct {
	// Experimental.
	Backend *string `field:"required" json:"backend" yaml:"backend"`
	// Experimental.
	StackName *string `field:"required" json:"stackName" yaml:"stackName"`
	// Experimental.
	Version *string `field:"required" json:"version" yaml:"version"`
	// Experimental.
	Cloud *string `field:"optional" json:"cloud" yaml:"cloud"`
}

Experimental.

type TerraformVariable

type TerraformVariable interface {
	TerraformElement
	ITerraformAddressable
	// Experimental.
	BooleanValue() IResolvable
	// Experimental.
	CdktfStack() TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Default() interface{}
	// Experimental.
	Description() *string
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	// Experimental.
	ListValue() *[]*string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	Nullable() *bool
	// Experimental.
	NumberValue() *float64
	// Experimental.
	RawOverrides() interface{}
	// Experimental.
	Sensitive() *bool
	// Experimental.
	StringValue() *string
	// Experimental.
	Type() *string
	// Experimental.
	Validation() *[]*TerraformVariableValidationConfig
	// Experimental.
	Value() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	AddValidation(validation *TerraformVariableValidationConfig)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	// Experimental.
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Experimental.

func NewTerraformVariable

func NewTerraformVariable(scope constructs.Construct, id *string, config *TerraformVariableConfig) TerraformVariable

Experimental.

type TerraformVariableConfig

type TerraformVariableConfig struct {
	// Experimental.
	Default interface{} `field:"optional" json:"default" yaml:"default"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Nullable *bool `field:"optional" json:"nullable" yaml:"nullable"`
	// Experimental.
	Sensitive *bool `field:"optional" json:"sensitive" yaml:"sensitive"`
	// The type argument in a variable block allows you to restrict the type of value that will be accepted as the value for a variable.
	//
	// If no type constraint is set then a value of any type is accepted.
	//
	// While type constraints are optional, we recommend specifying them; they serve as easy reminders for users of the module, and allow Terraform to return a helpful error message if the wrong type is used.
	//
	// Type constraints are created from a mixture of type keywords and type constructors. The supported type keywords are:
	//
	// - string
	// - number
	// - bool
	//
	// The type constructors allow you to specify complex types such as collections:
	//
	// - list(\<TYPE\>)
	// - set(\<TYPE\>)
	// - map(\<TYPE\>)
	// - object({\<ATTR NAME\> = \<TYPE\>, ... })
	// - tuple([\<TYPE\>, ...])
	//
	// The keyword any may be used to indicate that any type is acceptable. For more information on the meaning and behavior of these different types, as well as detailed information about automatic conversion of complex types, refer to {@link https://developer.hashicorp.com/terraform/language/expressions/type-constraints Type Constraints}.
	//
	// If both the type and default arguments are specified, the given default value must be convertible to the specified type.
	// Experimental.
	Type *string `field:"optional" json:"type" yaml:"type"`
	// Specify arbitrary custom validation rules for a particular variable using a validation block nested within the corresponding variable block.
	// Experimental.
	Validation *[]*TerraformVariableValidationConfig `field:"optional" json:"validation" yaml:"validation"`
}

Experimental.

type TerraformVariableValidationConfig added in v0.12.0

type TerraformVariableValidationConfig struct {
	// This is a boolean expression that should return true if the intended assumption or guarantee is fulfilled or false if it does not.
	// Experimental.
	Condition interface{} `field:"required" json:"condition" yaml:"condition"`
	// This contains the text that Terraform will include as part of error messages when it detects an unmet condition.
	// Experimental.
	ErrorMessage *string `field:"required" json:"errorMessage" yaml:"errorMessage"`
}

Add one or more validation blocks within the variable block to specify custom conditions. Experimental.

type Testing

type Testing interface {
}

Testing utilities for cdktf applications. Experimental.

func NewTesting added in v0.12.0

func NewTesting() Testing

Experimental.

type TestingAppConfig added in v0.15.0

type TestingAppConfig struct {
	// Experimental.
	EnableFutureFlags *bool `field:"optional" json:"enableFutureFlags" yaml:"enableFutureFlags"`
	// Experimental.
	FakeCdktfJsonPath *bool `field:"optional" json:"fakeCdktfJsonPath" yaml:"fakeCdktfJsonPath"`
	// Experimental.
	Outdir *string `field:"optional" json:"outdir" yaml:"outdir"`
	// Experimental.
	StackTraces *bool `field:"optional" json:"stackTraces" yaml:"stackTraces"`
	// Experimental.
	StubVersion *bool `field:"optional" json:"stubVersion" yaml:"stubVersion"`
}

Experimental.

type Token

type Token interface {
}

Represents a special or lazily-evaluated value.

Can be used to delay evaluation of a certain value in case, for example, that it requires some context or late-bound data. Can also be used to mark values that need special processing at document rendering time.

Tokens can be embedded into strings while retaining their original semantics. Experimental.

func NewToken

func NewToken() Token

Experimental.

type Tokenization

type Tokenization interface {
}

Less oft-needed functions to manipulate Tokens. Experimental.

func NewTokenization

func NewTokenization() Tokenization

Experimental.

type TokenizedStringFragments

type TokenizedStringFragments interface {
	// Return all escape fragments from this string.
	// Experimental.
	Escapes() *[]IResolvable
	// Returns the first token.
	// Experimental.
	FirstToken() IResolvable
	// Returns the first value.
	// Experimental.
	FirstValue() interface{}
	// Return all intrinsic fragments from this string.
	// Experimental.
	Intrinsic() *[]IResolvable
	// Returns the number of fragments.
	// Experimental.
	Length() *float64
	// Return all literals from this string.
	// Experimental.
	Literals() *[]IResolvable
	// Return all Tokens from this string.
	// Experimental.
	Tokens() *[]IResolvable
	// Experimental.
	AddEscape(kind *string)
	// Adds an intrinsic fragment.
	// Experimental.
	AddIntrinsic(value interface{})
	// Adds a literal fragment.
	// Experimental.
	AddLiteral(lit interface{})
	// Adds a token fragment.
	// Experimental.
	AddToken(token IResolvable)
	// Experimental.
	Concat(other TokenizedStringFragments)
	// Combine the string fragments using the given joiner.
	//
	// If there are any.
	// Experimental.
	Join(concat IFragmentConcatenator) interface{}
	// Apply a transformation function to all tokens in the string.
	// Experimental.
	MapTokens(context IResolveContext) TokenizedStringFragments
}

Fragments of a concatenated string containing stringified Tokens. Experimental.

func NewTokenizedStringFragments

func NewTokenizedStringFragments() TokenizedStringFragments

Experimental.

func Tokenization_ReverseString

func Tokenization_ReverseString(s *string) TokenizedStringFragments

Un-encode a string potentially containing encoded tokens. Experimental.

type VariableType

type VariableType interface {
}

Experimental.

type WinrmProvisionerConnection added in v0.12.2

type WinrmProvisionerConnection struct {
	// The address of the resource to connect to.
	// Experimental.
	Host *string `field:"required" json:"host" yaml:"host"`
	// The connection type.
	//
	// Valid values are "ssh" and "winrm".
	// Provisioners typically assume that the remote system runs Microsoft Windows when using WinRM.
	// Behaviors based on the SSH target_platform will force Windows-specific behavior for WinRM, unless otherwise specified.
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// The CA certificate to validate against.
	// Experimental.
	Cacert *string `field:"optional" json:"cacert" yaml:"cacert"`
	// Set to true to connect using HTTPS instead of HTTP.
	// Experimental.
	Https *bool `field:"optional" json:"https" yaml:"https"`
	// Set to true to skip validating the HTTPS certificate chain.
	// Experimental.
	Insecure *bool `field:"optional" json:"insecure" yaml:"insecure"`
	// The password to use for the connection.
	// Experimental.
	Password *string `field:"optional" json:"password" yaml:"password"`
	// The port to connect to.
	// Experimental.
	Port *float64 `field:"optional" json:"port" yaml:"port"`
	// The path used to copy scripts meant for remote execution.
	//
	// Refer to {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/connection#how-provisioners-execute-remote-scripts How Provisioners Execute Remote Scripts below for more details}
	// Experimental.
	ScriptPath *string `field:"optional" json:"scriptPath" yaml:"scriptPath"`
	// The timeout to wait for the connection to become available.
	//
	// Should be provided as a string (e.g., "30s" or "5m".)
	// Experimental.
	Timeout *string `field:"optional" json:"timeout" yaml:"timeout"`
	// Set to true to use NTLM authentication rather than default (basic authentication), removing the requirement for basic authentication to be enabled within the target guest.
	//
	// Refer to Authentication for Remote Connections in the Windows App Development documentation for more details.
	// Experimental.
	UseNtlm *bool `field:"optional" json:"useNtlm" yaml:"useNtlm"`
	// The user to use for the connection.
	// Experimental.
	User *string `field:"optional" json:"user" yaml:"user"`
}

Most provisioners require access to the remote resource via SSH or WinRM and expect a nested connection block with details about how to connect.

See {@link https://developer.hashicorp.com/terraform/language/resources/provisioners/connection connection} Experimental.

Source Files

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

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