konokenj.cdk-api-mcp-server 0.43.0__py3-none-any.whl → 0.44.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.
Potentially problematic release.
This version of konokenj.cdk-api-mcp-server might be problematic. Click here for more details.
- cdk_api_mcp_server/__about__.py +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md +8 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md +34 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts +148 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/README.md +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-docker-server.ts +44 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts +22 -16
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/README.md +3 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-bun-lock.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md +20 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-endpoint.ts +36 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.notifications-scoped-permissions.ts +71 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-parallel.ts +82 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-redrive.ts +130 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-with-catch.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-browser-type.ts +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +2 -2
- {konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/RECORD +27 -19
- {konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/licenses/LICENSE.txt +0 -0
cdk_api_mcp_server/__about__.py
CHANGED
|
@@ -150,7 +150,7 @@ new iot.AccountAuditConfiguration(this, 'AuditConfiguration', {
|
|
|
150
150
|
checkConfiguration: {
|
|
151
151
|
deviceCertificateAgeCheck: true,
|
|
152
152
|
// The default value is 365 days
|
|
153
|
-
// Valid values range from 30 days (minimum) to
|
|
153
|
+
// Valid values range from 30 days (minimum) to 3650 days (10 years, maximum)
|
|
154
154
|
deviceCertificateAgeCheckDuration: Duration.days(365),
|
|
155
155
|
},
|
|
156
156
|
});
|
|
@@ -524,6 +524,14 @@ const arn = api.arnForExecuteApiV2('$connect', 'dev');
|
|
|
524
524
|
|
|
525
525
|
For a detailed explanation of this function, including usage and examples, please refer to the [Generating ARN for Execute API](#generating-arn-for-execute-api) section under HTTP API.
|
|
526
526
|
|
|
527
|
+
To disable schema validation, set `disableSchemaValidation` to true.
|
|
528
|
+
|
|
529
|
+
```ts
|
|
530
|
+
new apigwv2.WebSocketApi(this, 'api', {
|
|
531
|
+
disableSchemaValidation: true,
|
|
532
|
+
});
|
|
533
|
+
```
|
|
534
|
+
|
|
527
535
|
You can configure IP address type for the API endpoint using `ipAddressType` property.
|
|
528
536
|
Valid values are `IPV4` (default) and `DUAL_STACK`.
|
|
529
537
|
|
|
@@ -8,6 +8,10 @@ const stack = new cdk.Stack(app, 'aws-cdk-aws-apigatewayv2');
|
|
|
8
8
|
|
|
9
9
|
new apigw.WebSocketApi(stack, 'WebSocketApi');
|
|
10
10
|
|
|
11
|
+
new apigw.WebSocketApi(stack, 'WebSocketApiWithProps', {
|
|
12
|
+
disableSchemaValidation: true,
|
|
13
|
+
});
|
|
14
|
+
|
|
11
15
|
new IntegTest(app, 'web-socket-api', {
|
|
12
16
|
testCases: [stack],
|
|
13
17
|
});
|
|
@@ -532,6 +532,40 @@ const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
|
|
|
532
532
|
});
|
|
533
533
|
```
|
|
534
534
|
|
|
535
|
+
### Enable Execute Command (ECS Exec)
|
|
536
|
+
|
|
537
|
+
You can enable [ECS Exec](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html) for interactive debugging and troubleshooting by setting `enableExecuteCommand` to `true`.
|
|
538
|
+
When enabled, you'll be able to execute commands interactively in running containers.
|
|
539
|
+
|
|
540
|
+
```ts
|
|
541
|
+
const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
|
|
542
|
+
container: new batch.EcsEc2ContainerDefinition(this, 'Ec2Container', {
|
|
543
|
+
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
|
|
544
|
+
memory: cdk.Size.mebibytes(2048),
|
|
545
|
+
cpu: 256,
|
|
546
|
+
enableExecuteCommand: true, // Enable ECS Exec
|
|
547
|
+
}),
|
|
548
|
+
});
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
The same functionality is available for Fargate containers:
|
|
552
|
+
|
|
553
|
+
```ts
|
|
554
|
+
const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
|
|
555
|
+
container: new batch.EcsFargateContainerDefinition(this, 'FargateContainer', {
|
|
556
|
+
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
|
|
557
|
+
memory: cdk.Size.mebibytes(2048),
|
|
558
|
+
cpu: 256,
|
|
559
|
+
enableExecuteCommand: true, // Enable ECS Exec for Fargate
|
|
560
|
+
}),
|
|
561
|
+
});
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
When `enableExecuteCommand` is set to `true`:
|
|
565
|
+
|
|
566
|
+
- If no `jobRole` is provided, a new IAM role will be automatically created with the required SSM permissions
|
|
567
|
+
- If a `jobRole` is already provided, the necessary SSM permissions will be added to the existing role
|
|
568
|
+
|
|
535
569
|
### Secrets
|
|
536
570
|
|
|
537
571
|
You can expose SecretsManager Secret ARNs or SSM Parameters to your container as environment variables.
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import * as batch from 'aws-cdk-lib/aws-batch';
|
|
2
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
3
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
4
|
+
import * as cdk from 'aws-cdk-lib';
|
|
5
|
+
import { IntegTest, ExpectedResult } from '@aws-cdk/integ-tests-alpha';
|
|
6
|
+
|
|
7
|
+
class EcsExecBatchStack extends cdk.Stack {
|
|
8
|
+
public readonly ec2ComputeEnvironment: batch.ManagedEc2EcsComputeEnvironment;
|
|
9
|
+
public readonly fargateComputeEnvironment: batch.FargateComputeEnvironment;
|
|
10
|
+
public readonly ec2JobQueue: batch.JobQueue;
|
|
11
|
+
public readonly fargateJobQueue: batch.JobQueue;
|
|
12
|
+
public readonly ec2JobDefinition: batch.EcsJobDefinition;
|
|
13
|
+
public readonly fargateJobDefinition: batch.EcsJobDefinition;
|
|
14
|
+
|
|
15
|
+
constructor(scope: cdk.App, id: string, props: cdk.StackProps = {}) {
|
|
16
|
+
super(scope, id, props);
|
|
17
|
+
|
|
18
|
+
const vpc = new ec2.Vpc(this, 'Vpc', {
|
|
19
|
+
maxAzs: 2,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
this.ec2ComputeEnvironment = new batch.ManagedEc2EcsComputeEnvironment(this, 'ComputeEnv', {
|
|
23
|
+
vpc,
|
|
24
|
+
instanceTypes: [ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.LARGE)],
|
|
25
|
+
minvCpus: 0,
|
|
26
|
+
maxvCpus: 256,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
this.ec2JobQueue = new batch.JobQueue(this, 'JobQueue', {
|
|
30
|
+
computeEnvironments: [
|
|
31
|
+
{
|
|
32
|
+
order: 1,
|
|
33
|
+
computeEnvironment: this.ec2ComputeEnvironment,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
this.ec2JobDefinition = new batch.EcsJobDefinition(this, 'EcsExecEc2JobDefinition', {
|
|
39
|
+
jobDefinitionName: 'EcsExecEc2TestJob',
|
|
40
|
+
container: new batch.EcsEc2ContainerDefinition(this, 'Ec2Container', {
|
|
41
|
+
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
|
|
42
|
+
cpu: 2,
|
|
43
|
+
memory: cdk.Size.mebibytes(2048),
|
|
44
|
+
enableExecuteCommand: true,
|
|
45
|
+
command: ['sh', '-c', 'echo "Job started with ECS Exec enabled"; sleep 300'], // Keep container running
|
|
46
|
+
}),
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
this.fargateJobDefinition = new batch.EcsJobDefinition(this, 'EcsExecFargateJobDefinition', {
|
|
50
|
+
container: new batch.EcsFargateContainerDefinition(this, 'FargateContainer', {
|
|
51
|
+
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
|
|
52
|
+
cpu: 0.25,
|
|
53
|
+
memory: cdk.Size.gibibytes(1),
|
|
54
|
+
enableExecuteCommand: true, // Enable ECS Exec
|
|
55
|
+
command: ['sh', '-c', 'echo "Fargate Job started with ECS Exec enabled"; sleep 300'], // Keep container running
|
|
56
|
+
}),
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Create Fargate compute environment
|
|
60
|
+
this.fargateComputeEnvironment = new batch.FargateComputeEnvironment(this, 'FargateComputeEnv', {
|
|
61
|
+
vpc,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
this.fargateJobQueue = new batch.JobQueue(this, 'FargateJobQueue', {
|
|
65
|
+
computeEnvironments: [
|
|
66
|
+
{
|
|
67
|
+
order: 1,
|
|
68
|
+
computeEnvironment: this.fargateComputeEnvironment,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const app = new cdk.App();
|
|
76
|
+
const stack = new EcsExecBatchStack(app, 'EcsExecBatchStack');
|
|
77
|
+
|
|
78
|
+
const integ = new IntegTest(app, 'EcsExecBatchTest', {
|
|
79
|
+
testCases: [stack],
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Helper function to test ECS Exec for a job
|
|
83
|
+
function testEcsExecForJob(
|
|
84
|
+
jobName: string,
|
|
85
|
+
jobQueue: batch.JobQueue,
|
|
86
|
+
jobDefinition: batch.EcsJobDefinition,
|
|
87
|
+
computeEnvironment: batch.IManagedComputeEnvironment,
|
|
88
|
+
) {
|
|
89
|
+
// Get cluster ARN from compute environment
|
|
90
|
+
const describeComputeEnv = integ.assertions.awsApiCall('Batch', 'describeComputeEnvironments', {
|
|
91
|
+
computeEnvironments: [computeEnvironment.computeEnvironmentArn],
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const clusterArn = describeComputeEnv.getAttString('computeEnvironments.0.ecsClusterArn');
|
|
95
|
+
|
|
96
|
+
// Submit the job
|
|
97
|
+
const submitJobResult = describeComputeEnv.next(
|
|
98
|
+
integ.assertions.awsApiCall('Batch', 'submitJob', {
|
|
99
|
+
jobName,
|
|
100
|
+
jobQueue: jobQueue.jobQueueArn,
|
|
101
|
+
jobDefinition: jobDefinition.jobDefinitionArn,
|
|
102
|
+
}),
|
|
103
|
+
).waitForAssertions();
|
|
104
|
+
|
|
105
|
+
// Get the job ID from the submit response
|
|
106
|
+
const jobId = submitJobResult.getAttString('jobId');
|
|
107
|
+
|
|
108
|
+
// Wait for job to reach RUNNING state and have a task ARN
|
|
109
|
+
const waitForJobRunning = integ.assertions.awsApiCall('Batch', 'describeJobs', {
|
|
110
|
+
jobs: [jobId],
|
|
111
|
+
}).assertAtPath('jobs.0.status', ExpectedResult.stringLikeRegexp('RUNNING'))
|
|
112
|
+
.waitForAssertions({
|
|
113
|
+
totalTimeout: cdk.Duration.minutes(10),
|
|
114
|
+
interval: cdk.Duration.seconds(30),
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
const taskArn = waitForJobRunning.getAttString('jobs.0.container.taskArn');
|
|
118
|
+
|
|
119
|
+
// Execute ECS command to verify ECS Exec is enabled
|
|
120
|
+
waitForJobRunning.next(
|
|
121
|
+
integ.assertions.awsApiCall('ECS', 'executeCommand', {
|
|
122
|
+
cluster: clusterArn,
|
|
123
|
+
task: taskArn,
|
|
124
|
+
container: 'default',
|
|
125
|
+
interactive: true,
|
|
126
|
+
command: '/bin/bash',
|
|
127
|
+
}).waitForAssertions({
|
|
128
|
+
totalTimeout: cdk.Duration.minutes(10),
|
|
129
|
+
interval: cdk.Duration.seconds(30),
|
|
130
|
+
}),
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Test EC2 job
|
|
135
|
+
testEcsExecForJob(
|
|
136
|
+
'test-ecs-exec-ec2-job',
|
|
137
|
+
stack.ec2JobQueue,
|
|
138
|
+
stack.ec2JobDefinition,
|
|
139
|
+
stack.ec2ComputeEnvironment,
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
// Test Fargate job
|
|
143
|
+
testEcsExecForJob(
|
|
144
|
+
'test-ecs-exec-fargate-job',
|
|
145
|
+
stack.fargateJobQueue,
|
|
146
|
+
stack.fargateJobDefinition,
|
|
147
|
+
stack.fargateComputeEnvironment,
|
|
148
|
+
);
|
|
@@ -376,6 +376,7 @@ can use the `environment` property to customize the build environment:
|
|
|
376
376
|
details on how to define build images.
|
|
377
377
|
* `certificate` defines the location of a PEM encoded certificate to import.
|
|
378
378
|
* `computeType` defines the instance type used for the build.
|
|
379
|
+
* `dockerServer` defines the docker server used for the build.
|
|
379
380
|
* `privileged` can be set to `true` to allow privileged access.
|
|
380
381
|
* `environmentVariables` can be set at this level (and also at the project
|
|
381
382
|
level).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
2
|
+
import { Project, BuildSpec, DockerServerComputeType, Source, ComputeType } from 'aws-cdk-lib/aws-codebuild';
|
|
3
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
5
|
+
|
|
6
|
+
const app = new App();
|
|
7
|
+
const stack = new Stack(app, 'codebuild-project-docker-server');
|
|
8
|
+
|
|
9
|
+
const vpc = new ec2.Vpc(stack, 'Vpc', { restrictDefaultSecurityGroup: false });
|
|
10
|
+
const sg = new ec2.SecurityGroup(stack, 'SecurityGroup', { vpc });
|
|
11
|
+
|
|
12
|
+
const project = new Project(stack, 'MyProject', {
|
|
13
|
+
source: Source.gitHub({
|
|
14
|
+
owner: 'dockersamples',
|
|
15
|
+
repo: 'helloworld-demo-python',
|
|
16
|
+
}),
|
|
17
|
+
buildSpec: BuildSpec.fromObject({
|
|
18
|
+
version: '0.2',
|
|
19
|
+
phases: {
|
|
20
|
+
build: {
|
|
21
|
+
commands: [
|
|
22
|
+
'cd sample',
|
|
23
|
+
'docker buildx build .',
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
}),
|
|
28
|
+
environment: {
|
|
29
|
+
computeType: ComputeType.SMALL,
|
|
30
|
+
dockerServer: {
|
|
31
|
+
computeType: DockerServerComputeType.SMALL,
|
|
32
|
+
securityGroups: [sg],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const integ = new IntegTest(app, 'codebuild-project-docker-server-integ', {
|
|
38
|
+
testCases: [stack],
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Execute the `startBuild` API to confirm that the build can be done correctly.
|
|
42
|
+
integ.assertions.awsApiCall('CodeBuild', 'startBuild', {
|
|
43
|
+
projectName: project.projectName,
|
|
44
|
+
}).waitForAssertions();
|
|
@@ -2,11 +2,13 @@ import * as path from 'path';
|
|
|
2
2
|
import * as codepipeline from 'aws-cdk-lib/aws-codepipeline';
|
|
3
3
|
import * as elasticbeanstalk from 'aws-cdk-lib/aws-elasticbeanstalk';
|
|
4
4
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
5
|
+
import { IManagedPolicy, ManagedPolicyReference } from 'aws-cdk-lib/aws-iam';
|
|
5
6
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
6
7
|
import * as deploy from 'aws-cdk-lib/aws-s3-deployment';
|
|
7
|
-
import { App, Fn, RemovalPolicy, Stack } from 'aws-cdk-lib';
|
|
8
|
+
import { App, Fn, RemovalPolicy, Stack, UnscopedValidationError } from 'aws-cdk-lib';
|
|
8
9
|
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
9
10
|
import * as cpactions from 'aws-cdk-lib/aws-codepipeline-actions';
|
|
11
|
+
import { Node } from 'constructs';
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* To validate that the deployment actually succeeds, perform the following actions:
|
|
@@ -43,16 +45,26 @@ const artifact = new deploy.BucketDeployment(stack, 'DeployApp', {
|
|
|
43
45
|
extract: false,
|
|
44
46
|
});
|
|
45
47
|
|
|
48
|
+
function makePolicy(arn: string): IManagedPolicy {
|
|
49
|
+
return {
|
|
50
|
+
managedPolicyArn: arn,
|
|
51
|
+
get managedPolicyRef(): ManagedPolicyReference {
|
|
52
|
+
return {
|
|
53
|
+
policyArn: this.managedPolicyArn,
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
get node(): Node {
|
|
57
|
+
throw new UnscopedValidationError('The result of fromAwsManagedPolicyName can not be used in this API');
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
46
62
|
const serviceRole = new iam.Role(stack, 'service-role', {
|
|
47
63
|
roleName: 'codepipeline-elasticbeanstalk-action-test-serivce-role',
|
|
48
64
|
assumedBy: new iam.ServicePrincipal('elasticbeanstalk.amazonaws.com'),
|
|
49
65
|
managedPolicies: [
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
managedPolicyArn: 'arn:aws:iam::aws:policy/AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy',
|
|
55
|
-
},
|
|
66
|
+
makePolicy('arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalkEnhancedHealth'),
|
|
67
|
+
makePolicy('arn:aws:iam::aws:policy/AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy'),
|
|
56
68
|
],
|
|
57
69
|
});
|
|
58
70
|
|
|
@@ -60,15 +72,9 @@ const instanceProfileRole = new iam.Role(stack, 'instance-profile-role', {
|
|
|
60
72
|
roleName: 'codepipeline-elasticbeanstalk-action-test-instance-profile-role',
|
|
61
73
|
assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com'),
|
|
62
74
|
managedPolicies: [
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
{
|
|
67
|
-
managedPolicyArn: 'arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker',
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
managedPolicyArn: 'arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier',
|
|
71
|
-
},
|
|
75
|
+
makePolicy('arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier'),
|
|
76
|
+
makePolicy('arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker'),
|
|
77
|
+
makePolicy('arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier'),
|
|
72
78
|
],
|
|
73
79
|
});
|
|
74
80
|
|
|
@@ -163,6 +163,10 @@ This will instruct the toolkit to add the tarball as a file asset. During deploy
|
|
|
163
163
|
from `local-image.tar`, push it to an Amazon ECR repository and wire the name of the repository as CloudFormation parameters
|
|
164
164
|
to your stack.
|
|
165
165
|
|
|
166
|
+
Similar to `DockerImageAsset`, you can set the `CDK_DOCKER` environment variable to provide a custom Docker executable
|
|
167
|
+
command or path. This may be needed when building in environments where the standard docker cannot be executed or when
|
|
168
|
+
using alternative container runtimes like Finch.
|
|
169
|
+
|
|
166
170
|
## Publishing images to ECR repositories
|
|
167
171
|
|
|
168
172
|
`DockerImageAsset` is designed for seamless build & consumption of image assets by CDK code deployed to multiple environments
|
|
@@ -1591,6 +1591,8 @@ it in the constructor. Then add the Capacity Provider to the cluster. Finally,
|
|
|
1591
1591
|
you can refer to the Provider by its name in your service's or task's Capacity
|
|
1592
1592
|
Provider strategy.
|
|
1593
1593
|
|
|
1594
|
+
> **Note**: Cross-stack capacity provider registration is not supported. The ECS cluster and its capacity providers must be created in the same stack to avoid circular dependency issues.
|
|
1595
|
+
|
|
1594
1596
|
By default, Auto Scaling Group Capacity Providers will manage the scale-in and
|
|
1595
1597
|
scale-out behavior of the auto scaling group based on the load your tasks put on
|
|
1596
1598
|
the cluster, this is called [Managed Scaling](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling). If you'd
|
|
@@ -108,8 +108,8 @@ With the `@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion` disabled, the runt
|
|
|
108
108
|
|
|
109
109
|
## Lock file
|
|
110
110
|
|
|
111
|
-
The `NodejsFunction` requires a dependencies lock file (`yarn.lock`, `pnpm-lock.yaml`, `bun.lockb
|
|
112
|
-
`package-lock.json`). When bundling in a Docker container, the path containing this lock file is
|
|
111
|
+
The `NodejsFunction` requires a dependencies lock file (`yarn.lock`, `pnpm-lock.yaml`, `bun.lockb`,
|
|
112
|
+
`bun.lock` or `package-lock.json`). When bundling in a Docker container, the path containing this lock file is
|
|
113
113
|
used as the source (`/asset-input`) for the volume mounted in the container.
|
|
114
114
|
|
|
115
115
|
By default, the construct will try to automatically determine your project lock file.
|
|
@@ -201,7 +201,7 @@ new nodejs.NodejsFunction(this, 'my-handler', {
|
|
|
201
201
|
|
|
202
202
|
The modules listed in `nodeModules` must be present in the `package.json`'s dependencies or
|
|
203
203
|
installed. The same version will be used for installation. The lock file (`yarn.lock`,
|
|
204
|
-
`pnpm-lock.yaml`, `bun.lockb` or `package-lock.json`) will be used along with the right installer (`yarn`,
|
|
204
|
+
`pnpm-lock.yaml`, `bun.lockb`, `bun.lock` or `package-lock.json`) will be used along with the right installer (`yarn`,
|
|
205
205
|
`pnpm`, `bun` or `npm`).
|
|
206
206
|
|
|
207
207
|
When working with `nodeModules` using native dependencies, you might want to force bundling in a
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { Runtime } from 'aws-cdk-lib/aws-lambda';
|
|
3
|
+
import * as cdk from 'aws-cdk-lib';
|
|
4
|
+
import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
5
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda-nodejs';
|
|
6
|
+
|
|
7
|
+
const app = new cdk.App({
|
|
8
|
+
postCliContext: {
|
|
9
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
const stack = new cdk.Stack(app, 'TestStack');
|
|
14
|
+
|
|
15
|
+
const handler = new lambda.NodejsFunction(stack, 'Function', {
|
|
16
|
+
entry: path.join(__dirname, 'integ-handlers/bun_lock/dependencies-bun.ts'),
|
|
17
|
+
runtime: Runtime.NODEJS_22_X,
|
|
18
|
+
bundling: {
|
|
19
|
+
minify: true,
|
|
20
|
+
// Will be installed, not bundled
|
|
21
|
+
// (axios is a package with sub-dependencies,
|
|
22
|
+
// will be used to ensure bun bundling works as expected)
|
|
23
|
+
nodeModules: ['axios'],
|
|
24
|
+
forceDockerBundling: true,
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
// To (re-)generate this lockfile:
|
|
28
|
+
// 1. Ensure your local version of bun matches the version in packages/aws-cdk-lib/aws-lambda-nodejs/lib/Dockerfile
|
|
29
|
+
// 2. `cd` to `packages/@aws-cdk-testing/framework-integ/test/aws-lambda-nodejs/test/integ-handlers/bun`
|
|
30
|
+
// 3. Rename the `_package.json` file to `package.json`
|
|
31
|
+
// 4. Run `bun install`
|
|
32
|
+
depsLockFilePath: path.join(__dirname, 'integ-handlers/bun_lock/bun.lock'),
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const integ = new IntegTest(app, 'BunTest', {
|
|
36
|
+
testCases: [stack],
|
|
37
|
+
stackUpdateWorkflow: false, // this will tell the runner to not check in assets.
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const response = integ.assertions.invokeFunction({
|
|
41
|
+
functionName: handler.functionName,
|
|
42
|
+
});
|
|
43
|
+
response.expect(
|
|
44
|
+
ExpectedResult.objectLike({
|
|
45
|
+
// expect invoking without error
|
|
46
|
+
StatusCode: 200,
|
|
47
|
+
ExecutedVersion: '$LATEST',
|
|
48
|
+
Payload: 'null',
|
|
49
|
+
}),
|
|
50
|
+
);
|
|
@@ -1166,6 +1166,26 @@ const proxy = dbInstance.addProxy('proxy', {
|
|
|
1166
1166
|
});
|
|
1167
1167
|
```
|
|
1168
1168
|
|
|
1169
|
+
### Proxy Endpoint
|
|
1170
|
+
The following example add additional endpoint to RDS Proxy.
|
|
1171
|
+
|
|
1172
|
+
```ts
|
|
1173
|
+
declare const vpc: ec2.Vpc;
|
|
1174
|
+
declare const secrets: secretsmanager.Secret[];
|
|
1175
|
+
declare const dbInstance: rds.DatabaseInstance;
|
|
1176
|
+
|
|
1177
|
+
const proxy = dbInstance.addProxy('Proxy', {
|
|
1178
|
+
secrets,
|
|
1179
|
+
vpc,
|
|
1180
|
+
});
|
|
1181
|
+
|
|
1182
|
+
// Add a reader endpoint
|
|
1183
|
+
proxy.addEndpoint('ProxyEndpoint', {
|
|
1184
|
+
vpc,
|
|
1185
|
+
targetRole: rds.ProxyEndpointTargetRole.READ_ONLY,
|
|
1186
|
+
});
|
|
1187
|
+
```
|
|
1188
|
+
|
|
1169
1189
|
## Exporting Logs
|
|
1170
1190
|
|
|
1171
1191
|
You can publish database logs to Amazon CloudWatch Logs. With CloudWatch Logs, you can perform real-time analysis of the log data,
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import { App, RemovalPolicy, Stack } from 'aws-cdk-lib';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import * as rds from 'aws-cdk-lib/aws-rds';
|
|
5
|
+
|
|
6
|
+
const app = new App();
|
|
7
|
+
const stack = new Stack(app, 'cdk-rds-proxy-endpoint');
|
|
8
|
+
|
|
9
|
+
const vpc = new ec2.Vpc(stack, 'vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
|
|
10
|
+
|
|
11
|
+
const dbInstance = new rds.DatabaseInstance(stack, 'dbInstance', {
|
|
12
|
+
engine: rds.DatabaseInstanceEngine.postgres({
|
|
13
|
+
version: rds.PostgresEngineVersion.VER_17_5,
|
|
14
|
+
}),
|
|
15
|
+
instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.MEDIUM),
|
|
16
|
+
vpc,
|
|
17
|
+
removalPolicy: RemovalPolicy.DESTROY,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const dbProxy = new rds.DatabaseProxy(stack, 'dbProxy', {
|
|
21
|
+
secrets: [dbInstance.secret!],
|
|
22
|
+
proxyTarget: rds.ProxyTarget.fromInstance(dbInstance),
|
|
23
|
+
vpc,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const securityGroup = ec2.SecurityGroup.fromSecurityGroupId(stack, 'SecurityGroup', vpc.vpcDefaultSecurityGroup);
|
|
27
|
+
|
|
28
|
+
dbProxy.addEndpoint('dbProxyEndpoint', {
|
|
29
|
+
vpc,
|
|
30
|
+
targetRole: rds.ProxyEndpointTargetRole.READ_ONLY,
|
|
31
|
+
securityGroups: [securityGroup],
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
new integ.IntegTest(app, 'cdk-rds-proxy-endpoint-integ', {
|
|
35
|
+
testCases: [stack],
|
|
36
|
+
});
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import * as cdk from 'aws-cdk-lib';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
5
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
6
|
+
import * as sqs from 'aws-cdk-lib/aws-sqs';
|
|
7
|
+
import * as s3n from 'aws-cdk-lib/aws-s3-notifications';
|
|
8
|
+
import { Match, Template } from 'aws-cdk-lib/assertions';
|
|
9
|
+
|
|
10
|
+
const app = new cdk.App();
|
|
11
|
+
|
|
12
|
+
const stack = new cdk.Stack(app, 'aws-cdk-s3-notifications-scoped-permissions');
|
|
13
|
+
|
|
14
|
+
// Create multiple buckets to test consolidated policy with scoped permissions
|
|
15
|
+
const bucket1 = new s3.Bucket(stack, 'Bucket1', {
|
|
16
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const bucket2 = new s3.Bucket(stack, 'Bucket2', {
|
|
20
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const topic = new sns.Topic(stack, 'Topic');
|
|
24
|
+
const queue = new sqs.Queue(stack, 'Queue', {
|
|
25
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// Add notifications to multiple buckets with different event types - this should create scoped IAM permissions
|
|
29
|
+
bucket1.addEventNotification(s3.EventType.OBJECT_CREATED_PUT, new s3n.SnsDestination(topic));
|
|
30
|
+
bucket1.addEventNotification(s3.EventType.OBJECT_CREATED_POST, new s3n.SqsDestination(queue));
|
|
31
|
+
bucket2.addEventNotification(s3.EventType.OBJECT_REMOVED_DELETE, new s3n.SnsDestination(topic));
|
|
32
|
+
bucket2.addEventNotification(s3.EventType.OBJECT_REMOVED_DELETE_MARKER_CREATED, new s3n.SnsDestination(topic));
|
|
33
|
+
|
|
34
|
+
// Create integration test with snapshot comparison enabled
|
|
35
|
+
new integ.IntegTest(app, 'ScopedPermissionsTest', {
|
|
36
|
+
testCases: [stack],
|
|
37
|
+
diffAssets: true,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// Add assertions to verify IAM policies are scoped to specific bucket ARNs
|
|
41
|
+
const template = Template.fromStack(stack);
|
|
42
|
+
|
|
43
|
+
// Verify that IAM policies do not contain wildcard permissions
|
|
44
|
+
template.hasResourceProperties('AWS::IAM::Policy', {
|
|
45
|
+
PolicyDocument: {
|
|
46
|
+
Statement: Match.arrayWith([
|
|
47
|
+
Match.objectLike({
|
|
48
|
+
Effect: 'Allow',
|
|
49
|
+
Action: 's3:PutBucketNotification',
|
|
50
|
+
Resource: Match.not('*'), // Ensure no wildcard permissions
|
|
51
|
+
}),
|
|
52
|
+
]),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Verify that the IAM policy contains specific bucket ARNs
|
|
57
|
+
template.hasResourceProperties('AWS::IAM::Policy', {
|
|
58
|
+
PolicyDocument: {
|
|
59
|
+
Statement: Match.arrayWith([
|
|
60
|
+
Match.objectLike({
|
|
61
|
+
Effect: 'Allow',
|
|
62
|
+
Action: 's3:PutBucketNotification',
|
|
63
|
+
Resource: Match.arrayWith([
|
|
64
|
+
Match.objectLike({
|
|
65
|
+
'Fn::GetAtt': Match.arrayWith([Match.stringLikeRegexp('Bucket[12]'), 'Arn']),
|
|
66
|
+
}),
|
|
67
|
+
]),
|
|
68
|
+
}),
|
|
69
|
+
]),
|
|
70
|
+
},
|
|
71
|
+
});
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib/core';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
|
|
5
|
+
|
|
6
|
+
const CSV_KEY = 'my-key.csv';
|
|
7
|
+
|
|
8
|
+
class DistributedMapParallelStack extends cdk.Stack {
|
|
9
|
+
readonly bucket: s3.Bucket;
|
|
10
|
+
readonly stateMachine: sfn.StateMachine;
|
|
11
|
+
|
|
12
|
+
constructor(scope: cdk.App, id: string) {
|
|
13
|
+
super(scope, id);
|
|
14
|
+
|
|
15
|
+
this.bucket = new s3.Bucket(this, 'Bucket', {
|
|
16
|
+
autoDeleteObjects: true,
|
|
17
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const parallel = new sfn.Parallel(this, 'Parallel');
|
|
21
|
+
|
|
22
|
+
const distributedMap = new sfn.DistributedMap(this, 'DistributedMap', {
|
|
23
|
+
itemReader: new sfn.S3CsvItemReader({
|
|
24
|
+
bucket: this.bucket,
|
|
25
|
+
key: CSV_KEY,
|
|
26
|
+
csvHeaders: sfn.CsvHeaders.useFirstRow(),
|
|
27
|
+
}),
|
|
28
|
+
}).itemProcessor(new sfn.Pass(this, 'Pass'));
|
|
29
|
+
|
|
30
|
+
this.stateMachine = new sfn.StateMachine(this, 'StateMachine', {
|
|
31
|
+
definitionBody: sfn.ChainDefinitionBody.fromChainable(parallel.branch(distributedMap)),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function setupAssertions(testCaseStack: DistributedMapParallelStack, assertions: integ.IDeployAssert) {
|
|
37
|
+
const waitForStateMachineActive = assertions
|
|
38
|
+
.awsApiCall('StepFunctions', 'describeStateMachine', {
|
|
39
|
+
stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
|
|
40
|
+
})
|
|
41
|
+
.expect(integ.ExpectedResult.objectLike({ status: 'ACTIVE' }))
|
|
42
|
+
.waitForAssertions({
|
|
43
|
+
interval: cdk.Duration.seconds(10),
|
|
44
|
+
totalTimeout: cdk.Duration.minutes(5),
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// Upload the input to the DistributedMap
|
|
48
|
+
const uploadInput = assertions.awsApiCall('S3', 'putObject', {
|
|
49
|
+
Bucket: testCaseStack.bucket.bucketName,
|
|
50
|
+
Key: CSV_KEY,
|
|
51
|
+
Body: 'a,b,c\n1,2,3\n4,5,6',
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Start an execution
|
|
55
|
+
const startExecution = assertions.awsApiCall('StepFunctions', 'startExecution', {
|
|
56
|
+
stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const executionArn = startExecution.getAttString('executionArn');
|
|
60
|
+
|
|
61
|
+
const expectSucceededExecution = assertions
|
|
62
|
+
.awsApiCall('StepFunctions', 'describeExecution', { executionArn: executionArn })
|
|
63
|
+
.expect(integ.ExpectedResult.objectLike({ status: 'SUCCEEDED' }))
|
|
64
|
+
.waitForAssertions({
|
|
65
|
+
interval: cdk.Duration.seconds(10),
|
|
66
|
+
totalTimeout: cdk.Duration.minutes(1),
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
waitForStateMachineActive
|
|
70
|
+
.next(uploadInput)
|
|
71
|
+
.next(startExecution)
|
|
72
|
+
.next(expectSucceededExecution);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const app = new cdk.App();
|
|
76
|
+
const parallelStack = new DistributedMapParallelStack(app, 'DistributedMapParallelStack');
|
|
77
|
+
|
|
78
|
+
const testCase = new integ.IntegTest(app, 'DistributedMapParallel', {
|
|
79
|
+
testCases: [parallelStack],
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
setupAssertions(parallelStack, testCase.assertions);
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib/core';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
|
|
5
|
+
import * as aws_stepfunction_tasks from 'aws-cdk-lib/aws-stepfunctions-tasks';
|
|
6
|
+
|
|
7
|
+
const CSV_KEY = 'my-key.csv';
|
|
8
|
+
const SUCCESS_MARKER_KEY = 'pass-flag.txt';
|
|
9
|
+
|
|
10
|
+
interface DistributedMapRedriveStackProps extends cdk.StackProps {
|
|
11
|
+
readonly mapRunLabel?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
class DistributedMapRedriveStack extends cdk.Stack {
|
|
15
|
+
readonly bucket: s3.Bucket;
|
|
16
|
+
readonly stateMachine: sfn.StateMachine;
|
|
17
|
+
|
|
18
|
+
constructor(scope: cdk.App, id: string, props?: DistributedMapRedriveStackProps) {
|
|
19
|
+
super(scope, id, props);
|
|
20
|
+
|
|
21
|
+
this.bucket = new s3.Bucket(this, 'Bucket', {
|
|
22
|
+
autoDeleteObjects: true,
|
|
23
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const distributedMap = new sfn.DistributedMap(this, 'DistributedMap', {
|
|
27
|
+
label: props?.mapRunLabel,
|
|
28
|
+
itemReader: new sfn.S3CsvItemReader({
|
|
29
|
+
bucket: this.bucket,
|
|
30
|
+
key: CSV_KEY,
|
|
31
|
+
csvHeaders: sfn.CsvHeaders.useFirstRow(),
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Existence of the success marker object determines if the distributed map succeeds or fails
|
|
36
|
+
const getSuccessMarker = new aws_stepfunction_tasks.CallAwsService(this, 'GetData', {
|
|
37
|
+
action: 'getObject',
|
|
38
|
+
iamResources: [this.bucket.arnForObjects('*')],
|
|
39
|
+
parameters: {
|
|
40
|
+
Bucket: this.bucket.bucketName,
|
|
41
|
+
Key: SUCCESS_MARKER_KEY,
|
|
42
|
+
},
|
|
43
|
+
service: 's3',
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
distributedMap.itemProcessor(getSuccessMarker);
|
|
47
|
+
|
|
48
|
+
this.stateMachine = new sfn.StateMachine(this, 'StateMachine', {
|
|
49
|
+
definitionBody: sfn.ChainDefinitionBody.fromChainable(distributedMap),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function setupAssertions(testCaseStack: DistributedMapRedriveStack, assertions: integ.IDeployAssert) {
|
|
55
|
+
const waitForStateMachineActive = assertions
|
|
56
|
+
.awsApiCall('StepFunctions', 'describeStateMachine', {
|
|
57
|
+
stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
|
|
58
|
+
})
|
|
59
|
+
.expect(integ.ExpectedResult.objectLike({ status: 'ACTIVE' }))
|
|
60
|
+
.waitForAssertions({
|
|
61
|
+
interval: cdk.Duration.seconds(10),
|
|
62
|
+
totalTimeout: cdk.Duration.minutes(5),
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Upload the input to the DistributedMap
|
|
66
|
+
const uploadInput = assertions.awsApiCall('S3', 'putObject', {
|
|
67
|
+
Bucket: testCaseStack.bucket.bucketName,
|
|
68
|
+
Key: CSV_KEY,
|
|
69
|
+
Body: 'a,b,c\n1,2,3\n4,5,6',
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Start an execution
|
|
73
|
+
const startExecution = assertions.awsApiCall('StepFunctions', 'startExecution', {
|
|
74
|
+
stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
const executionArn = startExecution.getAttString('executionArn');
|
|
78
|
+
|
|
79
|
+
// describe the results of the execution
|
|
80
|
+
const expectFailedExecution = assertions
|
|
81
|
+
.awsApiCall('StepFunctions', 'describeExecution', {
|
|
82
|
+
executionArn: executionArn,
|
|
83
|
+
})
|
|
84
|
+
.expect(integ.ExpectedResult.objectLike({ status: 'FAILED' }))
|
|
85
|
+
.waitForAssertions({
|
|
86
|
+
interval: cdk.Duration.seconds(10),
|
|
87
|
+
totalTimeout: cdk.Duration.minutes(1),
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// Upload the success marker, so that the next execution succeeds
|
|
91
|
+
const uploadSucceedMarker = assertions.awsApiCall('S3', 'putObject', {
|
|
92
|
+
Bucket: testCaseStack.bucket.bucketName,
|
|
93
|
+
Key: SUCCESS_MARKER_KEY,
|
|
94
|
+
Body: '',
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
const redriveExecution = assertions.awsApiCall('StepFunctions', 'redriveExecution', {
|
|
98
|
+
executionArn: executionArn,
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
const expectRedrivenExecution = assertions
|
|
102
|
+
.awsApiCall('StepFunctions', 'describeExecution', { executionArn: executionArn })
|
|
103
|
+
.expect(integ.ExpectedResult.objectLike({ status: 'SUCCEEDED' }))
|
|
104
|
+
.waitForAssertions({
|
|
105
|
+
interval: cdk.Duration.seconds(10),
|
|
106
|
+
totalTimeout: cdk.Duration.minutes(1),
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
waitForStateMachineActive
|
|
110
|
+
.next(uploadInput)
|
|
111
|
+
.next(startExecution)
|
|
112
|
+
.next(expectFailedExecution)
|
|
113
|
+
.next(uploadSucceedMarker)
|
|
114
|
+
.next(redriveExecution)
|
|
115
|
+
.next(expectRedrivenExecution);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const app = new cdk.App();
|
|
119
|
+
|
|
120
|
+
const unlabeledDistributedMapStack = new DistributedMapRedriveStack(app, 'UnlabeledDistributedMapRedrive');
|
|
121
|
+
const labeledDistributedMapStack = new DistributedMapRedriveStack(app, 'LabeledDistributedMapRedrive', {
|
|
122
|
+
mapRunLabel: 'myLabel',
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const testCase = new integ.IntegTest(app, 'DistributedMap', {
|
|
126
|
+
testCases: [unlabeledDistributedMapStack, labeledDistributedMapStack],
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
setupAssertions(labeledDistributedMapStack, testCase.assertions);
|
|
130
|
+
setupAssertions(unlabeledDistributedMapStack, testCase.assertions);
|
|
@@ -165,6 +165,33 @@ const canary = new synthetics.Canary(this, 'MyCanary', {
|
|
|
165
165
|
});
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
+
### Browser Type Configuration
|
|
169
|
+
|
|
170
|
+
You can configure which browsers your canary uses for testing by specifying the `browserConfigs` property. This allows you to test your application across different browsers to ensure compatibility.
|
|
171
|
+
|
|
172
|
+
Available browser types:
|
|
173
|
+
- `BrowserType.CHROME` - Google Chrome browser
|
|
174
|
+
- `BrowserType.FIREFOX` - Mozilla Firefox browser
|
|
175
|
+
|
|
176
|
+
You can specify up to 2 browser configurations. When multiple browsers are configured, the canary will run tests on each browser sequentially.
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
const canary = new synthetics.Canary(this, 'MyCanary', {
|
|
180
|
+
schedule: synthetics.Schedule.rate(Duration.minutes(5)),
|
|
181
|
+
test: synthetics.Test.custom({
|
|
182
|
+
code: synthetics.Code.fromAsset(path.join(__dirname, 'canary')),
|
|
183
|
+
handler: 'index.handler',
|
|
184
|
+
}),
|
|
185
|
+
runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_9_1,
|
|
186
|
+
browserConfigs: [
|
|
187
|
+
synthetics.BrowserType.CHROME,
|
|
188
|
+
synthetics.BrowserType.FIREFOX,
|
|
189
|
+
],
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
> **Note:** Firefox support is available for Node.js runtimes (Puppeteer and Playwright) but not for Python Selenium runtimes. When using Firefox, ensure your runtime version supports it.
|
|
194
|
+
|
|
168
195
|
### Deleting underlying resources on canary deletion
|
|
169
196
|
|
|
170
197
|
When you delete a lambda, the following underlying resources are isolated in your AWS account:
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import { App, Duration, Size, Stack, StackProps } from 'aws-cdk-lib/core';
|
|
3
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import { Construct } from 'constructs';
|
|
5
|
+
import * as synthetics from 'aws-cdk-lib/aws-synthetics';
|
|
6
|
+
|
|
7
|
+
class TestStack extends Stack {
|
|
8
|
+
public canary: synthetics.Canary;
|
|
9
|
+
|
|
10
|
+
constructor(scope: Construct, id: string, props?: StackProps) {
|
|
11
|
+
super(scope, id, props);
|
|
12
|
+
|
|
13
|
+
this.canary = new synthetics.Canary(this, 'BrowserTypeCanary', {
|
|
14
|
+
runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_11_0,
|
|
15
|
+
test: synthetics.Test.custom({
|
|
16
|
+
handler: 'canary.handler',
|
|
17
|
+
code: synthetics.Code.fromAsset(path.join(__dirname, 'canaries')),
|
|
18
|
+
}),
|
|
19
|
+
memory: Size.mebibytes(2048),
|
|
20
|
+
timeout: Duration.minutes(4),
|
|
21
|
+
maxRetries: 2,
|
|
22
|
+
browserConfigs: [
|
|
23
|
+
synthetics.BrowserType.CHROME,
|
|
24
|
+
synthetics.BrowserType.FIREFOX,
|
|
25
|
+
],
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const app = new App();
|
|
31
|
+
const testStack = new TestStack(app, 'SyntheticsCanaryBrowserTypeStack');
|
|
32
|
+
|
|
33
|
+
new IntegTest(app, 'SyntheticsCanaryBrowserType', {
|
|
34
|
+
testCases: [testStack],
|
|
35
|
+
});
|
|
@@ -106,7 +106,7 @@ Flags come in three types:
|
|
|
106
106
|
| [@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal](#aws-cdkaws-kmsapplyimportedaliaspermissionstoprincipal) | Enable grant methods on Aliases imported by name to use kms:ResourceAliases condition | 2.202.0 | fix |
|
|
107
107
|
| [@aws-cdk/core:explicitStackTags](#aws-cdkcoreexplicitstacktags) | When enabled, stack tags need to be assigned explicitly on a Stack. | 2.205.0 | new default |
|
|
108
108
|
| [@aws-cdk/aws-signer:signingProfileNamePassedToCfn](#aws-cdkaws-signersigningprofilenamepassedtocfn) | Pass signingProfileName to CfnSigningProfile | 2.212.0 | fix |
|
|
109
|
-
| [@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener](#aws-cdkaws-ecs-patternssecgroupsdisablesimplicitopenlistener) | Disable implicit openListener when custom security groups are provided |
|
|
109
|
+
| [@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener](#aws-cdkaws-ecs-patternssecgroupsdisablesimplicitopenlistener) | Disable implicit openListener when custom security groups are provided | 2.214.0 | new default |
|
|
110
110
|
|
|
111
111
|
<!-- END table -->
|
|
112
112
|
|
|
@@ -2272,7 +2272,7 @@ override this behavior.
|
|
|
2272
2272
|
| Since | Unset behaves like | Recommended value |
|
|
2273
2273
|
| ----- | ----- | ----- |
|
|
2274
2274
|
| (not in v1) | | |
|
|
2275
|
-
|
|
|
2275
|
+
| 2.214.0 | `false` | `true` |
|
|
2276
2276
|
|
|
2277
2277
|
**Compatibility with old behavior:** You can pass `openListener: true` explicitly to maintain the old behavior.
|
|
2278
2278
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: konokenj.cdk-api-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.44.0
|
|
4
4
|
Summary: An MCP server provides AWS CDK API Reference
|
|
5
5
|
Project-URL: Documentation, https://github.com/konokenj/cdk-api-mcp-server#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/konokenj/cdk-api-mcp-server/issues
|
|
@@ -26,7 +26,7 @@ Description-Content-Type: text/markdown
|
|
|
26
26
|
[](https://pypi.org/project/konokenj.cdk-api-mcp-server)
|
|
27
27
|
|
|
28
28
|
<!-- DEP-VERSIONS-START -->
|
|
29
|
-
[](https://github.com/konokenj/cdk-api-mcp-server/blob/main/current-versions/aws-cdk.txt)
|
|
30
30
|
<!-- DEP-VERSIONS-END -->
|
|
31
31
|
|
|
32
32
|
---
|
{konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/RECORD
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
cdk_api_mcp_server/__about__.py,sha256=
|
|
1
|
+
cdk_api_mcp_server/__about__.py,sha256=zSXca0LQuRXtsIUwkxRgFOt_fIveUC3LZ_328urbr2k,129
|
|
2
2
|
cdk_api_mcp_server/__init__.py,sha256=yJA6yIEhJviC-qNlB-nC6UR1JblQci_d84i-viHZkc0,187
|
|
3
3
|
cdk_api_mcp_server/models.py,sha256=cMS1Hi29M41YjuBxqqrzNrNvyG3MgnUBb1SqYpMCJ30,692
|
|
4
4
|
cdk_api_mcp_server/resources.py,sha256=R7LVwn29I4BJzU5XAwKbX8j6uy-3ZxcB1b0HzZ_Z2PI,6689
|
|
@@ -19,7 +19,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README
|
|
|
19
19
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-gamelift-alpha/README.md,sha256=pZqlGXpIekT05CmRYo99QPI-7S1iGtKoNESGryLQFxQ,28324
|
|
20
20
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-glue-alpha/README.md,sha256=BCr7YEJ6Ht3oYR21NMCH3t1N738QjQ9Sh_dL_DUhECQ,32235
|
|
21
21
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-actions-alpha/README.md,sha256=R6vkGxu-JjfB1IfGVquiD6Gcn4RQQpgbGo36njBdJe4,11947
|
|
22
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md,sha256=
|
|
22
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md,sha256=18MkQScFBUO_qZnfYj9wfsdY_vRvvEyar2OT_QbO_N4,6909
|
|
23
23
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iotevents-actions-alpha/README.md,sha256=0Al2K5gHcEce_cH07YM1GuFFrJ0mrr85ZWGVrj2cs9s,4477
|
|
24
24
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iotevents-alpha/README.md,sha256=VV3S1skroh5LRVWWPeRo_MhYb6f29ee6ScmmuLVd8v4,3835
|
|
25
25
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-ivs-alpha/README.md,sha256=kIlsBFM-sL7IAMtRHR1v1trFVi7K55yvit2GXN57Ue8,8722
|
|
@@ -90,12 +90,12 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ
|
|
|
90
90
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.token-authorizer.ts,sha256=aSoN0khMwpURVvR7U2fUsjJOubZ_zUhG8b2rgkjSp2M,3597
|
|
91
91
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.usage-plan.multikey.ts,sha256=9njyhYXRAQr-yHR4zvG0CYKS0MXHSoq4bJwZDWa_bAM,556
|
|
92
92
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.usage-plan.sharing.ts,sha256=_SSf6j8I-B4neywqtUikOWwvfoTU2Ph9IlDnuJllsbY,998
|
|
93
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md,sha256=
|
|
93
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md,sha256=2cq_39qk6-6puyrQfFw1KChuI6pWBunohD4C4ZS94hY,30482
|
|
94
94
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-apikey.ts,sha256=_hI2T1TIom2UmrXqX9oWSkFLb0QNPAuIb3d-wR2YmpY,370
|
|
95
95
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-domain-name.ts,sha256=il_sIMzx1KgsYstJrcxz2XYVq8DlpTj8oViQX_PLiDk,1960
|
|
96
96
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-dualstack.ts,sha256=BFbAzMWIdS5w4Bcp30Ow9YSRo8qJWhL18w9PQo4U6rU,440
|
|
97
97
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-grant-invoke.ts,sha256=oleJiGqC5-cJWoEIIJlvpqnIc3_QsKZ5JP3GbIYuTDI,996
|
|
98
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts,sha256=
|
|
98
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts,sha256=2zmU04diShE0ZSMqI1PFMJ7K0zMJC7tQbxb6uKqw7GQ,467
|
|
99
99
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.stage.ts,sha256=g3YJqt3ZJ2EG7XsDZk6IXZWkH8sbUyYOoDyU4RPzma8,513
|
|
100
100
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.usage-plan.ts,sha256=J3kLq2yD4lKR7y3B6XZjtIUxEmbGS6HhrKei6EtaNR8,1956
|
|
101
101
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/README.md,sha256=O5FyfQtU2qhYokDH9MZbgFejKz7zD6UTwSeX1pcLky4,13049
|
|
@@ -199,8 +199,9 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling-hook
|
|
|
199
199
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-backup/README.md,sha256=fQ0VqirtiyA1y2P_jXCTojMGQyxO1r6S9WYk-ge29Zo,9640
|
|
200
200
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-backup/integ.backup-selection.ts,sha256=kaNB9DQen9nrE5Gj5XZkuP2LaAd53gndrPJGjjYwnaU,2160
|
|
201
201
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-backup/integ.backup.ts,sha256=amNqCqf3dCzUrxLBBKm0zSEbsS--h7BMSNQZ_b7sQ68,2473
|
|
202
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md,sha256=
|
|
202
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md,sha256=vVlmXPnktdF7efpLETROA-J6G7f_FkYgClvTuJpZJiU,30924
|
|
203
203
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.batch-unique-name.ts,sha256=3tirUUq3KUiJVTnz7dhtEYSmDlUoLb3azlP9wzFZR2k,1171
|
|
204
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts,sha256=srHnG37mt_2ePCp0xjle83_q2f8zIz81h8b6hlgjS1o,4984
|
|
204
205
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-job-definition.ts,sha256=KW_7UN8nM62AJ_GKM6CnsqTp5ONuBaxRs9MGEk7B6ho,3894
|
|
205
206
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.eks-job-definition.ts,sha256=KJ5HxnLxcqLFsRksMlaNB-Ry425uwsz-MF2L6-jmlG4,1701
|
|
206
207
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.grants.ts,sha256=ErBE6_LfFjNUEPNihdjQaRMCyrTHMMx1sfo2lJF_U00,1088
|
|
@@ -322,7 +323,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch-actio
|
|
|
322
323
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch-actions/integ.lambda-alarm-action.ts,sha256=onNZET1IofzJ-_LmnlREFQ3O7MkISTW2OrLrCkJ2qBA,4614
|
|
323
324
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch-actions/integ.lambda-alarm-multiple-stepscalingpolicy.ts,sha256=gPLnWcaoTAAlmDYKyHsZz_55lpEDjG92xTNdjEc3IPk,2722
|
|
324
325
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch-actions/integ.ssm-incident-alarm-action.ts,sha256=X5iWnwQcAbLQnDkrxd5_rKL-jfw4s60kEQMVFLnCTRk,1895
|
|
325
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/README.md,sha256=
|
|
326
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/README.md,sha256=pKI0s8e1zzvjz4LvKZga20AJxS6kpUEpsysTAP3N9ls,34404
|
|
326
327
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.asset-build-spec.ts,sha256=APwn0Tzph1El4XowRux9zXXlZO3eXJMFbp3bbovs-AM,1850
|
|
327
328
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.aws-deep-learning-container-build-image.ts,sha256=hSyb2cy-zu1rEkNiPybncQaV-Gh63REI95WBpuXeL-Y,488
|
|
328
329
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.breakpoint.ts,sha256=ezkSR2Ne1erXri4XV_kMwS4-DUhR5m3EMG1nxzbKZs4,838
|
|
@@ -339,6 +340,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.
|
|
|
339
340
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-auto-retry-limit.ts,sha256=VXVyOLwKPeXunONIHn19dXRJvqZJS0f-86eoJB3U1Jk,895
|
|
340
341
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-bucket.ts,sha256=uL0WCHHAYRihoyQGV3DlNYeYcGlVKf2FCXr51Wj3aGM,591
|
|
341
342
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-buildspec-artifacts.ts,sha256=3Fx_jwCa5HW0Dsat2B5hMXrZw_CVldbITSTZRbSGRjo,693
|
|
343
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-docker-server.ts,sha256=n-TtyWQmaxiI-dWyWe6nZgCDtdn_gvqZAigIT_ugFPI,1301
|
|
342
344
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-file-system-location.ts,sha256=t1I6uabPbfoaQ7lzP2EJIbvB3_5vkTrr_oQRh69_HQk,1060
|
|
343
345
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-attribute-based-compute.ts,sha256=ttHvMAKsoo0zEF4f82x6cSyI_2QA0se6zrXoN64A2WY,2303
|
|
344
346
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet.ts,sha256=kCXeV4i_mq2JFzvTDox6rv10no6LOZ-bb_Gk6aSa7A4,1913
|
|
@@ -402,7 +404,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-act
|
|
|
402
404
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-ecr-source.ts,sha256=iL19rhSPBw3a74vVKNnbyFZqHSsGPNmbtkl9W7BpiFU,3117
|
|
403
405
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-ecs-deploy.ts,sha256=S0sQQE01EtB9eGRdh0CMjKMq9y1iA2_JZMgoAJ9KJpc,3296
|
|
404
406
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-ecs-separate-source.lit.ts,sha256=4gzbdTFIVxqlvl4VJPxJ-5mg3tXdvu9jCAiMzMxlzyg,8314
|
|
405
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts,sha256=
|
|
407
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts,sha256=AmGcJlGuIo9dx38c4wLPvPlJPO-kVYrQVhdgNbxy1FM,5470
|
|
406
408
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-events.ts,sha256=GlIigr-IQ80xWtanSq06gRxPvNVtRbh7kR0X09b8YBA,2224
|
|
407
409
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-invoke-action.ts,sha256=mLIohxRn-3Lx1HUTvQTjsoLnWu63kucyvpqqQwAvgQo,3486
|
|
408
410
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-jenkins.ts,sha256=OIG2DO7Nc8mVT9wfFaZqgWjOHKkc_SJAHwfGXohT_bw,1827
|
|
@@ -573,12 +575,12 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.grant.
|
|
|
573
575
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.imagescan.ts,sha256=MfLBVQc3qTDx5LDS15EqUdqtJrK64g5i7GEoFLsRMCA,547
|
|
574
576
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.repository-auto-delete-images.ts,sha256=3GYqoRSUUJ53ZpAvfypp0IOd7Z-uWTGGQ3aJgqsfKyg,577
|
|
575
577
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.repository-lookup.ts,sha256=UQZz00DFMZaFnvbT2FWqk5uBeZGl9MY3IUIKyUFukkY,1424
|
|
576
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md,sha256=
|
|
578
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md,sha256=nwDqg2M2NMEqMcI2-b1yIMjyZgnBGaIHSbiq-6PGG1s,9146
|
|
577
579
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-docker.ts,sha256=EF_hWgLhIKucTjMe6G7VyxixpQgm82ElvunshuWoEhA,2570
|
|
578
580
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-tarball.ts,sha256=pSbNMWSorKT7lUTXxnzkxpcRumKPYWUmcbqRSwwWOgI,937
|
|
579
581
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.nested-stacks-docker.ts,sha256=4hDobse34oIG2r0mjbYXzsEXXLEqv077jUh3pjoYmcc,981
|
|
580
582
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/CONTRIBUTING.md,sha256=TlNwpeYemLdYq4jdo24v7nwDIj3RmZ7u2j_LCQiQR74,2634
|
|
581
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md,sha256=
|
|
583
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md,sha256=3x7qZzMSZhlUITrPhNTscpSQbBQV34cDMADTqmOA7uc,75808
|
|
582
584
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.add-docker-label.ts,sha256=avHktilCBVPuVelquVaY2ylRkSLraWn7vUIIIFPsbyI,1375
|
|
583
585
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.add-environment-variable.ts,sha256=sIdwJl7LYh5wlv_EDLPSGCavC2OF6W8IBwZ_hMOnCfw,1143
|
|
584
586
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.app-mesh-proxy-config.ts,sha256=vWr45An7W7lgW9Ws_yPFhapf9DXyJP-D0fhTNg5fZC0,1717
|
|
@@ -929,9 +931,10 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sou
|
|
|
929
931
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.sqs-with-filter-criteria.ts,sha256=13527TPdCrdmDIRP-kPRHi3txZpbwfhj-g2yZyJ2HJU,1351
|
|
930
932
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.sqs-with-metrics-config.ts,sha256=Wcun2xnL5TWYPfmS6dMRb-_Ufngc2w2ECA1AzgLHKzo,1047
|
|
931
933
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.sqs.ts,sha256=YPYqJaZfsMQIPIoHuTwndGFPNn-HiDpKZxFtJbDP0ko,811
|
|
932
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/README.md,sha256=
|
|
934
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/README.md,sha256=2y_50EsA_zFZCzKWytYvp4Mvb47bThQKqMnOcFqfG24,17538
|
|
933
935
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.bundling-user.ts,sha256=-umdYSlL1QdPFDvMtO86skELo3S0D4iWhPiGWxCg7Pk,1114
|
|
934
936
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.compilations.ts,sha256=7WI75gNeuylXBfjjOpjT9UjJFu2z5bkd8ZGPmhDASkQ,1315
|
|
937
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-bun-lock.ts,sha256=2BB7wp-mYsSWHWjl0Wom32jlOawPlO2-1s1P7GF8i5g,1671
|
|
935
938
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-bun.ts,sha256=Si4MRfxmq9JG_YbUnmDjJqllBjGHKOiJUyxXF43Uq3Y,1647
|
|
936
939
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-pnpm.ts,sha256=NJONlVzcrVWbR6IVKi5NnUV4n4z1BlJzhRDh9J8bY_4,1310
|
|
937
940
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies.ts,sha256=n2xTUIe7tWTqoPawtcnccXYzprCfTTdPeVx-rL_hsxA,2977
|
|
@@ -983,7 +986,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservic
|
|
|
983
986
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.unsignedbasicauth.ts,sha256=B13diAjHunM-L1w1FHgpDRup-j4Xnnb-rpn171bbjpw,925
|
|
984
987
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.vpc.ts,sha256=92FvTQd0U190KN53A8UU4eV3ggwm1GeVn4f3nRE56T0,1400
|
|
985
988
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.without-logs-resource-policy.ts,sha256=CTj7BjTXc_Q4J_NnK8C62vXGl3ZIWMbmcuPHjvW01vU,1971
|
|
986
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md,sha256=
|
|
989
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md,sha256=rqBg1xfmVlFm9Y8cQTFquBImwL7-fcbabF73ngCvgUY,68030
|
|
987
990
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/aurora-serverless-v2.md,sha256=D4_EKB6d62nNN0LwL3XGX0YFjwdSBXE8namaBUqU9qw,10484
|
|
988
991
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-applyimmediately.ts,sha256=UB7bdVX6UD63SYroZRXs5V493f1lUX_3lD5W7EeU5AQ,1135
|
|
989
992
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-availability-zone.ts,sha256=59DvW_-fFQ2NPddJdbayEu7V-NVBAPvm3A05IvbBOAA,1765
|
|
@@ -1032,6 +1035,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instan
|
|
|
1032
1035
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-with-metric.ts,sha256=oQJbFQH5yFC9X3MHr8wu2O6vvBBcHcJS0AW51q9BBrQ,1330
|
|
1033
1036
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-with-parameter-group.ts,sha256=BELAKjpQc5Rlu2kjpJk8PUhQk2UySlkPhuHdVRiwUpQ,1158
|
|
1034
1037
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance.lit.ts,sha256=n8XH1sJD_y2vAMXy2JlOEY4Pg58qA-IpurwwA6NQMpU,4182
|
|
1038
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-endpoint.ts,sha256=DBXydbhQkqKYcwS7EHoBu0AG-FSJ5NdD6RP3r6cxlo4,1186
|
|
1035
1039
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-mariadb.ts,sha256=h9qrowwmonRVBW53bJVz3wneeErmrHjPdqAoV31WFfY,1391
|
|
1036
1040
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-sql-server.ts,sha256=8168nOsK3O0H9OCyZe3vdqj3ZwB9LUo8c_yOiGM7IZg,1607
|
|
1037
1041
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy.ts,sha256=fOSRczUyk_S8fSUKVdj0bag3oyFtntGBHYhShSFLuOE,2890
|
|
@@ -1095,6 +1099,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket-
|
|
|
1095
1099
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket-sharing.ts,sha256=nYSPtRf6SKG_dxFnSSqB4_7zhOfScxcTDdVA1HAWpoc,1106
|
|
1096
1100
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.domain-name.ts,sha256=IOODtf2ASGbeF_jxGj0HTfCdv4chvTo5HA8jJrOGf8s,801
|
|
1097
1101
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.inventory.ts,sha256=_OKna9IpkYKTNJoQQIdKBKMYF9nRrsAnv6yx0FYGx-I,780
|
|
1102
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.notifications-scoped-permissions.ts,sha256=YHhgShsLeNBEl7cS8f177_6kb1VPk8SLczRbUoZ3LCA,2501
|
|
1098
1103
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.notifications.ts,sha256=NZPX1K5ISU7DGM7Woe09x44Q27VfVVJ_BuYyUFXwOT8,649
|
|
1099
1104
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.server-access-logs.ts,sha256=8c7QCODFMds7tkmT8JhmHiwJ8JQGnzzvvqj2e_jr3hU,1613
|
|
1100
1105
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.ts,sha256=r8GwRCwau5Zti8SSf8SBX6Sku8a4yb1DCPxhYLZ4ySs,838
|
|
@@ -1220,6 +1225,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/in
|
|
|
1220
1225
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-csv-delimiter-with-result-writer-v2.ts,sha256=9sUCYE3Rn9OJsCc8GLWS3qTUYPDv1vH6iRHuMmG386Y,2670
|
|
1221
1226
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-csv-delimiter.ts,sha256=f_ZUPr3pI1Cymj5NEBNiqJTeQPF7SJeI0wRTdB5L78Y,2476
|
|
1222
1227
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-execution-type.ts,sha256=40y3RbELYFd9Zkxq85Ks3SSRJWsl2Y8sHMt909XVCFs,957
|
|
1228
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-parallel.ts,sha256=bK9sA_udJde3-LrHSluGnAhpXiCJteH6DBbLh3eXadE,2723
|
|
1229
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-redrive.ts,sha256=o5F4_VDK5WTm2MWwbA66SYTsLXUDf2O0g6ojF76YG8o,4458
|
|
1223
1230
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-with-result-writer-v2-having-writer-config.ts,sha256=lNKChVAFp-mODWftWuyz6Wx7P_zuvOZt9MPFXe3awn8,2866
|
|
1224
1231
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-with-result-writer-v2.ts,sha256=4RuzzXWqyxlf31SsMiUYiM_AVeEfNdPcxYnqNTBOTl0,2612
|
|
1225
1232
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map.ts,sha256=Bp5ufmzXP0yALAqqPrSWSeFXtBHsGKxZOOoRv-RpuNQ,2418
|
|
@@ -1232,7 +1239,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/in
|
|
|
1232
1239
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-inline.ts,sha256=vzCMkfobIPqMd94tOD2uxCi7CxEhxG9Po07LnrfV_q0,971
|
|
1233
1240
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-itemselector.ts,sha256=n_Ovy855kjSCK-GFrNzhaz7T0cVHUXUeSt8QNngYz98,1115
|
|
1234
1241
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-jsonata-itemselector.ts,sha256=_azQApIjXjJUDTTDrJHMqui_E3wOx2RR5_dkYn8AFPE,1113
|
|
1235
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-with-catch.ts,sha256=
|
|
1242
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-with-catch.ts,sha256=qs8xSUob6jZzeLTgKZmGGU5gY7Z7m-ZUcstI3AhNHNc,2824
|
|
1236
1243
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.parallel-parameters.ts,sha256=xseArfY0EBjgh4X96w7yi7Xq4sWGzzzLwB2JAw9JXsk,1739
|
|
1237
1244
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.s3-json-item-reader.ts,sha256=69K8O1x1sUkzGFfcf-KEmzzo19yvrdl0Po59k2grxXI,5773
|
|
1238
1245
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.s3-objects-item-reader.ts,sha256=g-0WEsKg0jkI8OSBw6bmK-yAhioFSZgDkg1DcnZd1oc,5916
|
|
@@ -1318,9 +1325,10 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-ta
|
|
|
1318
1325
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.submit-job-queue-jsonpath.ts,sha256=xOerJeeBfCEpEBPYLnYh-Naycr-a9GqXLdxs6G-hPHs,2136
|
|
1319
1326
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.submit-job.d.ts,sha256=jmCbtxwguFjHfw6fkLsTGduEd7E_n5ZfGh4YUkv1CIE,11
|
|
1320
1327
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.submit-job.ts,sha256=e0cd9QvnR01q6F6XgoRXqJRnCVmhU_q2teRsKQtI4UE,2834
|
|
1321
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md,sha256=
|
|
1328
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md,sha256=_2XIElNLx63VCpEn0Be-yH399hen5qBAX2bORsLmpjw,18572
|
|
1322
1329
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-artifact-s3-encryption.ts,sha256=vtDZDYpMfnRftpjBhSwl9GpjiqQ7_m55iidSJPzTuhs,2628
|
|
1323
1330
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-auto-delete-lambda.ts,sha256=epAsfPC1zL0Kb0RKv9msG2gkCvV83ka6Lvpj1nupd84,2360
|
|
1331
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-browser-type.ts,sha256=v_b25HY2WKN93qiwmrwyb5jvqLu2Gvzq7iS3K7JRrq4,1124
|
|
1324
1332
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-dryrun-update.ts,sha256=9eSxOnfd0-nhkd3wUByAb8hfqfZEwCcEzlEL6yThctI,1049
|
|
1325
1333
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-provisioned-resource-cleanup.ts,sha256=6Y6sDsl88gyAJItkXlye8mjTN9n1tU61LqWusp_K0lo,1892
|
|
1326
1334
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-resources-to-replicate-tags.ts,sha256=M9Hk4ySI9PdQPUFcn8-DxtwwoAY-9mkhyLHOXJZ-9es,1324
|
|
@@ -1368,7 +1376,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/int
|
|
|
1368
1376
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider-with-waiter-state-machine-custom-role.ts,sha256=60mjzf_2NI9zO30B2Guye5sA7kxIl4yrLMXUEWIDO9I,2401
|
|
1369
1377
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider-with-waiter-state-machine.ts,sha256=6Ci2_ABcu5azSj1f0EzY1VD4lQUg9KI5l1Q7ieejI-0,2058
|
|
1370
1378
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider.ts,sha256=u_YVV0YZk6hyIxo5JOOSwwUORbqS3BVbJU6DIAwxuk0,1814
|
|
1371
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md,sha256=
|
|
1379
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md,sha256=qqX6oPxATHDokRlX57eVXImcygnHbRpHQKwKq7bO950,108226
|
|
1372
1380
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/NESTED_ASSEMBLIES.md,sha256=P8PNyr4hIC_i-9aUxa301-5-N4tLcoHYnELBp3C6SQQ,4949
|
|
1373
1381
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md,sha256=2wOjXn0IClEfFoaThPxpqKmwpgX-9KMilIjVIq2wn40,26377
|
|
1374
1382
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/lambda-layer-awscli/README.md,sha256=kMrrptXZcAiK_TXRQD4XcaNRa3RXaIoIUQRZYi29b30,681
|
|
@@ -1399,8 +1407,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipe
|
|
|
1399
1407
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/region-info/README.md,sha256=vewWkV3ds9o9iyyYaJBNTkaKJ2XA6K2yF17tAxUnujg,2718
|
|
1400
1408
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/README.md,sha256=hYIx7DbG_7p4LYLUfxDwgIQjw9UNdz1GLrqDe8_Dbko,4132
|
|
1401
1409
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/integ.triggers.ts,sha256=4OHplMoBOgHGkktAzoU-TuNmJQS5wGAUvBfj5bGSe_Y,2807
|
|
1402
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1403
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1404
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1405
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1406
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1410
|
+
konokenj_cdk_api_mcp_server-0.44.0.dist-info/METADATA,sha256=OXn8V3X4rk55UBX0ZQofvPod7bd1mvVqN0cwqhVvLRc,2646
|
|
1411
|
+
konokenj_cdk_api_mcp_server-0.44.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
1412
|
+
konokenj_cdk_api_mcp_server-0.44.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
|
|
1413
|
+
konokenj_cdk_api_mcp_server-0.44.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
|
|
1414
|
+
konokenj_cdk_api_mcp_server-0.44.0.dist-info/RECORD,,
|
{konokenj_cdk_api_mcp_server-0.43.0.dist-info → konokenj_cdk_api_mcp_server-0.44.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|