Skip to content

Commit 00f70f1

Browse files
authored
2 parents bb9275c + b3600f0 commit 00f70f1

File tree

464 files changed

+221856
-71755
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

464 files changed

+221856
-71755
lines changed

.github/workflows/github-merit-badger.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ jobs:
1717
badges: '[beginning-contributor,repeat-contributor,valued-contributor,admired-contributor,star-contributor,distinguished-contributor]'
1818
thresholds: '[0,3,6,13,25,50]'
1919
badge-type: 'achievement'
20-
ignore-usernames: '[rix0rrr,iliapolo,otaviomacedo,kaizencc,comcalvi,TheRealAmazonKendra,vinayak-kukreja,mrgrain,pahud,cgarvis,kellertk,ashishdhingra,HBobertz,sumupitchayan,SankyRed,udaypant,colifran,khushail,scanlonp,mikewrighton,moelasmar,paulhcsun,awsmjs,evgenyka,GavinZZ,aaythapa,xazhao,ConnorRobertson,ssenchenko,gracelu0,jfuss,SimonCMoore,shikha372,kirtishrinkhala,godwingrs22,bergjaak,IanKonlog,Leo10Gama,samson-keung,scorbiere,michelle-wangg,jiayiwang7,1kaileychen,aws-cdk-automation,dependabot[bot],mergify[bot]]'
20+
ignore-usernames: '[rix0rrr,iliapolo,otaviomacedo,kaizencc,comcalvi,TheRealAmazonKendra,mrgrain,pahud,kellertk,ashishdhingra,HBobertz,sumupitchayan,colifran,khushail,moelasmar,paulhcsun,GavinZZ,aaythapa,xazhao,gracelu0,jfuss,shikha372,kirtishrinkhala,godwingrs22,bergjaak,IanKonlog,Leo10Gama,samson-keung,scorbiere,michelle-wangg,jiayiwang7,1kaileychen,aws-cdk-automation,dependabot[bot],mergify[bot]]'

.mergify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ pull_request_rules:
2424
label:
2525
add: [ contribution/core ]
2626
conditions:
27-
- author~=^(rix0rrr|iliapolo|otaviomacedo|kaizencc|comcalvi|TheRealAmazonKendra|vinayak-kukreja|mrgrain|pahud|ashishdhingra|cgarvis|kellertk|HBobertz|sumupitchayan|SankyRed|udaypant|colifran|scanlonp|mikewrighton|moelasmar|paulhcsun|awsmjs|evgenyka|GavinZZ|aaythapa|xazhao|ConnorRobertson|ssenchenko|gracelu0|jfuss|SimonCMoore|shikha372|kirtishrinkhala|godwingrs22|bergjaak|samson-keung|IanKonlog|Leo10Gama|scorbiere|michelle-wangg|jiayiwang7|1kaileychen)$
27+
- author~=^(rix0rrr|iliapolo|otaviomacedo|kaizencc|comcalvi|TheRealAmazonKendra|mrgrain|pahud|ashishdhingra|kellertk|HBobertz|sumupitchayan|colifran|moelasmar|paulhcsun|GavinZZ|aaythapa|xazhao|gracelu0|jfuss|shikha372|kirtishrinkhala|godwingrs22|bergjaak|samson-keung|IanKonlog|Leo10Gama|scorbiere|michelle-wangg|jiayiwang7|1kaileychen)$
2828
- -label~="contribution/core"
2929
- name: automatic merge
3030
actions:

