gogogo icon indicating copy to clipboard operation
gogogo copied to clipboard

Update dependency cdktf-cli to v0.20.3

Open renovate[bot] opened this issue 3 years ago • 0 comments

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
cdktf-cli (source) 0.14.1 -> 0.20.3 age adoption passing confidence

[!WARNING] Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

hashicorp/terraform-cdk (cdktf-cli)

v0.20.3

Compare Source

feat
  • feat(cli): add console logs to better surface correct workflow for creating go projects #​3466
  • feat(docs): Document how outdir works when passed to App and while using CDKTF CLI #​3463
fix
  • fix: corrected formating for java provider dependencies #​3468
  • fix: Map keys not being quoted when they are not valid identifiers #​3464
chore
  • chore: Improve locals output - Group all locals into one locals block #​3465
  • chore: Update HCL Interoperability docs to include HCL synthesis #​3462

v0.20.2

Compare Source

feat
  • feat(provider-generator): support renaming provider names in order to allow using two providers sharing the same name at the same time #​3442
  • feat(provider-generator): Ensure we have unique names for modules #​3439
  • feat(docs): Mention Maven examples in note on project setup page #​3437
fix
  • fix(docs): Run prettier #​3445
  • fix(lib): support dot-seperated nested accessors #​3444
  • fix(docs): Update CLI docs to refer to Gradle instead of Maven #​3434
  • fix(lib): Print a warning with manual steps to move a module when UpgradeIds aspect encounters modules #​3432
  • fix(cli): don't prompt for providers during convert #​3431
  • fix(lib): inline zip creation #​3428
chore

v0.20.1

Compare Source

AWS Provider changes (breaking)

The AWS pre-built provider for Go is currently too large to be installed due to a hard limit in Go. This release adds skipping the statement block in the rule block of the aws_wafv2_web_acl and aws_wafv2_rule_group resources. Our resource docs page previously already mentioned that these resources have skipped attributes but they weren't actually skipped. This almost doubled AWS provider bindings in size due to the recursive nature of the statement block.
If you are using any of these two resources, the statement now has to be passed as a plain object instead and its keys have to be snake-cased (e.g. and_statement or regex_match_statement).

feat
  • feat(hcl2cdk): support import blocks in cdktf convert #​3415
fix
  • fix(provider-generator): Skip statement block for rule block in aws_wafv2_web_acl and aws_wafv2_rule_group resources #​3414
  • fix(cli): Fix version range matching for 0.x version ranges with the ~> operator #​3403
  • fix(docs): fix complex iterator example #​3410
  • fix(docs): product relative links #​3401
chore

v0.20.0

Compare Source

Breaking changes

Module names / import paths changing

To resolve #​3026 we improved the logic for generating names for Terraform Modules. This makes the default module names nicer, but also leads to breaking changes for Python, C#, and Java. When updating CDKTF, please generate the new bindings with cdktf get after updating the CLI and update your module imports.

Removal of deprecated backends

We have removed deprecated backends artifactory, etcd, etcdv3, manta, and swift. CDK for Terraform v0.14 deprecated these backends initially. Terraform removed these backends in v1.3. For migration paths from these removed backends, refer to Upgrading to Terraform v1.3.

Python 3.7 is no longer supported

We have dropped support for Python 3.7, please update to Python 3.8 or higher.

feat
  • feat: Synthesis in HCL #​3365
  • feat(lib): update backend options #​3352
  • feat: add Terraform 1.6.5 to Docker image #​3336
  • feat(docs): Add note to address having the same name as new Terraform stacks feature #​3333
  • feat(lib): Add support for the built-in Terraform data resource #​3317
  • feat(lib): add .allWithMapKey iterator to lists #​3299
  • feat(lib): Add DynamicListTerraformIterator with support for lists or sets with objects that have properties that are only known at apply time #​3273
  • feat(lib): allow chaining of TerraformIterator created resources #​3272
  • feat(lib): add move workflows for specifying ids directly #​3231
