Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(aws-cdk): asset bundling skipped when using --exclusively with custom stack name #19927

Closed
stevehodgkiss opened this issue Apr 15, 2022 · 9 comments · Fixed by #19950 or #21248
Closed
Assignees
Labels
@aws-cdk/aws-lambda-nodejs bug This issue is a bug. effort/small Small work item – less than a day of effort p1

Comments

@stevehodgkiss
Copy link
Contributor

stevehodgkiss commented Apr 15, 2022

Describe the bug

This is the same as or very similar to #12898.

# cdk ls --long
- id: development/CdkBundlingIssueStack
  name: CustomStackName
  environment:
    account: unknown-account
    region: unknown-region
    name: aws://unknown-account/unknown-region

When using a custom stack name, a stage and cdk deploy "development/*" --exclusively:

  • asset bundling is skipped.
  • on deploy, the entire repo is bundled into a zip file and uploaded.

Expected Behavior

Asset bundling shouldn't be incorrectly skipped.

There's a separate issue of if it is skipped, the entire repo shouldn't be bundled into a zip file and uploaded.

Current Behavior

Asset bundling is skipped, then the entire repo is uploaded instead of the zip file.

Reproduction Steps

CDK App:

#!/usr/bin/env node
import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import { Stage } from 'aws-cdk-lib';
import { Stack, StackProps } from 'aws-cdk-lib';
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
import { Construct } from 'constructs';

class CdkBundlingIssueStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    new NodejsFunction(this, 'lambda', {})
  }
}

class MyStage extends Stage {
  constructor(scope: Construct, id: string) {
    super(scope, id)

    new CdkBundlingIssueStack(this, 'CdkBundlingIssueStack', {
      stackName: 'CustomStackName'
    });
  }
}

const app = new cdk.App();

new MyStage(app, 'development')
# cdk ls --long
- id: development/CdkBundlingIssueStack
  name: CustomStackName
  environment:
    account: unknown-account
    region: unknown-region
    name: aws://unknown-account/unknown-region
  • yarn cdk deploy "development/*" --require-approval never bundles the asset, and the stack is selected for deploy and works as expected.
  • yarn cdk deploy "development/*" --require-approval never --exclusively skips bundling, bundles the entire repo into an assets zip file instead of the lambda.

Possible Solution

I think the issue is the pattern is matched against stackName in @aws-cdk/core to determine whether to bundle assets, whereas it's matched against hierarchicalId in aws-cdk to get the list of stacks to deploy. That's how bundling is skipped yet a deploy still happens. heirarchicalId is the stack logical name (development/CdkBundlingIssueStack), whereas stackName in this case is CustomStackName.

I think the fix is to use hierarchicalId in @aws-cdk/core to make the pattern matching consistent.

Additional Information/Context

No response

CDK CLI Version

2.20.0

Framework Version

No response

Node.js Version

16.14.2

OS

MacOS

Language

Typescript

Language Version

No response

Other information

Relevant log lines with --verbose show the entire repo being bundled and uploaded, instead of the zip file. This is after asset bundling is skipped when it shouldn't be:

[0%] check: Check s3://cdk-hnb659fds-assets-12345-us-east-1/5606a614b8f65f4011c41e902adde89ca8048b8e2208efbefbb5645c64ac40d5.zip
[0%] upload: Upload s3://cdk-hnb659fds-assets-12345-us-east-1/69247885b0bf9b5b79e602c4c09ccc4c69154bdf35e933d24991cdcced8fb5ab.json
[0%] build: Zip /Users/steve/src/cdk-bundling-issue -> /Users/steve/src/cdk-bundling-issue/cdk.out/assembly-development/.cache/5606a614b8f65f4011c41e902adde89ca8048b8e2208efbefbb5645c64ac40d5.zip
@stevehodgkiss stevehodgkiss added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Apr 15, 2022
stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Apr 18, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

Closes aws#19927

[1] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Apr 18, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

Closes aws#19927

[1] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Apr 18, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

