Terraform
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
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:
- counton resources and data sources has gone from- number | cdktf.IResolvableto- number. If code was previously passing an- IResolvable, it will now need to wrap the- IResolvableusing- 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.IResolvableto{ [key: string]:TYPE }whenTYPEisstring, number, or boolean.- The most common impact is maps created by using Terraform functions (Fn.(...)) will now need to be passed toToken.as<String/Number/Boolean>Map()before assigning to a resource attribute. The naming is a bit different per language, on C# it'sToken.As<String/Number/Boolean>Map(), on Go it'scdktf.Token_As<String/Number/Boolean>Map(), and on Python it'sToken().as_<string/number/boolean>_map().
 
- The most common impact is maps created by using Terraform functions (
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[]toArray<boolean | IResolvable> | IResolvable.- This is done because neither booleanorboolean[]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>.
 
- This is done because neither