fix
  • fix pipenv build #​3364
  • fix(cli): Handle overlapping resource names in augmented logs #​3343
  • fix: Terraform Modules relatively referencing each other with generated bindings #​3341
  • fix(lib): respect AppOption.outdir before env var #​3334
  • fix(provider-generator): use module name that does not collide commonly #​3332
  • fix(lib): Fix handling of replaceTriggeredBy lifecycle attribute #​3322
  • fix(cli): error message for non-existent tf cloud orgs #​3308
  • fix(provider-generator): provided name does not need to match name in source #​3305
  • fix(provider-generator): don't require attributes to be set on nested_type #​3304
  • fix(lib): improve error messages for token resolution #​3300
  • fix: Use unique names to see if Github filters can pick it up #​3291
  • fix(tests): Update provider version in C# snapshot test #​3289
  • fix: Use an additional results step to ensure dynamic matrix jobs can… #​3288
  • fix(provider-generator): fix oci provider by skipping attributes that conflict after being camel cased #​3285
  • fix(lib): expose conditional #​3264
  • fix: lower cache usage by reusing more of the yarn caches #​3162
chore

v0.19.2

Compare Source

feat
  • feat(lib): add move workflows for specifying ids directly #​3231
fix
  • fix(provider-generator): fix oci provider by skipping attributes that conflict after being camel cased #​3285

v0.19.1

Compare Source

feat
  • feat(cli): Include provider info in cdktf debug #​3190
fix
  • fix(cli): Don't send telemetry events if request body is larger than 8KB #​3255
chore

v0.19.0

Compare Source

Breaking changes

Minimum required Node.js version updated to 18.12

Since the long-term support for Node.js 16 ended on 2023-09-11, we updated our minimum compatible Node.js version to 18.12.

Potential provider naming collision with instance function moveTo on TerraformResource

We have added support for resource refactoring and renaming with the addition of the instance function moveTo on TerraformResource. We forsee the potential for naming collision with providers using moveTo as an attribute. In instances where provider bindings fail to compile due to the collision, regenerate your provider bindings and replace the provider related usage of moveTo to moveToAttribute in your configuration if applicable.

Java: codeMakerOutput needs to be set to a company identifier

We did not honor the codeMakerOutput setting in the cdktf.json previously, this is fixed now. To have no changes in the generated code you can set codeMakerOutput: "imports". If you like, you can now set it to your company name, e.g. codeMakerOutput: "com.hashicorp" so that the provider is generated under the com.hashicorp.aws namespace for example. Omitting the codeMakerOutput will lead to the default value .gen being used and results in an error.

feat
  • feat(lib): add resource move functionality #​3152
  • feat: add import capabilities to cdktf #​2972
  • feat!: update minimum required Node.js version to 18.12 (LTS) #​3181
fix
  • fix(provider-generator): java akamai provider generation #​3185
  • fix: use codemaker output in java #​3000
chore
  • chore(examples): change debian image version in gcp example #​3186
  • chore: upgrade node-pty dependency to add support for Node.js 20 #​3182
  • chore(deps): pin trusted workflows based on HashiCorp TSCCR #​3180

v0.18.2

Compare Source

Fixes a bug in 0.18.1 that broke crash reporting due to a partial dependency upgrade.

fix
  • fix: Fix partial dependency update for Sentry #​3172

v0.18.1

Compare Source

fix
  • fix(docs): Fix typo in example of using TFVAR to set TerraformVariable #​3116
  • fix(provider-generator): make sanitize comments function robust against diverse inputs #​3131
  • fix(cli): fix help template spelling #​3146
  • fix(cli): ensure terraform output fails with a proper error #​3135
  • fix: make sure noColor option is honored #​3138
  • fix(hcl2cdk): Try to fix TF checksum errors in tests by running them in band #​3163
  • fix: use whl to install local python #​3119
  • fix: fix Github workflow caches to restore successfully more often #​3154
  • fix: set specific copywrite tool version to fix CI #​3150
  • fix: unpin version of copywrite #​3151
chore
refactor
  • refactor: move schema reading logic into package #​3124

v0.18.0

Compare Source

chore
  • chore: Disable windows integration tests temporarily #​3086
  • chore: update jsii-srcmak #​3081
  • chore: fix assertion of java tests #​3079
  • chore: add wget #​3075
  • chore: use gh cli to create PRs #​3074
  • chore(deps): roll back trusted workflow updates #​3073
  • chore: add gradle as a dependency for our tests #​3066
  • chore: new lookup functionality changes assertion #​3065
  • chore: update terraform versions we test again #​3064
  • chore: add link to performance page #​3060
  • chore(examples): update TS examples to use explicit imports #​3053
  • chore: update tfe docs as well #​3050
  • chore: remove waiting-on-answer label on comments #​3046
  • chore(deps): pin trusted workflows based on HashiCorp TSCCR #​3040
  • chore: add workflow to rollout provider documentation #​3039
  • chore: clean up code a bit #​3037
  • chore: fix links in README #​3016