The skip bundling check has been changed to use the same value
(node.path/hierarchicalId/displayName) as aws-cdk when deciding whether
to bundle an asset, to make them consistent which ensures that if a
stack is selected for deploy in aws-cdk it will not have bundling
skipped.

Closes aws#19927

[1] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Apr 18, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2] [3].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

The skip bundling check has been changed to use the same value
(node.path/hierarchicalId/displayName) as aws-cdk when deciding whether
to bundle an asset, to make them consistent which ensures that if a
stack is selected for deploy in aws-cdk it will not have bundling
skipped.

Closes aws#19927

[1] https://github.com/aws/aws-cdk/blob/1d0270446b3effa6b8518de3c7d76f0c14e626c5/packages/aws-cdk/lib/api/cxapp/cloud-assembly.ts#L138
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[3] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Apr 18, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2] [3].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

To make them consistent, the skip bundling check has been changed to use
the same value (node.path/hierarchicalId/displayName) as aws-cdk when
deciding whether to bundle an asset.

Closes aws#19927

[1] https://github.com/aws/aws-cdk/blob/1d0270446b3effa6b8518de3c7d76f0c14e626c5/packages/aws-cdk/lib/api/cxapp/cloud-assembly.ts#L138
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[3] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Apr 18, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2] [3].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

To make them consistent, the skip bundling check has been changed to use
the same value (node.path/hierarchicalId/displayName) as aws-cdk when
deciding whether to bundle an asset.

fixes aws#19927

[1] https://github.com/aws/aws-cdk/blob/1d0270446b3effa6b8518de3c7d76f0c14e626c5/packages/aws-cdk/lib/api/cxapp/cloud-assembly.ts#L138
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[3] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
@corymhall
Copy link
Contributor

@stevehodgkiss it looks like you have a PR to fix this. Someone from the team should pick up the PR
to review.

@corymhall corymhall added p2 effort/small Small work item – less than a day of effort and removed needs-triage This issue or PR still needs to be triaged. labels Apr 18, 2022
@corymhall corymhall removed their assignment Apr 18, 2022
@xorph
Copy link

xorph commented May 31, 2022

Any ETA for this issue? My team is currently migrating multiple services to CDK and this is a blocker in some cases.

@github-actions github-actions bot added p1 and removed p2 labels Jun 28, 2022
@github-actions
Copy link

This issue has received a significant amount of attention so we are automatically upgrading its priority. A member of the community will see the re-prioritization and provide an update on the issue.

stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Jul 12, 2022
The pattern given to aws-cdk on the CLI is matched against
`hierarchicalId` (i.e. displayName, node.path) [1] [2] [3].

The same pattern is given to the CDK app but was matching against
`stackName`, causing potential for bundling to be skipped under certain
scenarios (i.e. using --exclusively with custom stack names).

To make them consistent, the skip bundling check has been changed to use
the same value (node.path/hierarchicalId/displayName) as aws-cdk when
deciding whether to bundle an asset.

fixes aws#19927

