June 20-22 Announcing HashiConf Europe full schedule: keynotes, sessions, labs & more Register Now
  • Overview
    • Enforce Policy as Code
    • Infrastructure as Code
    • Inject Secrets into Terraform
    • Integrate with Existing Workflows
    • Manage Kubernetes
    • Manage Network Infrastructure
    • Manage Virtual Machine Images
    • Multi-Cloud Deployment
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
  • Registry
  • Tutorials
    • About the Docs
    • Intro to Terraform
    • Configuration Language
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
    • Provider Use
    • Plugin Development
    • Registry Publishing
    • Integration Program
    • Terraform Tools
    • CDK for Terraform
    • Glossary
  • Community
GitHubTerraform Cloud
Download

    CDK for Terraform

  • Overview
  • Get Started
    • Architecture
    • HCL Interoperability
    • Constructs
    • Providers and Resources
    • Modules
    • Data Sources
    • Variables and Outputs
    • Functions
    • Remote Backends
    • Aspects
    • Assets
    • Tokens
    • Stacks
  • Examples and Guides
    • Project Setup
    • Configuration File
    • Best Practices
    • Environment Variables
    • Remote Templates
    • AWS Adapter [preview]
    • Unit Tests
    • Debugging
    • CLI Configuration
    • Commands
    • Overview
    • Upgrading to Version 0.6
    • Upgrading to Version 0.7
    • Upgrading to Version 0.9
    • Upgrading to Version 0.10
    • Upgrading to Version 0.11
  • Community
  • Telemetry
  • Other Docs

  • Intro to Terraform
  • Configuration Language
  • Terraform CLI
  • Terraform Cloud
  • Terraform Enterprise
  • Provider Use
  • Plugin Development
  • Registry Publishing
  • Integration Program
  • Terraform Tools
  • CDK for Terraform
  • Glossary
Type '/' to Search

»Upgrading to CDK for Terraform Version 0.9

0.9 includes improvements to some of our provider code bindings, to improve usage across all languages.

»Standardize IResolvable Usage #1299

This is an effort to make sure attributes can be freely passed between resources for all different types.

There is a minor breaking change:

  • count on resources and data sources has gone from number | cdktf.IResolvable to number. If code was previously passing an IResolvable, it will now need to wrap the IResolvable using Token.asNumber() on Typescript and Java , Token.AsNumer() on C#, cdktf.Token_AsNumber() on Go, and Token().as_string() on Python.

»Map Tokens #1411

As part of an effort to use more native types, there are now tokens for maps of primitive values.

As a result, there is a minor breaking change:

  • Map attributes have gone from { [key: string]: TYPE } | cdktf.IResolvable to { [key: string]:TYPE } when TYPE is string, number, or boolean.
    • The most common impact is maps created by using Terraform functions (Fn.(...)) will now need to be passed to Token.as<String/Number/Boolean>Map() before assigning to a resource attribute. The naming is a bit different per language, on C# it's Token.As<String/Number/Boolean>Map(), on Go it's cdktf.Token_As<String/Number/Boolean>Map(), and on Python it's Token().as_<string/number/boolean>_map().

»Number[] Tokens #1471

As part of an effort to use more native types, there are now tokens for number[]. This is mostly an internal change, but there is now Token.asNumberList() (on C# it's Token.AsNumberList(), on Go it's cdktf.Token_AsNumberList, on Python it's Token().as_number_list()) which can be used to convert other values into number[].

As a result of some standardization, there is a minor breaking change:

  • Boolean[] attributes have gone from boolean[] to Array<boolean | IResolvable> | IResolvable.
    • This is done because neither boolean or boolean[] is representable by a token.
    • This should make it easier to pass around boolean[] between resources and fuctions.
    • For jsii languages (especially Java and C#), these types will end up as List<Object>.
github logoEdit this page
  • Overview
  • Docs
  • Extend
  • Privacy
  • Security
  • Press Kit
  • Consent Manager