fix
  • fix: provider add java integration test failures due to test setup #​3083
  • fix: Gradle related provider add/list/upgrade #​3080
  • fix(cli): cdktf debug to read gradle package versions #​3077
  • fix(provider-generator): Handle */ in docstrings better, try 3 #​3076
  • fix(lib): improve error message for passing an app to a construct #​3062
  • fix(tests): remove only in test suite :sweat_smile: #​3055
  • fix: install pipenv in Docker #​3052
  • fix: install python3-venv and pin base image #​3049
  • fix: correctly handle if version constraint is defined as star #​3045
  • fix: fix single quote escaping #​3018
  • fix(hcl2cdk): correctly keep escape sequences for interpolations in template expressions #​3017
  • fix(examples): Properly set the Aspect on the stack instead of on the S3Bucket only #​3003
feat
  • feat(hcl2cdk): use Fn.lookupNested() instead of propertyAccess() #​3056
  • feat(cli): move java template to gradle #​3048
  • feat(cli): support gradle projects in provider add and list #​3047
  • feat(docs): Link Registry docs blog post #​3043
  • feat: remove root-level import of all modules in python #​3030
  • feat(provider-generator): handle 'tuple' type for variable #​2964

Breaking changes

Python performance improvements disable root-level provider imports

When using a Provider in python one could previously import the resource and data source namespaces on the root level. This is no longer possible and the namespaces must be imported through specifying the paht in the import. The syntax was supported before as well, so you can change your code within 0.17.x and then upgrade to 0.18.x.

Before:

from constructs import Construct
from cdktf import App, TerraformStack
from imports.aws import provider, sns_topic, lambda_function, iam_role

class MyStack(TerraformStack):
    def __init__(self, scope: Construct, ns: str):
        super().__init__(scope, ns)

        provider.AwsProvider(self, 'Aws', region='eu-central-1')

        sns_topic.SnsTopic(self, 'Topic', display_name='my-first-sns-topic')
        role = iam_role.IamRole(self, 'Role', name='lambda-role',
                       assume_role_policy='{}')
        lambda_function.LambdaFunction(self, 'Lambda', function_name='my-first-lambda-function',
                       role=role.arn, handler='index.handler', runtime='python3.6')

app = App()
MyStack(app, "before-change")
app.synth()

After:

from constructs import Construct
from cdktf import App, TerraformStack

v0.17.3

Compare Source

fix
  • fix: don't cross package boundaries for templates #​3029
  • fix: use local NPM registry for running integration tests on unix systems #​3031
  • fix: trying to fix tsc error by updating how we invoke ts projects #​3033
  • fix(docs): python docs for aspect #​3002
chore

v0.17.2

Compare Source

feat
  • feat(cli): allow skipping synth #​2993
fix
  • fix(provider-generator): wrap dynamic block iterator .key and .value in Token.asString as simply concatenating it won't work in non-TS languages #​3014
  • fix: remove old lerna option causing it to fail when building a matrix in CI runs #​3004
  • fix: quote files in shared workflows #​2994
  • fix: let workflow checkout different repositories #​2991
  • fix(provider-generator): sanitize all comments #​2990
chore
  • chore: fix link to examples #​3015
  • chore: build example script should show stdout and stderr #​3013
  • chore: retry pushing converted code in registry conversion #​2999
  • chore: Convert should use a typescript project to convert within #​2992
  • chore: update cdk.tf links #​2989
  • chore: add registry translation workflow #​2958

v0.17.1

Compare Source

fix
  • fix: Handle */ sequences within variable descriptions and defaults for variables in modules #​2986
  • fix: Upgrade @​inquirer/prompts to resolve #​2952 #​2977
  • fix(tests): update integration test snapshot #​2962
  • fix(cli): catch possible errors when trying to open a url #​2961
  • fix(cli): Support PNPM when retrieving package dependency information #​2959
  • fix(hcl2cdk): parse handling of null providers and aliases #​2947
  • fix(hcl2cdk): use correct import path per language #​2935
  • fix: do not always overwrite global.performance #​2922
chore
  • chore(deps): upgrade semver version #​2981
  • chore(docs): update doc links to new URLs #​2979
  • chore: Add regression test for input on init #​2978
  • chore: Update diagram in docs with new provider count #​2974
  • chore: trigger project board update when issues modified #​2973
  • chore: remove project board update script #​2970
  • chore: use resource name only unless conflict #​2956
  • chore: remove dependency updates #​2950
  • chore: correct constructs docs "Through Validations" example #​2927