[1] https://github.com/aws/aws-cdk/blob/1d0270446b3effa6b8518de3c7d76f0c14e626c5/packages/aws-cdk/lib/api/cxapp/cloud-assembly.ts#L138
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[3] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66
@mergify mergify bot closed this as completed in #19950 Jul 13, 2022
mergify bot pushed a commit that referenced this issue Jul 13, 2022
…cdk deploy CLI (#19950)

The pattern given to aws-cdk on the CLI (`cdk deploy $pattern`) is matched against `stack.hierarchicalId` (i.e. displayName, node.path) [1] [2] [3].

The same pattern is given to the CDK app (as `bundlingStacks`) but is matching against `stackName`, causing potential for bundling to be skipped under certain scenarios (i.e. using --exclusively with custom stack names).

To make them consistent, the skip bundling check has been changed to match against the same value as `cdk deploy $pattern` (node.path/hierarchicalId/displayName) when deciding whether to bundle an asset. Making them consistent ensures necessary stacks are bundled, avoiding the issue of uploading the entire project directory since the asset wasn't bundled.

fixes #19927

[1] https://github.com/aws/aws-cdk/blob/1d0270446b3effa6b8518de3c7d76f0c14e626c5/packages/aws-cdk/lib/api/cxapp/cloud-assembly.ts#L138
[2] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/cx-api/lib/cloud-artifact.ts#L143-L145
[3] https://github.com/aws/aws-cdk/blob/6cca62db88866479f2b1d4f52b30beab3d78aeb2/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts#L66


----

### All Submissions:

* [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md)

### Adding new Unconventional Dependencies:

* [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md/#adding-new-unconventional-dependencies)

### New Features

* [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/master/INTEGRATION_TESTS.md)?
	* [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)?

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@github-actions
Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

@corymhall
Copy link
Contributor

@stevehodgkiss we had to revert the PR because it caused bundling to be skipped whenever the stack was part of a stage. The comment mentions that the stack name was intentionally converted from Stage/Stack to Stage-Stack

// bundlingStacks is of the form `Stage/Stack`, convert it to `Stage-Stack` before comparing to stack name

Done in this PR #17210

The correct fix may be to keep node.path and continue doing the conversion, but I haven't looked into it too much. At a minimum we need to add a test here to ensure that bundling is not skipped when a stack is part of a stage. We can also validate that the asset is not empty.

@stevehodgkiss
Copy link
Contributor Author

stevehodgkiss commented Jul 20, 2022

@corymhall ah, sorry about that. The issue seems to be related to how minimatch works when matching against strings containing / with a pattern of *.

 npx ts-node
> const minimatch = require('minimatch')
'use strict'

With * as the pattern, it doesn't match values containing / (i.e. stacks under a stage). This seems to be the underlying reason for the regression, and it's likely the reason for converting / to - in the first place. A test to verify this behaviour (* matches stacks under a stage like stage-name/stack-name) should also be added to prevent this regression in future, as you mentioned.

> minimatch('stage/stack', '*')
false

Converting to - gets around this:

> minimatch('stage-stack', '*')
true

Matches specifying stage/* appear to work:

> minimatch('stage/stack', 'stage/*')
true

Perhaps, as you mention, the correct fix is to convert / to - for both the supplied pattern and the node path (previously stackName, which would have had this conversion done automatically since / isn't supported in cloudformation stack names):

bundlingStacks.some(pattern => minimatch(
  this.node.path.replace('/', '-'),
  pattern.replace('/', '-'),
));
> minimatch('stage-stack', 'stage-*')
true

Another option might be to use globstar (**) as the default pattern instead of *:

const bundlingStacks: string[] = this.node.tryGetContext(cxapi.BUNDLING_STACKS) ?? ['*'];

https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/cxapp/exec.ts#L43-L44

> minimatch('stage/stack', '**')
true

@stevehodgkiss
Copy link
Contributor Author

stevehodgkiss commented Jul 20, 2022

The CDK CLI doesn't .replace('/', -) when using minimatch. I think it'd be best to do the same - match against the same input & pattern as the CLI to prevent edge cases where the CLI matches the stack but bundlingRequired() doesn't. A contrived example where replacing with - would cause different matching behaviour:

> minimatch('development-one/two'.replace('/', '-'), 'development/*'.replace('/', '-'))
true
> minimatch('development-one/two', 'development/*')
false

Using globstar ** as the default pattern is one option to avoid having to use .replace('/', '-') (a default pattern is set in bundlingRequired and in exec.ts).

When a pattern isn't supplied on the CLI, minimatch isn't used to filter the stack list. Perhaps there's another way to simply return true if a pattern isn't supplied on the CLI (although BUNDLING_STACKS is currently always set to ['*'] regardless of whether a pattern is supplied as a CLI arg).

stevehodgkiss added a commit to stevehodgkiss/aws-cdk that referenced this issue Jul 20, 2022
The original fix as per 5cff2d9, with the addition of bypassing
minimatch when `*` is the given pattern (return true). This gives
special meaning to `*`, since `*` in minimatch doesn't produce the
desired selection (all stacks).

fixes aws#19927
@stevehodgkiss
Copy link
Contributor Author

I've created a draft PR that aims to address the issue the first PR had. Interested in your feedback @corymhall @kaizencc. #21248

@mergify mergify bot closed this as completed in #21248 Oct 10, 2022
mergify bot pushed a commit that referenced this issue Oct 10, 2022
…m stack name (#21248)

Fixes #19927

[A previous PR](#19950) attempted this fix, but it caused another issue where the default pattern (`['*']`, used on cdk synth/deploy when a pattern isn't supplied) doesn't match stacks under a stage (`stage/stack`), and that caused bundling to be skipped. The default pattern worked (matched all stacks) previously because stackName was being used (and there are no `/` in stack names). See [this comment](#19927 (comment)) in the issue for more details on this.

The first commit 5556b60 adds special handling to the default pattern so that it always returns true (bypassed minimatch which would return false if a stack is under a stage). The second commit a9a48a0 aims to remove the duplication of this pattern across the codebase, by defaulting `BUNDLING_STACKS` to `undefined` and returning true in bundlingRequired if that's the case.

----

### All Submissions:

* [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md)

### Adding new Unconventional Dependencies:

* [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies)

### New Features

* [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)?
	* [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)?

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@github-actions
Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

brighid-bot added a commit to cythral/brighid-commands that referenced this issue Oct 13, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [Amazon.CDK.Lib](https://togithub.com/aws/aws-cdk) | nuget | minor |
`2.45.0` -> `2.46.0` |

---

### Release Notes

<details>
<summary>aws/aws-cdk</summary>

### [`v2.46.0`](https://togithub.com/aws/aws-cdk/releases/v2.46.0)

##### Features

- **aws-certificatemanager:** Add ability to specify the certificate
name ([#&#8203;22301](https://togithub.com/aws/aws-cdk/issues/22301))
([614ba92](https://togithub.com/aws/aws-cdk/commit/614ba92ba77e29c10ea4642a64e5b50b5dc775b8))
- **aws-ec2:** add metadata options support for launchTemplate construct
([#&#8203;22312](https://togithub.com/aws/aws-cdk/issues/22312))
([9297bd0](https://togithub.com/aws/aws-cdk/commit/9297bd04884ebd05888fd14121256329dac82b43))
- **cfnspec:** cloudformation spec v92.0.0
([#&#8203;22435](https://togithub.com/aws/aws-cdk/issues/22435))
([064a1a6](https://togithub.com/aws/aws-cdk/commit/064a1a650c6f26d6a3087a8d39971ba33413d8ce))
- **cloudfront-origins:** allow setting a user defined origin id
([#&#8203;22349](https://togithub.com/aws/aws-cdk/issues/22349))
([239215f](https://togithub.com/aws/aws-cdk/commit/239215fb8ceb4df5cd67669ad5daca39fb65543f)),
closes [#&#8203;2756](https://togithub.com/aws/aws-cdk/issues/2756)
- **ec2:** adds persist option to user data on windows instances
([#&#8203;21709](https://togithub.com/aws/aws-cdk/issues/21709))
([cb1506f](https://togithub.com/aws/aws-cdk/commit/cb1506f090e36a6da78b8a8a1edf9a1256478311))
- **sns:** topic name with `.fifo` suffix generated automatically
([#&#8203;22375](https://togithub.com/aws/aws-cdk/issues/22375))
([ba201cf](https://togithub.com/aws/aws-cdk/commit/ba201cf1d9768f9ac5d3328ec425bf566f088a16)),
closes [#&#8203;18740](https://togithub.com/aws/aws-cdk/issues/18740)
- **sqs:** add enforceSSL property to enforce encryption of data in
transit ([#&#8203;22363](https://togithub.com/aws/aws-cdk/issues/22363))
([f1886cf](https://togithub.com/aws/aws-cdk/commit/f1886cf82c50abc4e419f1450abfc3df0c5b0324))

##### Bug Fixes

- **apigateway:** cannot create an ApiKey with an imported RestApi
([#&#8203;22368](https://togithub.com/aws/aws-cdk/issues/22368))
([83c4123](https://togithub.com/aws/aws-cdk/commit/83c4123273fda2a2e349b55f1e50d5afa1c7dd9d)),
closes [#&#8203;22102](https://togithub.com/aws/aws-cdk/issues/22102)
- **apigateway:** CORS OPTIONS method should not require auth
([#&#8203;22402](https://togithub.com/aws/aws-cdk/issues/22402))
([ef72089](https://togithub.com/aws/aws-cdk/commit/ef72089d7cdf5dbaa1f172eecd29ee525f650b32)),
closes [#&#8203;8615](https://togithub.com/aws/aws-cdk/issues/8615)
- **core:** asset bundling skipped when using --exclusively with custom
stack name
([#&#8203;21248](https://togithub.com/aws/aws-cdk/issues/21248))
([209ddea](https://togithub.com/aws/aws-cdk/commit/209ddea44744509d74a080fdbd31cbb978fc8a96)),
closes
[/github.com/aws/aws-cdk/issues/19927#issuecomment-1189916912](https://togithub.com/aws//github.com/aws/aws-cdk/issues/19927/issues/issuecomment-1189916912)
- some custom resources don't work in opt-in regions
([#&#8203;22370](https://togithub.com/aws/aws-cdk/issues/22370))
([456a2c7](https://togithub.com/aws/aws-cdk/commit/456a2c75881fe8df3803db3787b48f8d9f97f09e)),
closes [#&#8203;22022](https://togithub.com/aws/aws-cdk/issues/22022)
- **cli:** state machine hotswap fails if the `DependsOn` change
([#&#8203;22396](https://togithub.com/aws/aws-cdk/issues/22396))
([0d44db2](https://togithub.com/aws/aws-cdk/commit/0d44db2c211204b85002342ce758aca0552e851c))
- **core:** Custom Resource type length validation
([#&#8203;22118](https://togithub.com/aws/aws-cdk/issues/22118))
([c186e2d](https://togithub.com/aws/aws-cdk/commit/c186e2ddcffb25647b971ba1b90faa850552d219))
- **custom-resources:** provider can fail if S3 has brown-outs
([#&#8203;22362](https://togithub.com/aws/aws-cdk/issues/22362))
([cdedf60](https://togithub.com/aws/aws-cdk/commit/cdedf606277f50a2f7e20b09560f6e14b11bbc19))
- **ec2:** cannot deploy SecurityGroup with allowAllIpv6Outbound
([#&#8203;22414](https://togithub.com/aws/aws-cdk/issues/22414))
([bb16d97](https://togithub.com/aws/aws-cdk/commit/bb16d9729daea2702b32df81fc8259b0afd652fa)),
closes [#&#8203;22407](https://togithub.com/aws/aws-cdk/issues/22407)
- **ecs:** removed explicit addition of ecs deployment type when circuit
breaker is enabled
([#&#8203;22328](https://togithub.com/aws/aws-cdk/issues/22328))
([635129c](https://togithub.com/aws/aws-cdk/commit/635129ca95313afef7b3d8fc62d077afbfd0c088)),
closes [#&#8203;16126](https://togithub.com/aws/aws-cdk/issues/16126)
[#&#8203;16919](https://togithub.com/aws/aws-cdk/issues/16919)
- half-written asset zips can be uploaded if process is interrupted
([#&#8203;22393](https://togithub.com/aws/aws-cdk/issues/22393))
([2ed006e](https://togithub.com/aws/aws-cdk/commit/2ed006e50b15dfca96395d442ccee648abdbb374)),
closes [#&#8203;18459](https://togithub.com/aws/aws-cdk/issues/18459)

##### Reverts

- "fix(ecs): removed explicit addition of ecs deployment type when
circuit breaker is enabled
([#&#8203;22328](https://togithub.com/aws/aws-cdk/issues/22328))"
([#&#8203;22418](https://togithub.com/aws/aws-cdk/issues/22418))
([0f002e2](https://togithub.com/aws/aws-cdk/commit/0f002e2009bbab2e10c08cdf908c5091ba61b754)),
closes
[/github.com/aws/aws-cdk/issues/16126#issuecomment-1271626957](https://togithub.com/aws//github.com/aws/aws-cdk/issues/16126/issues/issuecomment-1271626957)

***

#### Alpha modules (2.46.0-alpha.0)

##### Features

- **integ-tests:** add ability to `wait` for assertions to pass
([#&#8203;22335](https://togithub.com/aws/aws-cdk/issues/22335))
([700f9c4](https://togithub.com/aws/aws-cdk/commit/700f9c4d465684b784f50ec74e897c9031a639c5))
- **integ-tests:** allow for user provided assertions stack
([#&#8203;22404](https://togithub.com/aws/aws-cdk/issues/22404))
([39089f5](https://togithub.com/aws/aws-cdk/commit/39089f5eabc61c2a546391742ff2cf906f8e0f8b))
- **synthetics:** new runtime synthetics nodejs puppeteer 3 6
([#&#8203;22374](https://togithub.com/aws/aws-cdk/issues/22374))
([e0c0b56](https://togithub.com/aws/aws-cdk/commit/e0c0b56dded26a897dc6243298947bd4e69321b2))

##### Bug Fixes

- **appsync:** can not use Tokens in the name of a DataSource
([#&#8203;22378](https://togithub.com/aws/aws-cdk/issues/22378))
([511eb79](https://togithub.com/aws/aws-cdk/commit/511eb79cba734bcd9e013d5dfbf262c75a522f09)),
closes [#&#8203;18900](https://togithub.com/aws/aws-cdk/issues/18900)
- **aws-lambda-python:** export poetry dependencies without hashes
([#&#8203;22351](https://togithub.com/aws/aws-cdk/issues/22351))
([76482f6](https://togithub.com/aws/aws-cdk/commit/76482f6847a46806c1a309d2f9335a3d6e838fc6)),
closes [#&#8203;14201](https://togithub.com/aws/aws-cdk/issues/14201)
[#&#8203;19232](https://togithub.com/aws/aws-cdk/issues/19232)
- **lambda-python:** commands run non-sequentially on Graviton when
building container image
([#&#8203;22398](https://togithub.com/aws/aws-cdk/issues/22398))
([e427fd6](https://togithub.com/aws/aws-cdk/commit/e427fd6f4a186784e345b8f88424d74c004f1e5a)),
closes [#&#8203;22012](https://togithub.com/aws/aws-cdk/issues/22012)

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click
this checkbox.

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).
brighid-bot added a commit to cythral/brighid-discord-adapter that referenced this issue Oct 13, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [Amazon.CDK.Lib](https://togithub.com/aws/aws-cdk) | nuget | minor |
`2.45.0` -> `2.46.0` |

---

### Release Notes

<details>
<summary>aws/aws-cdk</summary>

### [`v2.46.0`](https://togithub.com/aws/aws-cdk/releases/v2.46.0)

##### Features

- **aws-certificatemanager:** Add ability to specify the certificate
name ([#&#8203;22301](https://togithub.com/aws/aws-cdk/issues/22301))
([614ba92](https://togithub.com/aws/aws-cdk/commit/614ba92ba77e29c10ea4642a64e5b50b5dc775b8))
- **aws-ec2:** add metadata options support for launchTemplate construct
([#&#8203;22312](https://togithub.com/aws/aws-cdk/issues/22312))
([9297bd0](https://togithub.com/aws/aws-cdk/commit/9297bd04884ebd05888fd14121256329dac82b43))
- **cfnspec:** cloudformation spec v92.0.0
([#&#8203;22435](https://togithub.com/aws/aws-cdk/issues/22435))
([064a1a6](https://togithub.com/aws/aws-cdk/commit/064a1a650c6f26d6a3087a8d39971ba33413d8ce))
- **cloudfront-origins:** allow setting a user defined origin id
([#&#8203;22349](https://togithub.com/aws/aws-cdk/issues/22349))
([239215f](https://togithub.com/aws/aws-cdk/commit/239215fb8ceb4df5cd67669ad5daca39fb65543f)),
closes [#&#8203;2756](https://togithub.com/aws/aws-cdk/issues/2756)
- **ec2:** adds persist option to user data on windows instances
([#&#8203;21709](https://togithub.com/aws/aws-cdk/issues/21709))
([cb1506f](https://togithub.com/aws/aws-cdk/commit/cb1506f090e36a6da78b8a8a1edf9a1256478311))
- **sns:** topic name with `.fifo` suffix generated automatically
([#&#8203;22375](https://togithub.com/aws/aws-cdk/issues/22375))
([ba201cf](https://togithub.com/aws/aws-cdk/commit/ba201cf1d9768f9ac5d3328ec425bf566f088a16)),
closes [#&#8203;18740](https://togithub.com/aws/aws-cdk/issues/18740)
- **sqs:** add enforceSSL property to enforce encryption of data in
transit ([#&#8203;22363](https://togithub.com/aws/aws-cdk/issues/22363))
([f1886cf](https://togithub.com/aws/aws-cdk/commit/f1886cf82c50abc4e419f1450abfc3df0c5b0324))

##### Bug Fixes

- **apigateway:** cannot create an ApiKey with an imported RestApi
([#&#8203;22368](https://togithub.com/aws/aws-cdk/issues/22368))
([83c4123](https://togithub.com/aws/aws-cdk/commit/83c4123273fda2a2e349b55f1e50d5afa1c7dd9d)),
closes [#&#8203;22102](https://togithub.com/aws/aws-cdk/issues/22102)
- **apigateway:** CORS OPTIONS method should not require auth
([#&#8203;22402](https://togithub.com/aws/aws-cdk/issues/22402))
([ef72089](https://togithub.com/aws/aws-cdk/commit/ef72089d7cdf5dbaa1f172eecd29ee525f650b32)),
closes [#&#8203;8615](https://togithub.com/aws/aws-cdk/issues/8615)
- **core:** asset bundling skipped when using --exclusively with custom
stack name
([#&#8203;21248](https://togithub.com/aws/aws-cdk/issues/21248))
([209ddea](https://togithub.com/aws/aws-cdk/commit/209ddea44744509d74a080fdbd31cbb978fc8a96)),
closes
[/github.com/aws/aws-cdk/issues/19927#issuecomment-1189916912](https://togithub.com/aws//github.com/aws/aws-cdk/issues/19927/issues/issuecomment-1189916912)
- some custom resources don't work in opt-in regions
([#&#8203;22370](https://togithub.com/aws/aws-cdk/issues/22370))
([456a2c7](https://togithub.com/aws/aws-cdk/commit/456a2c75881fe8df3803db3787b48f8d9f97f09e)),
closes [#&#8203;22022](https://togithub.com/aws/aws-cdk/issues/22022)
- **cli:** state machine hotswap fails if the `DependsOn` change
([#&#8203;22396](https://togithub.com/aws/aws-cdk/issues/22396))
([0d44db2](https://togithub.com/aws/aws-cdk/commit/0d44db2c211204b85002342ce758aca0552e851c))
- **core:** Custom Resource type length validation
([#&#8203;22118](https://togithub.com/aws/aws-cdk/issues/22118))
([c186e2d](https://togithub.com/aws/aws-cdk/commit/c186e2ddcffb25647b971ba1b90faa850552d219))
- **custom-resources:** provider can fail if S3 has brown-outs
([#&#8203;22362](https://togithub.com/aws/aws-cdk/issues/22362))
([cdedf60](https://togithub.com/aws/aws-cdk/commit/cdedf606277f50a2f7e20b09560f6e14b11bbc19))
- **ec2:** cannot deploy SecurityGroup with allowAllIpv6Outbound
([#&#8203;22414](https://togithub.com/aws/aws-cdk/issues/22414))
([bb16d97](https://togithub.com/aws/aws-cdk/commit/bb16d9729daea2702b32df81fc8259b0afd652fa)),
closes [#&#8203;22407](https://togithub.com/aws/aws-cdk/issues/22407)
- **ecs:** removed explicit addition of ecs deployment type when circuit
breaker is enabled
([#&#8203;22328](https://togithub.com/aws/aws-cdk/issues/22328))
([635129c](https://togithub.com/aws/aws-cdk/commit/635129ca95313afef7b3d8fc62d077afbfd0c088)),
closes [#&#8203;16126](https://togithub.com/aws/aws-cdk/issues/16126)
[#&#8203;16919](https://togithub.com/aws/aws-cdk/issues/16919)
- half-written asset zips can be uploaded if process is interrupted
([#&#8203;22393](https://togithub.com/aws/aws-cdk/issues/22393))
([2ed006e](https://togithub.com/aws/aws-cdk/commit/2ed006e50b15dfca96395d442ccee648abdbb374)),
closes [#&#8203;18459](https://togithub.com/aws/aws-cdk/issues/18459)

##### Reverts

- "fix(ecs): removed explicit addition of ecs deployment type when
circuit breaker is enabled
([#&#8203;22328](https://togithub.com/aws/aws-cdk/issues/22328))"
([#&#8203;22418](https://togithub.com/aws/aws-cdk/issues/22418))
([0f002e2](https://togithub.com/aws/aws-cdk/commit/0f002e2009bbab2e10c08cdf908c5091ba61b754)),
closes
[/github.com/aws/aws-cdk/issues/16126#issuecomment-1271626957](https://togithub.com/aws//github.com/aws/aws-cdk/issues/16126/issues/issuecomment-1271626957)

***

#### Alpha modules (2.46.0-alpha.0)

##### Features

- **integ-tests:** add ability to `wait` for assertions to pass
([#&#8203;22335](https://togithub.com/aws/aws-cdk/issues/22335))
([700f9c4](https://togithub.com/aws/aws-cdk/commit/700f9c4d465684b784f50ec74e897c9031a639c5))
- **integ-tests:** allow for user provided assertions stack
([#&#8203;22404](https://togithub.com/aws/aws-cdk/issues/22404))
([39089f5](https://togithub.com/aws/aws-cdk/commit/39089f5eabc61c2a546391742ff2cf906f8e0f8b))
- **synthetics:** new runtime synthetics nodejs puppeteer 3 6
([#&#8203;22374](https://togithub.com/aws/aws-cdk/issues/22374))
([e0c0b56](https://togithub.com/aws/aws-cdk/commit/e0c0b56dded26a897dc6243298947bd4e69321b2))

##### Bug Fixes

- **appsync:** can not use Tokens in the name of a DataSource
([#&#8203;22378](https://togithub.com/aws/aws-cdk/issues/22378))
([511eb79](https://togithub.com/aws/aws-cdk/commit/511eb79cba734bcd9e013d5dfbf262c75a522f09)),
closes [#&#8203;18900](https://togithub.com/aws/aws-cdk/issues/18900)
- **aws-lambda-python:** export poetry dependencies without hashes
([#&#8203;22351](https://togithub.com/aws/aws-cdk/issues/22351))
([76482f6](https://togithub.com/aws/aws-cdk/commit/76482f6847a46806c1a309d2f9335a3d6e838fc6)),
closes [#&#8203;14201](https://togithub.com/aws/aws-cdk/issues/14201)
[#&#8203;19232](https://togithub.com/aws/aws-cdk/issues/19232)
- **lambda-python:** commands run non-sequentially on Graviton when
building container image
([#&#8203;22398](https://togithub.com/aws/aws-cdk/issues/22398))
([e427fd6](https://togithub.com/aws/aws-cdk/commit/e427fd6f4a186784e345b8f88424d74c004f1e5a)),
closes [#&#8203;22012](https://togithub.com/aws/aws-cdk/issues/22012)

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click
this checkbox.

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-lambda-nodejs bug This issue is a bug. effort/small Small work item – less than a day of effort p1
Projects
None yet
4 participants