From 6a742c2a2855bf44f48a7544c8767462ace9cc40 Mon Sep 17 00:00:00 2001 From: zackhee997 <162941009+zackhee997@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:30:19 +0800 Subject: [PATCH] feat: support for component level default tags (#340) --- .../component/cdktf/src/helpers/fogg-stack.ts.tmpl | 2 ++ testdata/v2_cdktf_components/fogg.yml | 10 ++++++++++ .../terraform/envs/test/lambda/.fogg-component.yaml | 8 ++++++-- .../envs/test/lambda/src/helpers/fogg-stack.ts | 2 ++ .../terraform/envs/test/network/.fogg-component.yaml | 4 ++-- .../envs/test/network/src/helpers/fogg-stack.ts | 2 ++ 6 files changed, 24 insertions(+), 4 deletions(-) diff --git a/templates/templates/component/cdktf/src/helpers/fogg-stack.ts.tmpl b/templates/templates/component/cdktf/src/helpers/fogg-stack.ts.tmpl index 896b3d056..e7106df9a 100644 --- a/templates/templates/component/cdktf/src/helpers/fogg-stack.ts.tmpl +++ b/templates/templates/component/cdktf/src/helpers/fogg-stack.ts.tmpl @@ -282,6 +282,8 @@ export class FoggStack extends TerraformStack { ...(this.foggComp.backend.s3?.key_path && { tfstateKey: this.foggComp.backend.s3?.key_path, }), + ...(this.foggComp.providers_configuration?.aws?.default_tags?.enabled && + (this.foggComp.providers_configuration?.aws?.default_tags?.tags ?? {})), }, }, ]; diff --git a/testdata/v2_cdktf_components/fogg.yml b/testdata/v2_cdktf_components/fogg.yml index 1715198db..bdba6e7b1 100644 --- a/testdata/v2_cdktf_components/fogg.yml +++ b/testdata/v2_cdktf_components/fogg.yml @@ -31,6 +31,12 @@ envs: test: components: lambda: + providers: + aws: + default_tags: + enabled: true + tags: + team: TIES kind: cdktf cdktf_dependencies: - name: "@types/aws-lambda" @@ -40,6 +46,10 @@ envs: - name: iam-floyd version: "^0.507.0" network: + providers: + aws: + default_tags: + enabled: true kind: cdktf depends_on: files: diff --git a/testdata/v2_cdktf_components/terraform/envs/test/lambda/.fogg-component.yaml b/testdata/v2_cdktf_components/terraform/envs/test/lambda/.fogg-component.yaml index a709ce723..da8d90c39 100644 --- a/testdata/v2_cdktf_components/terraform/envs/test/lambda/.fogg-component.yaml +++ b/testdata/v2_cdktf_components/terraform/envs/test/lambda/.fogg-component.yaml @@ -68,7 +68,9 @@ providers_configuration: region: us-west-2 role_arn: arn:aws:iam::123456789012:role/role default_tags: - enabled: false + enabled: true + tags: + team: TIES ignore_tags: enabled: false aws_regional_providers: @@ -78,7 +80,9 @@ providers_configuration: region: ap-southeast-1 role_arn: arn:aws:iam::210987654321:role/role default_tags: - enabled: false + enabled: true + tags: + team: TIES ignore_tags: enabled: false bless: null diff --git a/testdata/v2_cdktf_components/terraform/envs/test/lambda/src/helpers/fogg-stack.ts b/testdata/v2_cdktf_components/terraform/envs/test/lambda/src/helpers/fogg-stack.ts index 48a5694ed..d468d2922 100644 --- a/testdata/v2_cdktf_components/terraform/envs/test/lambda/src/helpers/fogg-stack.ts +++ b/testdata/v2_cdktf_components/terraform/envs/test/lambda/src/helpers/fogg-stack.ts @@ -284,6 +284,8 @@ export class FoggStack extends TerraformStack { ...(this.foggComp.backend.s3?.key_path && { tfstateKey: this.foggComp.backend.s3?.key_path, }), + ...(this.foggComp.providers_configuration?.aws?.default_tags?.enabled && + (this.foggComp.providers_configuration?.aws?.default_tags?.tags ?? {})), }, }, ]; diff --git a/testdata/v2_cdktf_components/terraform/envs/test/network/.fogg-component.yaml b/testdata/v2_cdktf_components/terraform/envs/test/network/.fogg-component.yaml index d2866a6e8..ef28020e9 100644 --- a/testdata/v2_cdktf_components/terraform/envs/test/network/.fogg-component.yaml +++ b/testdata/v2_cdktf_components/terraform/envs/test/network/.fogg-component.yaml @@ -70,7 +70,7 @@ providers_configuration: region: us-west-2 role_arn: arn:aws:iam::123456789012:role/role default_tags: - enabled: false + enabled: true ignore_tags: enabled: false aws_regional_providers: @@ -80,7 +80,7 @@ providers_configuration: region: ap-southeast-1 role_arn: arn:aws:iam::210987654321:role/role default_tags: - enabled: false + enabled: true ignore_tags: enabled: false bless: null diff --git a/testdata/v2_cdktf_components/terraform/envs/test/network/src/helpers/fogg-stack.ts b/testdata/v2_cdktf_components/terraform/envs/test/network/src/helpers/fogg-stack.ts index 48a5694ed..d468d2922 100644 --- a/testdata/v2_cdktf_components/terraform/envs/test/network/src/helpers/fogg-stack.ts +++ b/testdata/v2_cdktf_components/terraform/envs/test/network/src/helpers/fogg-stack.ts @@ -284,6 +284,8 @@ export class FoggStack extends TerraformStack { ...(this.foggComp.backend.s3?.key_path && { tfstateKey: this.foggComp.backend.s3?.key_path, }), + ...(this.foggComp.providers_configuration?.aws?.default_tags?.enabled && + (this.foggComp.providers_configuration?.aws?.default_tags?.tags ?? {})), }, }, ];