Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cdktn.io/docs/llms.txt

Use this file to discover all available pages before exploring further.

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

Standardize IResolvable Usage

PR: #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

PR: #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

PR: #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>.