CHANGELOG.v2.alpha.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,28 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [2.165.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.164.1-alpha.0...v2.165.0-alpha.0) (2024-10-31)
6+
7+
8+
### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES
9+
10+
* **ec2-alpha:** The new `VpcCidrBlock` L2 construct replaces `CfnVPCCidrBlock`. This change alters the logical ID of `AWS::EC2::VPCCidrBlock` resources in CloudFormation templates. Existing deployments will see errors like `CIDR range conflicts with x.xx.xx.xx/xx with association ID vpc-cidr-assoc-ABCD`. To resolve this, you must recreate your existing stacks to use the new module.
11+
12+
### Features
13+
14+
* **apprunner:** support vpc ingress connection ([#30623](https://github.com/aws/aws-cdk/issues/30623)) ([048e753](https://github.com/aws/aws-cdk/commit/048e7538dd71d69c2add28ff454b6d9c69b4f256)), closes [#22850](https://github.com/aws/aws-cdk/issues/22850)
15+
* **ec2-alpha:** adding imports for SubnetV2 and VpcV2 ([#31765](https://github.com/aws/aws-cdk/issues/31765)) ([d108a80](https://github.com/aws/aws-cdk/commit/d108a8003e463301acea15076501cd815b0eda4a))
16+
* **location:** support Tracker and TrackerConsumer ([#31268](https://github.com/aws/aws-cdk/issues/31268)) ([046f041](https://github.com/aws/aws-cdk/commit/046f0418a3de08a59c940a7a3d93148cb5f0659b)), closes [#30712](https://github.com/aws/aws-cdk/issues/30712)
17+
* **pipes-enrichments:** support API Gateway enrichment ([#31794](https://github.com/aws/aws-cdk/issues/31794)) ([09052c2](https://github.com/aws/aws-cdk/commit/09052c2060c410028896fd54e76a857b2141c8a4)), closes [#29384](https://github.com/aws/aws-cdk/issues/29384)
18+
* **pipes-targets:** add SageMaker ([#30696](https://github.com/aws/aws-cdk/issues/30696)) ([a5fdf57](https://github.com/aws/aws-cdk/commit/a5fdf570beb1456b1307276f56d90fd1ba0b46d8))
19+
* **redshift-alpha:** query execution timeout setting during table creation ([#31818](https://github.com/aws/aws-cdk/issues/31818)) ([40f07ae](https://github.com/aws/aws-cdk/commit/40f07ae330d074cfa7861e24a0427da7ec427f68)), closes [#31329](https://github.com/aws/aws-cdk/issues/31329)
20+
21+
### Bug Fixes
22+
23+
* **location:** remove base class from PlaceIndex class ([#31287](https://github.com/aws/aws-cdk/issues/31287)) ([bc67866](https://github.com/aws/aws-cdk/commit/bc67866f579c401556d427eb150bcd118d69bd17)), closes [#30711](https://github.com/aws/aws-cdk/issues/30711) [#30682](https://github.com/aws/aws-cdk/issues/30682)
24+
* **scheduler-alpha:** scheduler input always get transformed to string with extra double quotes ([#31894](https://github.com/aws/aws-cdk/issues/31894)) ([186b8ab](https://github.com/aws/aws-cdk/commit/186b8abfab8452b31cba13b56998242f63c43159))
25+
* **scheduler-alpha:** too many KMS permissions granted ([#31923](https://github.com/aws/aws-cdk/issues/31923)) ([06678a3](https://github.com/aws/aws-cdk/commit/06678a39e029582af14c8b021f946b9ce9cac9be)), closes [#31785](https://github.com/aws/aws-cdk/issues/31785)
26+
527
## [2.164.1-alpha.0](https://github.com/aws/aws-cdk/compare/v2.164.0-alpha.0...v2.164.1-alpha.0) (2024-10-25)
628

729
## [2.164.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.163.1-alpha.0...v2.164.0-alpha.0) (2024-10-24)

CHANGELOG.v2.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,29 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [2.165.0](https://github.com/aws/aws-cdk/compare/v2.164.1...v2.165.0) (2024-10-31)
6+
7+
8+
### Features
9+
10+
* **bootstrap:** add lifecycle rule to abort multipart uploads after 7 days ([#31956](https://github.com/aws/aws-cdk/issues/31956)) ([b800da8](https://github.com/aws/aws-cdk/commit/b800da8172919a1ab27f885549e701d98323c9bb)), closes [#29045](https://github.com/aws/aws-cdk/issues/29045)
11+
* **bootstrap:** delete noncurrent versions after 30 days ([#31949](https://github.com/aws/aws-cdk/issues/31949)) ([579041e](https://github.com/aws/aws-cdk/commit/579041e5d41e780ce1f6fb9f778c353868fb6938))
12+
* **cli:** garbage collect ecr assets (under --unstable flag) ([#31841](https://github.com/aws/aws-cdk/issues/31841)) ([da85e54](https://github.com/aws/aws-cdk/commit/da85e54d7d3dfb4e33942f58564e91039e7d22ff)), closes [#31611](https://github.com/aws/aws-cdk/issues/31611)
13+
* **codebuild:** add support of organization webhook in github source ([#31740](https://github.com/aws/aws-cdk/issues/31740)) ([8c15b5f](https://github.com/aws/aws-cdk/commit/8c15b5f19a0c289fd0dad8c35b6734232d957836)), closes [#31736](https://github.com/aws/aws-cdk/issues/31736)
14+
* **cognito:** support UserPoolGroup ([#31351](https://github.com/aws/aws-cdk/issues/31351)) ([408b20f](https://github.com/aws/aws-cdk/commit/408b20f92122069a04ff5776b4783ae220d04a56)), closes [#21026](https://github.com/aws/aws-cdk/issues/21026)
15+
* update L1 CloudFormation resource definitions ([#31917](https://github.com/aws/aws-cdk/issues/31917)) ([8c93291](https://github.com/aws/aws-cdk/commit/8c93291f789b441397bc5a64308816e89f682199))
16+
17+
18+
### Bug Fixes
19+
20+
* **assertions:** throw error or warn when `synth` is called multiple times on mutated construct tree ([#31865](https://github.com/aws/aws-cdk/issues/31865)) ([a261c9d](https://github.com/aws/aws-cdk/commit/a261c9d8a316ec389f19c873122691d48c5ca16d)), closes [#24689](https://github.com/aws/aws-cdk/issues/24689)
21+
* **cli:** ecr garbage collection hangs when repository has no images ([#31951](https://github.com/aws/aws-cdk/issues/31951)) ([a235a9f](https://github.com/aws/aws-cdk/commit/a235a9fad29bf0da141b27ca391861fa613f42b8))
22+
* **cli:** garbage collection ignores review_in_progress stacks ([#31906](https://github.com/aws/aws-cdk/issues/31906)) ([cb3ecfe](https://github.com/aws/aws-cdk/commit/cb3ecfe8f255e626db3706632c9590c86c28bea5))
23+
* **s3-assets:** cannot publish a file without extension ([#30597](https://github.com/aws/aws-cdk/issues/30597)) ([ccab485](https://github.com/aws/aws-cdk/commit/ccab485b87a7090ddf0773508d7b8ee84ff654b0)), closes [#30471](https://github.com/aws/aws-cdk/issues/30471)
24+
* **sqs:** queue with `fifo: false` does not deploy ([#31922](https://github.com/aws/aws-cdk/issues/31922)) ([a9d3b02](https://github.com/aws/aws-cdk/commit/a9d3b02783104fe862a3e863e8c89af845b49c8c)), closes [#8550](https://github.com/aws/aws-cdk/issues/8550)
25+
* enable node-fips compatible body checksums for S3 ([#31883](https://github.com/aws/aws-cdk/issues/31883)) ([4f29c1d](https://github.com/aws/aws-cdk/commit/4f29c1d04533b68535c1a5706855066d1d1ea577))
26+
27+
528
## [2.164.1](https://github.com/aws/aws-cdk/compare/v2.164.0...v2.164.1) (2024-10-25)
629

730

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@
1515
"build-all": "tsc -b"
1616
},
1717
"devDependencies": {
18-
"@nx/workspace": "^19.7.2",
18+
"@nx/workspace": "^19.8.6",
1919
"@types/node": "18.11.19",
2020
"@types/prettier": "2.6.0",
2121
"@yarnpkg/lockfile": "^1.1.0",
2222
"aws-sdk-js-codemod": "^0.28.2",
23-
"cdk-generate-synthetic-examples": "^0.2.14",
23+
"cdk-generate-synthetic-examples": "^0.2.17",
2424
"conventional-changelog-cli": "^2.2.2",
2525
"fs-extra": "^9.1.0",
2626
"graceful-fs": "^4.2.11",
2727
"jest-junit": "^13.2.0",
28-
"jsii-diff": "1.103.1",
29-
"jsii-pacmak": "1.103.1",
30-
"jsii-reflect": "1.103.1",
28+
"jsii-diff": "1.104.0",
29+
"jsii-pacmak": "1.104.0",
30+
"jsii-reflect": "1.104.0",
3131
"lerna": "^8.1.8",
32-
"nx": "^19.7.2",
32+
"nx": "^19.8.6",
3333
"patch-package": "^6.5.1",
3434
"semver": "^7.6.3",
3535
"standard-version": "^9.5.0",

packages/@aws-cdk-testing/cli-integ/lib/npm.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,32 @@ export function typescriptVersionsSync(): string[] {
1010

1111
const versions: string[] = JSON.parse(stdout);
1212
return Array.from(new Set(versions.map(v => v.split('.').slice(0, 2).join('.'))));
13-
}
13+
}
14+
15+
/**
16+
* Use NPM preinstalled on the machine to query publish times of versions
17+
*/
18+
export function typescriptVersionsYoungerThanDaysSync(days: number, versions: string[]): string[] {
19+
const { stdout } = spawnSync('npm', ['--silent', 'view', 'typescript', 'time', '--json'], { encoding: 'utf-8' });
20+
const versionTsMap: Record<string, string> = JSON.parse(stdout);
21+
22+
const cutoffDate = new Date(Date.now() - (days * 24 * 3600 * 1000));
23+
const cutoffDateS = cutoffDate.toISOString();
24+
25+
const recentVersions = Object.entries(versionTsMap)
26+
.filter(([_, dateS]) => dateS > cutoffDateS)
27+
.map(([v]) => v);
28+
29+
// Input versions are of the form 3.9, 5.2, etc.
30+
// Actual versions are of the form `3.9.15`, `5.3.0-dev.20511311`.
31+
// Return only 2-digit versions for which there is a non-prerelease version in the set of recentVersions
32+
// So a 2-digit versions that is followed by `.<digits>` until the end of the string.
33+
return versions.filter((twoV) => {
34+
const re = new RegExp(`^${reQuote(twoV)}\\.\\d+$`);
35+
return recentVersions.some(fullV => fullV.match(re));
36+
});
37+
}
38+
39+
function reQuote(str: string): string {
40+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
41+
}

packages/@aws-cdk-testing/cli-integ/lib/package-sources/release-source.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ export class ReleasePackageSource implements IPackageSource {
6060
return this.version.split('.')[0] as string;
6161
}
6262

63+
public requestedCliVersion() {
64+
return this.version;
65+
}
66+
6367
public requestedFrameworkVersion() {
6468
return process.env.FRAMEWORK_VERSION!;
6569
}

packages/@aws-cdk-testing/cli-integ/lib/package-sources/repo-source.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ export class RepoPackageSource implements IPackageSource {
4949
return releaseJson.majorVersion;
5050
}
5151

52+
public requestedCliVersion(): string {
53+
return '*';
54+
}
55+
5256
public requestedFrameworkVersion(): string {
5357
return '*';
5458
}

packages/@aws-cdk-testing/cli-integ/lib/package-sources/source.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ export interface IPackageSource {
1414

1515
initializeDotnetPackages(targetDir: string): Promise<void>;
1616

17+
/**
18+
* CLI version
19+
*/
20+
requestedCliVersion(): string;
21+
1722
/**
1823
* Framework version if it's different than the CLI version
1924
*

packages/@aws-cdk-testing/cli-integ/lib/shell.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,19 @@ export async function shell(command: string[], options: ShellOptions = {}): Prom
1414
throw new Error('Use either env or modEnv but not both');
1515
}
1616

17+
const outputs = new Set(options.outputs);
18+
const writeToOutputs = (x: string) => {
19+
for (const outputStream of outputs) {
20+
outputStream.write(x);
21+
}
22+
};
23+
1724
// Always output the command
18-
(options.output ?? process.stdout).write(`💻 ${command.join(' ')}\n`);
19-
20-
let output: NodeJS.WritableStream | undefined = options.output ?? process.stdout;
21-
switch (options.show ?? 'always') {
22-
case 'always':
23-
break;
24-
case 'never':
25-
case 'error':
26-
output = undefined;
27-
break;
28-
}
25+
writeToOutputs(`💻 ${command.join(' ')}\n`);
26+
const show = options.show ?? 'always';
2927

3028
if (process.env.VERBOSE) {
31-
output = process.stdout;
29+
outputs.add(process.stdout);
3230
}
3331

3432
const env = options.env ?? (options.modEnv ? { ...process.env, ...options.modEnv } : process.env);
@@ -46,12 +44,16 @@ export async function shell(command: string[], options: ShellOptions = {}): Prom
4644
const stderr = new Array<Buffer>();
4745

4846
child.stdout!.on('data', chunk => {
49-
output?.write(chunk);
47+
if (show === 'always') {
48+
writeToOutputs(chunk);
49+
}
5050
stdout.push(chunk);
5151
});
5252

5353
child.stderr!.on('data', chunk => {
54-
output?.write(chunk);
54+
if (show === 'always') {
55+
writeToOutputs(chunk);
56+
}
5557
if (options.captureStderr ?? true) {
5658
stderr.push(chunk);
5759
}
@@ -66,8 +68,8 @@ export async function shell(command: string[], options: ShellOptions = {}): Prom
6668
if (code === 0 || options.allowErrExit) {
6769
resolve(out);
6870
} else {
69-
if (options.show === 'error') {
70-
(options.output ?? process.stdout).write(out + '\n');
71+
if (show === 'error') {
72+
writeToOutputs(`${out}\n`);
7173
}
7274
reject(new Error(`'${command.join(' ')}' exited with error code ${code}.`));
7375
}
@@ -97,10 +99,8 @@ export interface ShellOptions extends child_process.SpawnOptions {
9799

98100
/**
99101
* Pass output here
100-
*
101-
* @default stdout unless quiet=true
102102
*/
103-
readonly output?: NodeJS.WritableStream;
103+
readonly outputs?: NodeJS.WritableStream[];
104104

105105
/**
106106
* Only return stderr. For example, this is used to validate
@@ -127,9 +127,9 @@ export class ShellHelper {
127127
private readonly _cwd: string,
128128
private readonly _output: NodeJS.WritableStream) { }
129129

130-
public async shell(command: string[], options: Omit<ShellOptions, 'cwd' | 'output'> = {}): Promise<string> {
130+
public async shell(command: string[], options: Omit<ShellOptions, 'cwd' | 'outputs'> = {}): Promise<string> {
131131
return shell(command, {
132-
output: this._output,
132+
outputs: [this._output],
133133
cwd: this._cwd,
134134
...options,
135135
});

0 commit comments

Comments
 (0)