feat
  • feat: Specific imports for convert #​2946
  • feat: allow partial snippet translation #​2920

v0.17.0

Compare Source

feat
  • feat(provider-generator): allow removing big, cost intensive structures #​2932
  • feat(cli): add flag to display memory / time used for get and synth #​2914
  • feat(cli): Improve telemetry reporting #​2840
  • feat: make testing more resilient towards usage with app.synth #​2762
  • feat(provider-generator): Add docstring to main class generated for modules #​2589
fix
  • fix(cli): exit ink app when done synthesizing #​2933
  • fix(lib): Support Computed List<List> #​2850
  • fix(cli): Give hint when cdktf synth failed to create config #​2714
  • fix(cli): Always run init, but selectively skip locking providers #​2617
chore
  • chore: remove existing feature flags #​2937
  • chore: remove legacy comment #​2938
  • chore: pin all workflows after update #​2926
  • chore: remove PR sizing #​2925
  • chore: remove update snapshots CI job #​2924
  • chore: fix CODEOWNERS #​2921
  • chore: add merge queue and remove timechart #​2909
  • chore(hcl2cdk): add testing infrastructure for convert in Python & CSharp #​2716
refactor

v0.16.3

Compare Source

In 0.16.2 the release to maven failed, we fixed the issue and release this version so that maven is included in the release.

v0.16.2

Compare Source

fix
  • fix(provider-generator): remove duplicates between wrapper classes and interfaces generated from provider schemas #​2895
  • fix(cli): run terraform init in serial so no text file is busy in the cache #​2843
  • fix(cli): buffer the output from the Terraform CLI and only forward output that has been terminated by a newline #​2844
  • fix(cli): fix no-color flag passing #​2845
  • fix(hcl2cdk): Support conversion of functions that have variate arguments at the end #​2833
chore
  • chore: Mock synth to make parallelism test fail less #​2831
  • chore: Refactor hcl2cdk to read nicer #​2826

v0.16.1

Compare Source

fix
  • fix(cli): run terraform init in serial so no text file is busy in the cache #​2843
  • fix(cli): buffer the output from the Terraform CLI and only forward output that has been terminated by a newline #​2844
  • fix(cli): fix no-color flag passing #​2845
  • fix(hcl2cdk): Support conversion of functions that have variate arguments at the end #​2833
chore
  • chore: Mock synth to make parallelism test fail less #​2831
  • chore: Refactor hcl2cdk to read nicer #​2826

v0.16.0

Compare Source

Breaking changes

Update to .NET 6.0

We updated our C# template to .NET 6.0 as JSII updated recently and dropped support for netcoreapp3.1:

The runtime library for .NET & generated .NET bindings will no longer support netcoreapp3.1 after this release. Users are advised to upgrade their apps to use net6.0 or net7.0 instead.

from JSII v.1.76.0 release notes

Changes to Terraform function bindings

