konokenj.cdk-api-mcp-server 0.39.0__py3-none-any.whl → 0.41.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. cdk_api_mcp_server/__about__.py +1 -1
  2. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/custom-resource-handlers/README.md +78 -15
  3. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md +364 -16
  4. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md +144 -0
  5. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-dualstack.ts +4 -3
  6. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts +4 -2
  7. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.stage.ts +20 -7
  8. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.usage-plan.ts +80 -0
  9. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.iam.ts +38 -34
  10. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.sqs.ts +71 -58
  11. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/README.md +1 -1
  12. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codedeploy/integ.deployment-config.ts +15 -4
  13. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codedeploy/integ.deployment-group.ts +40 -218
  14. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +21 -68
  15. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.availability-zone-rebalancing.ts +4 -14
  16. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.blue-green-deployment-strategy.ts +13 -71
  17. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts +29 -35
  18. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.exec-command.ts +22 -16
  19. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-awsvpc-nw.ts +16 -26
  20. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.pseudo-terminal.ts +8 -18
  21. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md +2 -2
  22. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.delete-existing-record-set.ts +0 -1
  23. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-ssm-source.ts +91 -0
  24. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-notifications/integ.bucket-notifications.ts +80 -42
  25. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-signer/integ.signing-profile.ts +5 -0
  26. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/README.md +9 -3
  27. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.invoke-jsonata.ts +80 -87
  28. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.invoke.ts +69 -87
  29. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.start-job-run.ts +104 -102
  30. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/README.md +2 -1893
  31. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +25 -0
  32. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md +24 -1
  33. {konokenj_cdk_api_mcp_server-0.39.0.dist-info → konokenj_cdk_api_mcp_server-0.41.0.dist-info}/METADATA +2 -2
  34. {konokenj_cdk_api_mcp_server-0.39.0.dist-info → konokenj_cdk_api_mcp_server-0.41.0.dist-info}/RECORD +37 -35
  35. {konokenj_cdk_api_mcp_server-0.39.0.dist-info → konokenj_cdk_api_mcp_server-0.41.0.dist-info}/WHEEL +0 -0
  36. {konokenj_cdk_api_mcp_server-0.39.0.dist-info → konokenj_cdk_api_mcp_server-0.41.0.dist-info}/entry_points.txt +0 -0
  37. {konokenj_cdk_api_mcp_server-0.39.0.dist-info → konokenj_cdk_api_mcp_server-0.41.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -3,16 +3,11 @@ import * as kms from 'aws-cdk-lib/aws-kms';
3
3
  import * as logs from 'aws-cdk-lib/aws-logs';
4
4
  import * as s3 from 'aws-cdk-lib/aws-s3';
5
5
  import * as cdk from 'aws-cdk-lib';
6
+ import { Duration } from 'aws-cdk-lib';
7
+ import * as integ from '@aws-cdk/integ-tests-alpha';
6
8
  import * as ecs from 'aws-cdk-lib/aws-ecs';
7
9
 
8
- const app = new cdk.App({
9
- postCliContext: {
10
- '@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
11
- '@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
12
- '@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
13
- '@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
14
- },
15
- });
10
+ const app = new cdk.App();
16
11
  const stack = new cdk.Stack(app, 'aws-ecs-integ-exec-command');
17
12
 
18
13
  const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
@@ -27,7 +22,7 @@ const execBucket = new s3.Bucket(stack, 'EcsExecBucket', {
27
22
  encryptionKey: kmsKey,
28
23
  });
29
24
 
30
- const cluster = new ecs.Cluster(stack, 'Ec2Cluster', {
25
+ const cluster = new ecs.Cluster(stack, 'FargateCluster', {
31
26
  vpc,
32
27
  executeCommandConfiguration: {
33
28
  kmsKey,
@@ -41,21 +36,32 @@ const cluster = new ecs.Cluster(stack, 'Ec2Cluster', {
41
36
  logging: ecs.ExecuteCommandLogging.OVERRIDE,
42
37
  },
43
38
  });
44
- cluster.addCapacity('DefaultAutoScalingGroup', {
45
- instanceType: new ec2.InstanceType('t2.micro'),
46
- });
47
39
 
48
- const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef');
40
+ const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef');
49
41
 
50
42
  taskDefinition.addContainer('web', {
51
43
  image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
52
- memoryLimitMiB: 256,
44
+ healthCheck: {
45
+ command: ['CMD-SHELL', 'curl localhost:8000'],
46
+ interval: Duration.seconds(60),
47
+ timeout: Duration.seconds(40),
48
+ },
53
49
  });
54
50
 
55
- new ecs.Ec2Service(stack, 'Ec2Service', {
51
+ new ecs.FargateService(stack, 'FargateService', {
56
52
  cluster,
57
53
  taskDefinition,
58
54
  enableExecuteCommand: true,
59
55
  });
60
56
 
61
- app.synth();
57
+ new integ.IntegTest(app, 'exec-command-integ-test', {
58
+ testCases: [stack],
59
+ diffAssets: true,
60
+ cdkCommandOptions: {
61
+ deploy: {
62
+ args: {
63
+ rollback: true,
64
+ },
65
+ },
66
+ },
67
+ });
@@ -3,48 +3,38 @@ import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
3
3
  import * as cdk from 'aws-cdk-lib';
4
4
  import * as ecs from 'aws-cdk-lib/aws-ecs';
5
5
 
6
- const app = new cdk.App({
7
- postCliContext: {
8
- '@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
9
- '@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
10
- '@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
11
- '@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
12
- },
13
- });
6
+ const app = new cdk.App();
14
7
  const stack = new cdk.Stack(app, 'aws-ecs-integ');
15
8
 
16
9
  const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
17
10
 
18
- const cluster = new ecs.Cluster(stack, 'EcsCluster', { vpc });
19
- cluster.addCapacity('DefaultAutoScalingGroup', {
20
- instanceType: new ec2.InstanceType('t2.micro'),
21
- });
11
+ const cluster = new ecs.Cluster(stack, 'FargateCluster', { vpc });
22
12
 
23
- const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef', {
24
- networkMode: ecs.NetworkMode.AWS_VPC,
13
+ const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef', {
14
+ memoryLimitMiB: 1024,
15
+ cpu: 512,
25
16
  });
26
17
 
27
- const container = taskDefinition.addContainer('web', {
18
+ taskDefinition.addContainer('web', {
28
19
  image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
29
- memoryLimitMiB: 256,
30
- environment: {
31
- SOME_VARIABLE: 'value',
32
- },
20
+ portMappings: [{
21
+ containerPort: 80,
22
+ protocol: ecs.Protocol.TCP,
23
+ }],
33
24
  });
34
25
 
35
- container.addPortMappings({
36
- containerPort: 80,
37
- protocol: ecs.Protocol.TCP,
38
- });
39
-
40
- const service = new ecs.Ec2Service(stack, 'Service', {
26
+ const service = new ecs.FargateService(stack, 'Service', {
41
27
  cluster,
42
28
  taskDefinition,
43
29
  });
44
30
 
31
+ const scaling = service.autoScaleTaskCount({ maxCapacity: 10 });
32
+ // Quite low to try and force it to scale
33
+ scaling.scaleOnCpuUtilization('ReasonableCpu', { targetUtilizationPercent: 10 });
34
+
45
35
  const lb = new elbv2.ApplicationLoadBalancer(stack, 'LB', { vpc, internetFacing: true });
46
36
  const listener = lb.addListener('PublicListener', { port: 80, open: true });
47
- listener.addTargets('ECS', {
37
+ listener.addTargets('Fargate', {
48
38
  port: 80,
49
39
  targets: [service],
50
40
  });
@@ -3,35 +3,25 @@ import * as cdk from 'aws-cdk-lib';
3
3
  import * as integ from '@aws-cdk/integ-tests-alpha';
4
4
  import * as ecs from 'aws-cdk-lib/aws-ecs';
5
5
 
6
- const app = new cdk.App({
7
- postCliContext: {
8
- '@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
9
- '@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
10
- '@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
11
- '@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
12
- },
13
- });
14
- const stack = new cdk.Stack(app, 'aws-ecs-integ-pseudo-terminal');
6
+ const app = new cdk.App();
7
+ const stack = new cdk.Stack(app, 'integ-pseudo-terminal');
15
8
 
16
9
  // Create a cluster
17
10
  const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
18
11
 
19
12
  const cluster = new ecs.Cluster(stack, 'EcsCluster', { vpc });
20
- cluster.addCapacity('DefaultAutoScalingGroup', {
21
- instanceType: new ec2.InstanceType('t2.micro'),
22
- });
23
-
24
- const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef', {
25
- networkMode: ecs.NetworkMode.AWS_VPC,
13
+ const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef', {
14
+ cpu: 256,
15
+ memoryLimitMiB: 512,
26
16
  });
27
-
28
17
  taskDefinition.addContainer('web', {
29
18
  image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
30
- memoryLimitMiB: 256,
19
+ memoryLimitMiB: 512,
20
+ cpu: 256,
31
21
  pseudoTerminal: true,
32
22
  });
33
23
 
34
- new ecs.Ec2Service(stack, 'Service', {
24
+ new ecs.FargateService(stack, 'Service', {
35
25
  cluster,
36
26
  taskDefinition,
37
27
  });
@@ -1177,7 +1177,7 @@ const version = fn.currentVersion;
1177
1177
  You can use Application AutoScaling to automatically configure the provisioned concurrency for your functions. AutoScaling can be set to track utilization or be based on a schedule. To configure AutoScaling on a function alias:
1178
1178
 
1179
1179
  ```ts
1180
- import * as autoscaling from 'aws-cdk-lib/aws-autoscaling';
1180
+ import * as appscaling from 'aws-cdk-lib/aws-applicationautoscaling';
1181
1181
 
1182
1182
  declare const fn: lambda.Function;
1183
1183
  const alias = fn.addAlias('prod');
@@ -1192,7 +1192,7 @@ as.scaleOnUtilization({
1192
1192
 
1193
1193
  // Configure Scheduled Scaling
1194
1194
  as.scaleOnSchedule('ScaleUpInTheMorning', {
1195
- schedule: autoscaling.Schedule.cron({ hour: '8', minute: '0'}),
1195
+ schedule: appscaling.Schedule.cron({ hour: '8', minute: '0'}),
1196
1196
  minCapacity: 20,
1197
1197
  });
1198
1198
  ```
@@ -23,7 +23,6 @@ class TestStack extends Stack {
23
23
  ttl: Duration.hours(2),
24
24
  zone: hostedZone,
25
25
  recordName: 'integ',
26
- deleteExisting: true,
27
26
  });
28
27
  newRecord.node.addDependency(existingRecord);
29
28
  }
@@ -0,0 +1,91 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+ import * as s3 from 'aws-cdk-lib/aws-s3';
4
+ import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment';
5
+ import * as ssm from 'aws-cdk-lib/aws-ssm';
6
+ import * as integ from '@aws-cdk/integ-tests-alpha';
7
+
8
+ class SsmStack extends cdk.NestedStack {
9
+ public readonly ssmParam: ssm.StringListParameter;
10
+
11
+ constructor(scope: Construct, id: string, props?: cdk.NestedStackProps) {
12
+ super(scope, id, props);
13
+
14
+ const testSubnets = ['subnet-12345', 'subnet-67890'];
15
+
16
+ this.ssmParam = new ssm.StringListParameter(this, 'TestParam', {
17
+ parameterName: '/repro/subnets',
18
+ stringListValue: testSubnets,
19
+ description: 'Test parameter for reproduction',
20
+ });
21
+ }
22
+ }
23
+
24
+ class S3Stack extends cdk.NestedStack {
25
+ public readonly bucket: s3.Bucket;
26
+
27
+ constructor(scope: Construct, id: string, props?: cdk.NestedStackProps) {
28
+ super(scope, id, props);
29
+
30
+ const readParam = ssm.StringListParameter.fromStringListParameterName(
31
+ this,
32
+ 'ReadParam',
33
+ '/repro/subnets',
34
+ );
35
+
36
+ this.bucket = new s3.Bucket(this, 'ReproBucket', {
37
+ removalPolicy: cdk.RemovalPolicy.DESTROY,
38
+ autoDeleteObjects: true,
39
+ });
40
+
41
+ new s3deploy.BucketDeployment(this, 'ReproDeployment', {
42
+ sources: [
43
+ s3deploy.Source.jsonData('config.json', {
44
+ subnets: readParam.stringListValue,
45
+ expectedValues: ['subnet-12345', 'subnet-67890'],
46
+ version: '2.207.0',
47
+ issue: 'StringListParameter tokens not resolved in Source.jsonData',
48
+ timestamp: new Date().toISOString(),
49
+ }),
50
+ ],
51
+ destinationBucket: this.bucket,
52
+ });
53
+ }
54
+ }
55
+
56
+ export class MainStack extends cdk.Stack {
57
+ constructor(scope: Construct, id: string, props?: cdk.StackProps) {
58
+ super(scope, id, props);
59
+
60
+ const ssmStack = new SsmStack(this, 'SsmStack');
61
+ const s3Stack = new S3Stack(this, 'S3Stack');
62
+ s3Stack.addDependency(ssmStack);
63
+
64
+ new cdk.CfnOutput(this, 'BucketName', {
65
+ value: s3Stack.bucket.bucketName,
66
+ description: 'Check config.json in this bucket',
67
+ });
68
+
69
+ new cdk.CfnOutput(this, 'ParameterName', {
70
+ value: ssmStack.ssmParam.parameterName,
71
+ description: 'SSM parameter name',
72
+ });
73
+
74
+ new cdk.CfnOutput(this, 'ExpectedValues', {
75
+ value: JSON.stringify(['subnet-12345', 'subnet-67890']),
76
+ description: 'Expected subnet values in config.json',
77
+ });
78
+
79
+ new cdk.CfnOutput(this, 'VerificationCommand', {
80
+ value: `aws s3 cp s3://${s3Stack.bucket.bucketName}/config.json - | jq .`,
81
+ description: 'Command to check the deployed JSON',
82
+ });
83
+ }
84
+ }
85
+
86
+ const app = new cdk.App();
87
+ const stack = new MainStack(app, 'integ-bucket-deployment-cross-stack-ssm');
88
+
89
+ new integ.IntegTest(app, 'integ-bucket-deployment-cross-stack-ssm-source', {
90
+ testCases: [stack],
91
+ });
@@ -1,68 +1,106 @@
1
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
1
2
  import * as s3 from 'aws-cdk-lib/aws-s3';
2
- import * as sqs from 'aws-cdk-lib/aws-sqs';
3
3
  import * as cdk from 'aws-cdk-lib';
4
- import * as integ from '@aws-cdk/integ-tests-alpha';
5
4
  import * as s3n from 'aws-cdk-lib/aws-s3-notifications';
5
+ import { STANDARD_NODEJS_RUNTIME } from '../../../config';
6
+ import * as constructs from 'constructs';
7
+ import * as integ from '@aws-cdk/integ-tests-alpha';
6
8
 
7
9
  const app = new cdk.App({
8
10
  postCliContext: {
11
+ '@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
9
12
  '@aws-cdk/aws-s3:keepNotificationInImportedBucket': false,
10
13
  },
11
14
  });
12
15
 
13
- const stack = new cdk.Stack(app, 'sqs-bucket-notifications');
16
+ const stack = new cdk.Stack(app, 'cdk-integ-lambda-bucket-s3-notifications');
14
17
 
15
- const bucket1 = new s3.Bucket(stack, 'Bucket1', {
18
+ const bucketA = new s3.Bucket(stack, 'MyBucket', {
16
19
  removalPolicy: cdk.RemovalPolicy.DESTROY,
17
20
  });
18
- const queue = new sqs.Queue(stack, 'MyQueue');
19
21
 
20
- bucket1.addObjectCreatedNotification(new s3n.SqsDestination(queue));
22
+ const fn = new lambda.Function(stack, 'MyFunction', {
23
+ runtime: STANDARD_NODEJS_RUNTIME,
24
+ handler: 'index.handler',
25
+ code: lambda.Code.fromInline(`exports.handler = ${handler.toString()}`),
26
+ });
21
27
 
22
- const bucket2 = new s3.Bucket(stack, 'Bucket2', {
28
+ const bucketB = new s3.Bucket(stack, 'YourBucket', {
23
29
  removalPolicy: cdk.RemovalPolicy.DESTROY,
24
- autoDeleteObjects: true,
25
30
  });
26
- bucket2.addObjectCreatedNotification(new s3n.SqsDestination(queue), { suffix: '.png' });
27
31
 
28
- const encryptedQueue = new sqs.Queue(stack, 'EncryptedQueue', { encryption: sqs.QueueEncryption.KMS });
29
- bucket1.addObjectRemovedNotification(new s3n.SqsDestination(encryptedQueue));
32
+ bucketB.addEventNotification(s3.EventType.OBJECT_REMOVED, new s3n.LambdaDestination(fn));
30
33
 
31
- const bucket3 = new s3.Bucket(stack, 'Bucket3WithSkipDestinationValidation', {
32
- notificationsSkipDestinationValidation: true,
33
- removalPolicy: cdk.RemovalPolicy.DESTROY,
34
- });
35
- const queueWithIncorrectS3Permissions = new sqs.Queue(stack, 'MyQueueWithIncorrectS3Permissions');
36
- queueWithIncorrectS3Permissions.addToResourcePolicy(
37
- new cdk.aws_iam.PolicyStatement({
38
- effect: cdk.aws_iam.Effect.DENY,
39
- actions: ['sqs:SendMessage'],
40
- principals: [new cdk.aws_iam.ServicePrincipal('s3.amazonaws.com')],
41
- resources: [queueWithIncorrectS3Permissions.queueArn],
42
- }));
43
- bucket3.addEventNotification(s3.EventType.OBJECT_TAGGING_PUT, new s3n.SqsDestination(queueWithIncorrectS3Permissions));
34
+ const c1 = new constructs.Construct(stack, 'Construct1');
35
+ const unmanagedBucket = s3.Bucket.fromBucketName(c1, 'IntegUnmanagedBucket1', bucketA.bucketName);
44
36
 
45
- const integTest = new integ.IntegTest(app, 'SQSBucketNotificationsTest', {
37
+ unmanagedBucket.addObjectCreatedNotification(new s3n.LambdaDestination(fn), { prefix: 'TEST1/', suffix: '.png' });
38
+ unmanagedBucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(fn), { prefix: 'TEST2/' });
39
+
40
+ /* eslint-disable no-console */
41
+ function handler(event: any, _context: any, callback: any) {
42
+ console.log(JSON.stringify(event, undefined, 2));
43
+ return callback(null, event);
44
+ }
45
+
46
+ const integTest = new integ.IntegTest(app, 'LambdaBucketNotificationsTest', {
47
+ cdkCommandOptions: {
48
+ deploy: {
49
+ args: {
50
+ rollback: false,
51
+ },
52
+ },
53
+ },
46
54
  testCases: [stack],
47
55
  diffAssets: true,
48
56
  });
49
57
 
50
- integTest.assertions
51
- // First remove the test notifications
52
- .awsApiCall('SQS', 'purgeQueue', {
53
- QueueUrl: queue.queueUrl,
54
- })
55
- .next(integTest.assertions
56
- .awsApiCall('S3', 'putObject', {
57
- Bucket: bucket2.bucketName,
58
- Key: 'image.png',
59
- Body: 'Some content',
60
- }))
61
- .next(integTest.assertions
62
- .awsApiCall('SQS', 'receiveMessage', {
63
- QueueUrl: queue.queueUrl,
64
- WaitTimeSeconds: 20,
65
- })
66
- .assertAtPath('Messages.0.Body.Records.0.s3.object.key', integ.ExpectedResult.stringLikeRegexp('image\\.png')));
58
+ const getNotifications = integTest.assertions
59
+ .awsApiCall('S3', 'getBucketNotificationConfiguration', {
60
+ Bucket: unmanagedBucket.bucketName,
61
+ });
62
+ getNotifications.provider.addToRolePolicy({
63
+ Effect: 'Allow',
64
+ Action: ['s3:GetBucketNotification'],
65
+ Resource: ['*'],
66
+ });
67
67
 
68
+ getNotifications.expect(integ.ExpectedResult.objectLike({
69
+ LambdaFunctionConfigurations: [
70
+ {
71
+ Events: [
72
+ 's3:ObjectCreated:*',
73
+ ],
74
+ Filter: {
75
+ Key: {
76
+ FilterRules: [
77
+ {
78
+ Name: 'Prefix',
79
+ Value: 'TEST1/',
80
+ },
81
+ {
82
+ Name: 'Suffix',
83
+ Value: '.png',
84
+ },
85
+ ],
86
+ },
87
+ },
88
+ },
89
+ {
90
+ Events: [
91
+ 's3:ObjectCreated:*',
92
+ ],
93
+ Filter: {
94
+ Key: {
95
+ FilterRules: [
96
+ {
97
+ Name: 'Prefix',
98
+ Value: 'TEST2/',
99
+ },
100
+ ],
101
+ },
102
+ },
103
+ },
104
+ ],
105
+ }));
68
106
  app.synth();
@@ -16,6 +16,11 @@ new signer.SigningProfile(stack, 'SigningProfileOCI', {
16
16
  signatureValidity: cdk.Duration.days(60),
17
17
  });
18
18
 
19
+ new signer.SigningProfile(stack, 'SigningProfileWithName', {
20
+ platform: signer.Platform.AWS_LAMBDA_SHA384_ECDSA,
21
+ signingProfileName: 'test-signing-profile-name',
22
+ });
23
+
19
24
  new IntegTest(app, 'cdk-integ-signer-signing-profile', {
20
25
  testCases: [stack],
21
26
  });
@@ -34,6 +34,8 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
34
34
  - [SubmitJob](#submitjob)
35
35
  - [Bedrock](#bedrock)
36
36
  - [InvokeModel](#invokemodel)
37
+ - [Using Input Path for S3 URI](#using-input-path-for-s3-uri)
38
+ - [Using Input Path](#using-input-path)
37
39
  - [createModelCustomizationJob](#createmodelcustomizationjob)
38
40
  - [CodeBuild](#codebuild)
39
41
  - [StartBuild](#startbuild)
@@ -47,6 +49,7 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
47
49
  - [RunTask](#runtask)
48
50
  - [EC2](#ec2)
49
51
  - [Fargate](#fargate)
52
+ - [Override CPU and Memory Parameter](#override-cpu-and-memory-parameter)
50
53
  - [ECS enable Exec](#ecs-enable-exec)
51
54
  - [EMR](#emr)
52
55
  - [Create Cluster](#create-cluster)
@@ -64,15 +67,18 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
64
67
  - [Call](#call)
65
68
  - [EventBridge](#eventbridge)
66
69
  - [Put Events](#put-events)
70
+ - [EventBridge Scheduler](#eventbridge-scheduler)
71
+ - [Create Scheduler](#create-scheduler)
67
72
  - [Glue](#glue)
68
73
  - [StartJobRun](#startjobrun)
69
74
  - [StartCrawlerRun](#startcrawlerrun)
70
75
  - [Glue DataBrew](#glue-databrew)
71
76
  - [Start Job Run](#start-job-run-1)
77
+ - [Invoke HTTP API](#invoke-http-api)
72
78
  - [Lambda](#lambda)
73
79
  - [Invoke](#invoke)
74
80
  - [MediaConvert](#mediaconvert)
75
- - [Create Job](#create-job)
81
+ - [CreateJob](#createjob)
76
82
  - [SageMaker](#sagemaker)
77
83
  - [Create Training Job](#create-training-job)
78
84
  - [Create Transform Job](#create-transform-job)
@@ -1315,12 +1321,12 @@ The following code snippet includes a Task state that uses eks:call to list the
1315
1321
 
1316
1322
  ```ts
1317
1323
  import * as eks from 'aws-cdk-lib/aws-eks';
1318
- import { KubectlV32Layer } from '@aws-cdk/lambda-layer-kubectl-v32';
1324
+ import { KubectlV33Layer } from '@aws-cdk/lambda-layer-kubectl-v33';
1319
1325
 
1320
1326
  const myEksCluster = new eks.Cluster(this, 'my sample cluster', {
1321
1327
  version: eks.KubernetesVersion.V1_32,
1322
1328
  clusterName: 'myEksCluster',
1323
- kubectlLayer: new KubectlV32Layer(this, 'kubectl'),
1329
+ kubectlLayer: new KubectlV33Layer(this, 'kubectl'),
1324
1330
  });
1325
1331
 
1326
1332
  new tasks.EksCall(this, 'Call a EKS Endpoint', {