From b0be6ad5adefe6ba8be867ff4a77ac298ff7e25a Mon Sep 17 00:00:00 2001 From: Daniel Schmidt Date: Wed, 26 Jan 2022 17:14:38 +0100 Subject: [PATCH 1/2] chore(docs): add 0.9 upgrade guide --- website/docs/cdktf/release/index.mdx | 1 + .../docs/cdktf/release/upgrade-guide-v0-9.mdx | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 website/docs/cdktf/release/upgrade-guide-v0-9.mdx diff --git a/website/docs/cdktf/release/index.mdx b/website/docs/cdktf/release/index.mdx index 59e3d0eb1b..78e7568cce 100644 --- a/website/docs/cdktf/release/index.mdx +++ b/website/docs/cdktf/release/index.mdx @@ -14,6 +14,7 @@ We release CDK for Terraform (CDKTF) regularly. The [CHANGELOG on Github](https: CDKTF includes upgrade guides for releases that have breaking changes. +- [Upgrading to v0.9](/cdktf/release/upgrade-guide-v0-9) - [Upgrading to v0.7](/cdktf/release/upgrade-guide-v0-7) - [Upgrading to v0.6](/cdktf/release/upgrade-guide-v0-6) diff --git a/website/docs/cdktf/release/upgrade-guide-v0-9.mdx b/website/docs/cdktf/release/upgrade-guide-v0-9.mdx new file mode 100644 index 0000000000..f65b3082af --- /dev/null +++ b/website/docs/cdktf/release/upgrade-guide-v0-9.mdx @@ -0,0 +1,38 @@ +--- +page_title: Upgrading to CDKTF Version 0.9 +description: >- + We changed some provider bindings to work better across all languages. +--- + +# Upgrading to CDK for Terraform Version 0.9 + +We changed some provider bindings to work better across all languages. + +### Standardize IResolvable Usage [#1299](https://github.com/hashicorp/terraform-cdk/pull/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 use `Token.asNumber()` on Typescript and Java , `Token.AsNumer()` on C#, `cdktf.Token_AsNumber()` on Go, and `Token().as_string()` on Python. + +### Map Tokens [#1411](https://github.com/hashicorp/terraform-cdk/pull/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.asMap()` before assigning to a resource attribute. The naming is a bit different per language, on C# it's `Token.AsMap()`, on Go it's `cdktf.Token_AsMap()`, and on Python it's `Token().as__map()`. + +### Number[] Tokens [#1471](https://github.com/hashicorp/terraform-cdk/pull/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 | 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`. From c5496d596dbe55c6de0e93659fd700814e7c69cc Mon Sep 17 00:00:00 2001 From: Daniel Schmidt Date: Thu, 27 Jan 2022 15:13:30 +0100 Subject: [PATCH 2/2] chore: improve wording Co-authored-by: Ansgar Mertens --- website/docs/cdktf/release/upgrade-guide-v0-9.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cdktf/release/upgrade-guide-v0-9.mdx b/website/docs/cdktf/release/upgrade-guide-v0-9.mdx index f65b3082af..e8f809695f 100644 --- a/website/docs/cdktf/release/upgrade-guide-v0-9.mdx +++ b/website/docs/cdktf/release/upgrade-guide-v0-9.mdx @@ -14,7 +14,7 @@ This is an effort to make sure attributes can be freely passed between resources 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 use `Token.asNumber()` on Typescript and Java , `Token.AsNumer()` on C#, `cdktf.Token_AsNumber()` on Go, and `Token().as_string()` on Python. +- `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](https://github.com/hashicorp/terraform-cdk/pull/1411)