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 fromnumber | cdktf.IResolvabletonumber. If code was previously passing anIResolvable, it will now need to wrap theIResolvableusingToken.asNumber()on Typescript and Java ,Token.AsNumer()on C#,cdktf.Token_AsNumber()on Go, andToken().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 fornumber[].
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