Terraform functions are now generated based on the JSON schema returned by the new metadata functions command which is going to be added to the Terraform CLI in version 1.4 (PR #​32487, already available in v1.4.0-beta2).

The following new functions were introduced:

The following functions changed:

  • Fn.parseInt() is now Fn.parseint() to match the format of all other functions
  • Fn.mergeLists() does not exist anymore, use Fn.concat() instead
  • Fn.mergeMaps() does not exist anymore, use Fn.merge() instead

As part of this change, we use the same parameter names as Terraform which might require changing keyword arguments in Python.

v0.15.5

Compare Source

fix
  • chore: update JSII to 1.75.0 #​2653
  • fix(lib): zipmap arg validators #​2633

v0.15.4

Compare Source

fix

v0.15.3

Compare Source

chore
  • chore: Don't run terraform init when not required #​2572
  • chore: additionally lock providers for linux only #​2593
  • chore: refactor 'needs upgrade' #​2570
  • chore: Update remaining Typescript documentation snippets #​2564
  • chore: translate more csharp docs #​2433
  • chore: translate rest of the docs to C# #​2558
  • chore: run dotnet format #​2559
  • chore: Update contributing #​2479
  • chore: truly autoclose older GHA updater PRs #​2546
fix
  • fix: rename CloudBackendProps to CloudBackendConfig in templates #​2553
  • fix: switch back to offical image to fix issue with stale signature files #​2588
  • fix: use correctly named syntax in comments #​2562
  • fix(lib): Update special defaults #​2523
  • fix(docs): camel -> snake case in resource escape hatches #​2571
  • fix(docs): Go post mortem review feedback #​2587
  • fix(docs): fix typo in CSharp example #​2580
  • fix(docs): fix links to examples page #​2574
  • fix(docs): add missing java remote backend example #​2563
  • fix(docs): properties in create module example use snake case #​2561
feat
  • feat: add cache flag for prettier to speed up subsequent runs #​2556
  • feat: Add a wrap in stack optional param to cdktf convert #​2539
  • feat(docs): Convert some code snippets in docs to Golang #​2439
  • feat(docs): Translate Aspect example to Go #​2445
  • feat(docs): Translate more examples to Go #​2554
  • feat(docs): Translate more examples to Go #​2560
  • feat(docs): Translate more examples to Go #​2569
  • feat: also go through files not yet added to git #​2567

v0.15.2

Compare Source

feat
  • feat: create a plan file for non-TFC runs #​2531
fix
  • fix: cdktf login issues #​2543
  • fix(lib): don't use Fn.set on tagged cloud backend #​2536
  • fix(provider-generator): use class based map abstractions #​2530
chore
  • chore: actually autoclose older GHA updater PRs #​2542
  • chore: fill out homebrew pr body #​2537
  • chore: support soft sentinel overrides #​2485

v0.15.1

Compare Source

fix
  • fix(provider-generator): fix resources named 'provider' breaking the code generation #​2504
chore
  • chore: autoclose older GHA updater PRs #​2505

v0.15.0

Compare Source

Breaking changes

Renaming of *Options and *Props to *Config

We had several exports where the configuration passed to constructs or functions was using a class with a different suffix then Config. If you are using a language like C#, Java, Python, or Go you might have needed to specify these classes in your CDKTF application. To simplify the usage we changed every suffix to be Config, so if you currently use one of the others please rename them to use the Config suffix. No options were changed in the process, only the names were aligned.

This would be one example of the change to be made (this is in Java):

import software.constructs.Construct;
import com.hashicorp.cdktf.App;
import com.hashicorp.cdktf.TerraformStack;
import com.hashicorp.cdktf.CloudBackend;
-import com.hashicorp.cdktf.CloudBackendProps;
+import com.hashicorp.cdktf.CloudBackendConfig;
import com.hashicorp.cdktf.NamedCloudWorkspace;

    public static class Demo extends TerraformStack{

        public Demo(Construct scope, String id){
            super(scope, id);
-            new CloudBackend(this, CloudBackendProps.builder()
+            new CloudBackend(this, CloudBackendConfig.builder()
                    .organization("hashicorp")
                    .workspaces(new NamedCloudWorkspace("demo"))
                    .build()
            );
Notice: CDKTF 0.15 bumps minimum Terraform version to 1.2

CDKTF is bumping the minimum supported version of Terraform from 1.0 to 1.2 starting from CDKTF version 0.15. This change is necessary as CDKTF 0.15 uses the Terraform CLI for planning and applying changes for Terraform Cloud and Terraform Enterprise instead of the API used in version 0.14.

Terraform promises compatibility between all v1.x releases, so there shouldn't be any issues with this change. The only changes between these versions are bug fixes, and new feature additions.

Please open an issue if you encounter any issues or bugs with this change.

Deprecation: We deprecate the feature flags that go into the context field of the cdktf.json

CDKTF used to use feature flags to enable potentially breaking behaviors in a release. These are no longer needed since most of the changes we introduce from here can not be hidden behind feature flags. When the feature flags are removed, the behavior will be the same as this configuration:

{
  "context": {
    "excludeStackIdFromLogicalIds": "true",
    "allowSepCharsInLogicalIds": "true"
  }
}
feat
  • feat(cli): Add cdktf provider list command #​2270
  • feat(cli): support -var and -var-file terraform flags #​2468
  • feat(cli): add -no-color tag #​2307
  • feat: enable non-escaping mode for tokens #​2179
  • feat: use our own pre-built package for node-pty to have builds for Nodejs 19 available #​2478
  • feat(docs): Document node-gyp errors if no precompiled binaries are available and the target system misses a native toolchain #​2497
fix
  • fix(cli): don't enquote args as they will be escaped and end up in the calls to Terraform #​2493
  • fix: detect destroys on windows / TF version #​2486
  • fix(tests): change Options -> Config as per #​2471 #​2482
  • fix(cli): windows fixes #​2480
  • fix: limit concurrency for integration test

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • [ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

renovate[bot] avatar Dec 05 '22 16:12 renovate[bot]