konokenj.cdk-api-mcp-server 0.54.0__py3-none-any.whl → 0.56.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-bedrock-agentcore-alpha/README.md +880 -19
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md +387 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md +53 -33
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-connect-disconnect-trigger.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/README.md +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +44 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ebs.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-cloudwatch-logs-exports.ts +56 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md +32 -31
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.zone-delegation-iam-stack.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-big-response.ts +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-data.ts +15 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-large-file.ts +3 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/README.md +56 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.external-id.ts +80 -0
- {konokenj_cdk_api_mcp_server-0.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.0.dist-info}/RECORD +25 -22
- {konokenj_cdk_api_mcp_server-0.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib/core';
|
|
2
|
+
import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
3
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
4
|
+
import * as rds from 'aws-cdk-lib/aws-rds';
|
|
5
|
+
|
|
6
|
+
const app = new cdk.App();
|
|
7
|
+
|
|
8
|
+
const stack = new cdk.Stack(app, 'CloudWatchLogsExportsStack');
|
|
9
|
+
const vpc = new ec2.Vpc(stack, 'VPC');
|
|
10
|
+
|
|
11
|
+
const mysql = new rds.DatabaseCluster(stack, 'DatabaseClusterMysql', {
|
|
12
|
+
engine: rds.DatabaseClusterEngine.auroraMysql({ version: rds.AuroraMysqlEngineVersion.VER_3_09_0 }),
|
|
13
|
+
writer: rds.ClusterInstance.serverlessV2('writerInstance'),
|
|
14
|
+
vpc,
|
|
15
|
+
cloudwatchLogsExports: ['error', 'general', 'slowquery', 'audit', 'instance', 'iam-db-auth-error'],
|
|
16
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const postgresql = new rds.DatabaseCluster(stack, 'DatabaseClusterPostgresql', {
|
|
20
|
+
engine: rds.DatabaseClusterEngine.auroraPostgres({ version: rds.AuroraPostgresEngineVersion.VER_16_4 }),
|
|
21
|
+
writer: rds.ClusterInstance.serverlessV2('writerInstance'),
|
|
22
|
+
vpc,
|
|
23
|
+
cloudwatchLogsExports: ['postgresql', 'iam-db-auth-error', 'instance'],
|
|
24
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const integ = new IntegTest(app, 'CloudWatchLogsExportsStackInteg', {
|
|
28
|
+
testCases: [stack],
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
integ.assertions.awsApiCall('RDS', 'describeDBClusters', {
|
|
32
|
+
DBClusterIdentifier: mysql.clusterIdentifier,
|
|
33
|
+
}).expect(ExpectedResult.objectLike({
|
|
34
|
+
DBClusters: [{
|
|
35
|
+
EnabledCloudwatchLogsExports: [
|
|
36
|
+
'audit',
|
|
37
|
+
'error',
|
|
38
|
+
'general',
|
|
39
|
+
'iam-db-auth-error',
|
|
40
|
+
'instance',
|
|
41
|
+
'slowquery',
|
|
42
|
+
],
|
|
43
|
+
}],
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
integ.assertions.awsApiCall('RDS', 'describeDBClusters', {
|
|
47
|
+
DBClusterIdentifier: postgresql.clusterIdentifier,
|
|
48
|
+
}).expect(ExpectedResult.objectLike({
|
|
49
|
+
DBClusters: [{
|
|
50
|
+
EnabledCloudwatchLogsExports: [
|
|
51
|
+
'iam-db-auth-error',
|
|
52
|
+
'instance',
|
|
53
|
+
'postgresql',
|
|
54
|
+
],
|
|
55
|
+
}],
|
|
56
|
+
}));
|
|
@@ -367,40 +367,40 @@ const crossAccountRole = new iam.Role(this, 'CrossAccountRole', {
|
|
|
367
367
|
roleName: 'MyDelegationRole',
|
|
368
368
|
// The other account
|
|
369
369
|
assumedBy: new iam.AccountPrincipal('12345678901'),
|
|
370
|
-
// You can scope down this role policy to be least privileged.
|
|
371
|
-
// If you want the other account to be able to manage specific records,
|
|
372
|
-
// you can scope down by resource and/or normalized record names
|
|
373
|
-
inlinePolicies: {
|
|
374
|
-
crossAccountPolicy: new iam.PolicyDocument({
|
|
375
|
-
statements: [
|
|
376
|
-
new iam.PolicyStatement({
|
|
377
|
-
sid: 'ListHostedZonesByName',
|
|
378
|
-
effect: iam.Effect.ALLOW,
|
|
379
|
-
actions: ['route53:ListHostedZonesByName'],
|
|
380
|
-
resources: ['*'],
|
|
381
|
-
}),
|
|
382
|
-
new iam.PolicyStatement({
|
|
383
|
-
sid: 'GetHostedZoneAndChangeResourceRecordSets',
|
|
384
|
-
effect: iam.Effect.ALLOW,
|
|
385
|
-
actions: ['route53:GetHostedZone', 'route53:ChangeResourceRecordSets'],
|
|
386
|
-
// This example assumes the RecordSet subdomain.somexample.com
|
|
387
|
-
// is contained in the HostedZone
|
|
388
|
-
resources: ['arn:aws:route53:::hostedzone/HZID00000000000000000'],
|
|
389
|
-
conditions: {
|
|
390
|
-
'ForAllValues:StringLike': {
|
|
391
|
-
'route53:ChangeResourceRecordSetsNormalizedRecordNames': [
|
|
392
|
-
'subdomain.someexample.com',
|
|
393
|
-
],
|
|
394
|
-
},
|
|
395
|
-
},
|
|
396
|
-
}),
|
|
397
|
-
],
|
|
398
|
-
}),
|
|
399
|
-
},
|
|
400
370
|
});
|
|
401
371
|
parentZone.grantDelegation(crossAccountRole);
|
|
402
372
|
```
|
|
403
373
|
|
|
374
|
+
To restrict the records that can be created with the delegation IAM role, use the optional `delegatedZoneNames` property in the delegation options,
|
|
375
|
+
which enforces the `route53:ChangeResourceRecordSetsNormalizedRecordNames` condition key for record names that match those hosted zone names.
|
|
376
|
+
The `delegatedZoneNames` list may only consist of hosted zones names that are subzones of the parent hosted zone.
|
|
377
|
+
|
|
378
|
+
If the delegated zone name contains an unresolved token,
|
|
379
|
+
it must resolve to a zone name that satisfies the requirements according to the documentation:
|
|
380
|
+
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/specifying-conditions-route53.html#route53_rrset_conditionkeys_normalization
|
|
381
|
+
|
|
382
|
+
> All letters must be lowercase.
|
|
383
|
+
> The DNS name must be without the trailing dot.
|
|
384
|
+
> Characters other than a–z, 0–9, - (hyphen), _ (underscore), and . (period, as a delimiter between labels) must use escape codes in the format \three-digit octal code. For example, \052 is the octal code for character *.
|
|
385
|
+
|
|
386
|
+
This feature allows you to better follow the minimum permissions privilege principle:
|
|
387
|
+
|
|
388
|
+
```ts
|
|
389
|
+
const parentZone = new route53.PublicHostedZone(this, 'HostedZone', {
|
|
390
|
+
zoneName: 'someexample.com',
|
|
391
|
+
});
|
|
392
|
+
|
|
393
|
+
declare const betaCrossAccountRole: iam.Role;
|
|
394
|
+
parentZone.grantDelegation(betaCrossAccountRole, {
|
|
395
|
+
delegatedZoneNames: ['beta.someexample.com'],
|
|
396
|
+
});
|
|
397
|
+
|
|
398
|
+
declare const prodCrossAccountRole: iam.Role;
|
|
399
|
+
parentZone.grantDelegation(prodCrossAccountRole, {
|
|
400
|
+
delegatedZoneNames: ['prod.someexample.com'],
|
|
401
|
+
});
|
|
402
|
+
```
|
|
403
|
+
|
|
404
404
|
In the account containing the child zone to be delegated:
|
|
405
405
|
|
|
406
406
|
```ts
|
|
@@ -540,7 +540,8 @@ const zone = route53.HostedZone.fromHostedZoneAttributes(this, 'MyZone', {
|
|
|
540
540
|
```
|
|
541
541
|
|
|
542
542
|
Alternatively, use the `HostedZone.fromHostedZoneId` to import hosted zones if
|
|
543
|
-
you know the ID and the retrieval for the `zoneName` is undesirable.
|
|
543
|
+
you know the ID and the retrieval for the `zoneName` is undesirable.
|
|
544
|
+
Note that any records created with a hosted zone obtained this way must have their name be fully qualified
|
|
544
545
|
|
|
545
546
|
```ts
|
|
546
547
|
const zone = route53.HostedZone.fromHostedZoneId(this, 'MyZone', 'ZOJJZC49E0EPZ');
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib';
|
|
3
|
+
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
4
|
+
import { Construct } from 'constructs';
|
|
5
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
6
|
+
|
|
7
|
+
class ZoneDelegationIamStack extends cdk.Stack {
|
|
8
|
+
constructor(scope: Construct, id: string) {
|
|
9
|
+
super(scope, id);
|
|
10
|
+
|
|
11
|
+
const parentZone = new route53.PublicHostedZone(this, 'ParentZone', {
|
|
12
|
+
zoneName: 'uniqueexample.com',
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const trusteeRoleArns = this.formatArn({
|
|
16
|
+
service: 'iam',
|
|
17
|
+
region: '',
|
|
18
|
+
resource: 'role',
|
|
19
|
+
resourceName: 'ZoneDelegationStack-*',
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const delegationRole = new iam.Role(this, 'ZoneDelegationRole', {
|
|
23
|
+
roleName: 'ExampleDelegationRole',
|
|
24
|
+
assumedBy: new iam.AccountRootPrincipal().withConditions({
|
|
25
|
+
ArnLike: {
|
|
26
|
+
'aws:PrincipalArn': trusteeRoleArns,
|
|
27
|
+
},
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const delegationGrant = parentZone.grantDelegation(delegationRole, {
|
|
32
|
+
delegatedZoneNames: [
|
|
33
|
+
'sub1.uniqueexample.com',
|
|
34
|
+
'sub2_*$.uniqueexample.com', // should result in octal codes in iam condition
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const subZone = new route53.PublicHostedZone(this, 'SubZone', {
|
|
39
|
+
zoneName: 'sub1.uniqueexample.com',
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
new route53.CrossAccountZoneDelegationRecord(subZone, 'ZoneDelegation', {
|
|
43
|
+
delegatedZone: subZone,
|
|
44
|
+
parentHostedZoneName: parentZone.zoneName,
|
|
45
|
+
delegationRole: delegationRole,
|
|
46
|
+
}).node.addDependency(delegationGrant);
|
|
47
|
+
|
|
48
|
+
const subZoneWithSpecialChars = new route53.PublicHostedZone(this, 'SubZoneSpecialChars', {
|
|
49
|
+
zoneName: 'sub2_*$.uniqueexample.com',
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
new route53.CrossAccountZoneDelegationRecord(subZoneWithSpecialChars, 'ZoneDelegation', {
|
|
53
|
+
delegatedZone: subZoneWithSpecialChars,
|
|
54
|
+
parentHostedZoneName: parentZone.zoneName,
|
|
55
|
+
delegationRole: delegationRole,
|
|
56
|
+
}).node.addDependency(delegationGrant);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const app = new cdk.App();
|
|
61
|
+
|
|
62
|
+
const stack = new ZoneDelegationIamStack(app, 'ZoneDelegationStack');
|
|
63
|
+
|
|
64
|
+
new IntegTest(app, 'ZoneDelegationIam', {
|
|
65
|
+
testCases: [stack],
|
|
66
|
+
});
|
|
@@ -31,6 +31,10 @@ class TestBucketDeployment extends cdk.Stack {
|
|
|
31
31
|
const sources = [];
|
|
32
32
|
for (let i = 0; i < numFiles; i++) {
|
|
33
33
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'tmpcdk'));
|
|
34
|
+
process.on('exit', () => {
|
|
35
|
+
fs.rmSync(tempDir, { force: true, recursive: true });
|
|
36
|
+
});
|
|
37
|
+
|
|
34
38
|
fs.mkdirSync(tempDir, { recursive: true });
|
|
35
39
|
const fileName = `${i+1}.txt`;
|
|
36
40
|
const filePath = path.join(tempDir, fileName);
|
|
@@ -64,6 +64,9 @@ class TestBucketDeploymentData extends Stack {
|
|
|
64
64
|
// Test empty string handling
|
|
65
65
|
const file8 = Source.data('file8.txt', '');
|
|
66
66
|
|
|
67
|
+
// Test null JSON data value
|
|
68
|
+
const file9 = Source.jsonData('my-json/config-with-null.json', { hello: 'there', goodbye: null });
|
|
69
|
+
|
|
67
70
|
const deployment = new BucketDeployment(this, 'DeployWithDataSources', {
|
|
68
71
|
destinationBucket: this.bucket,
|
|
69
72
|
sources: [file1, file2],
|
|
@@ -77,6 +80,7 @@ class TestBucketDeploymentData extends Stack {
|
|
|
77
80
|
deployment.addSource(file6);
|
|
78
81
|
deployment.addSource(file7);
|
|
79
82
|
deployment.addSource(file8);
|
|
83
|
+
deployment.addSource(file9);
|
|
80
84
|
|
|
81
85
|
new CfnOutput(this, 'BucketName', { value: this.bucket.bucketName });
|
|
82
86
|
}
|
|
@@ -105,6 +109,17 @@ assertionProvider.expect(ExpectedResult.objectLike({
|
|
|
105
109
|
Body: '{"secret_value":"test\\"with\\"quotes"}',
|
|
106
110
|
}));
|
|
107
111
|
|
|
112
|
+
// Assert that JSON data with a null value is represented properly
|
|
113
|
+
const jsonNullAssertionProvider = integTest.assertions.awsApiCall('S3', 'getObject', {
|
|
114
|
+
Bucket: testCase.bucket.bucketName,
|
|
115
|
+
Key: path.join('deploy/here', 'my-json/config-with-null.json'),
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// Verify the content is valid JSON and both null and non-null fields are present
|
|
119
|
+
jsonNullAssertionProvider.expect(ExpectedResult.objectLike({
|
|
120
|
+
Body: '{"hello":"there","goodbye":null}',
|
|
121
|
+
}));
|
|
122
|
+
|
|
108
123
|
// Add assertions to verify the YAML file
|
|
109
124
|
const yamlAssertionProvider = integTest.assertions.awsApiCall('S3', 'getObject', {
|
|
110
125
|
Bucket: testCase.bucket.bucketName,
|
|
@@ -30,6 +30,9 @@ const bucket = new Bucket(stack, 'Bucket', {
|
|
|
30
30
|
|
|
31
31
|
// Create a temporary directory for our large files
|
|
32
32
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'cdk-large-files-'));
|
|
33
|
+
process.on('exit', () => {
|
|
34
|
+
fs.rmSync(tempDir, { force: true, recursive: true });
|
|
35
|
+
});
|
|
33
36
|
|
|
34
37
|
// Generate a large JSON file (10MB) programmatically
|
|
35
38
|
const largeJsonFilePath = path.join(tempDir, 'large-file.json');
|
|
@@ -831,6 +831,62 @@ new cr.AwsCustomResource(this, 'CrossAccount', {
|
|
|
831
831
|
});
|
|
832
832
|
```
|
|
833
833
|
|
|
834
|
+
#### Using External IDs for Enhanced Security
|
|
835
|
+
|
|
836
|
+
When assuming cross-account roles, you can specify an external ID to prevent the "confused deputy" problem. The external ID is a unique identifier provided by the third-party service that helps ensure the service is acting on behalf of the correct customer:
|
|
837
|
+
|
|
838
|
+
```ts
|
|
839
|
+
const crossAccountRoleArn = 'arn:aws:iam::OTHERACCOUNT:role/CrossAccountRoleName';
|
|
840
|
+
const serviceExternalId = 'unique-secret-value-12345'; // External ID provided by the third party service. This value should be unique among the third-party service's customers.
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
new cr.AwsCustomResource(this, 'SecureCrossAccount', {
|
|
844
|
+
onCreate: {
|
|
845
|
+
assumedRoleArn: crossAccountRoleArn,
|
|
846
|
+
externalId: serviceExternalId, // Prevents confused deputy attacks
|
|
847
|
+
service: 'sts',
|
|
848
|
+
action: 'GetCallerIdentity',
|
|
849
|
+
physicalResourceId: cr.PhysicalResourceId.of('id'),
|
|
850
|
+
},
|
|
851
|
+
policy: cr.AwsCustomResourcePolicy.fromStatements([iam.PolicyStatement.fromJson({
|
|
852
|
+
Effect: "Allow",
|
|
853
|
+
Action: "sts:AssumeRole",
|
|
854
|
+
Resource: crossAccountRoleArn,
|
|
855
|
+
})]),
|
|
856
|
+
});
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
The external ID can also be different for each lifecycle operation:
|
|
860
|
+
|
|
861
|
+
```ts
|
|
862
|
+
declare const createRoleArn: string;
|
|
863
|
+
declare const updateRoleArn: string;
|
|
864
|
+
|
|
865
|
+
new cr.AwsCustomResource(this, 'MultiRoleSecure', {
|
|
866
|
+
onCreate: {
|
|
867
|
+
assumedRoleArn: createRoleArn,
|
|
868
|
+
externalId: 'create-secret-123',
|
|
869
|
+
service: 'ec2',
|
|
870
|
+
action: 'DescribeInstances',
|
|
871
|
+
physicalResourceId: cr.PhysicalResourceId.of('id'),
|
|
872
|
+
},
|
|
873
|
+
onUpdate: {
|
|
874
|
+
assumedRoleArn: updateRoleArn,
|
|
875
|
+
externalId: 'update-secret-456',
|
|
876
|
+
service: 'ec2',
|
|
877
|
+
action: 'DescribeInstances',
|
|
878
|
+
},
|
|
879
|
+
policy: cr.AwsCustomResourcePolicy.fromStatements([
|
|
880
|
+
new iam.PolicyStatement({
|
|
881
|
+
actions: ['sts:AssumeRole'],
|
|
882
|
+
resources: [createRoleArn, updateRoleArn],
|
|
883
|
+
}),
|
|
884
|
+
]),
|
|
885
|
+
});
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
For more information on external IDs and preventing confused deputy attacks, see the [AWS IAM User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
|
|
889
|
+
|
|
834
890
|
#### Custom Resource Config
|
|
835
891
|
|
|
836
892
|
**This feature is currently experimental**
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.external-id.ts
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
3
|
+
import * as cdk from 'aws-cdk-lib';
|
|
4
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
5
|
+
import { AwsCustomResource, AwsCustomResourcePolicy, PhysicalResourceId } from 'aws-cdk-lib/custom-resources';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Integration test for AwsCustomResource External ID support.
|
|
9
|
+
*
|
|
10
|
+
* This test demonstrates the use of external IDs when assuming roles
|
|
11
|
+
* in cross-account scenarios to prevent "confused deputy" attacks.
|
|
12
|
+
*
|
|
13
|
+
* Note: This test may introduce destructive changes to CDK metadata
|
|
14
|
+
* and Lambda function assets due to CDK version updates. These changes
|
|
15
|
+
* are expected and safe for integration testing purposes.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
const app = new cdk.App({
|
|
19
|
+
postCliContext: {
|
|
20
|
+
// Disable CDK managed log groups to prevent Lambda changes
|
|
21
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
22
|
+
// Disable version reporting to prevent CDK metadata changes
|
|
23
|
+
'@aws-cdk/core:disableVersionReporting': true,
|
|
24
|
+
// Disable new style synthesis to maintain compatibility
|
|
25
|
+
'@aws-cdk/core:newStyleStackSynthesis': false,
|
|
26
|
+
// Use legacy asset bundling to prevent asset hash changes
|
|
27
|
+
'@aws-cdk/core:enableLegacyV2AssetKeys': true,
|
|
28
|
+
// Disable stack name validation to prevent naming conflicts
|
|
29
|
+
'@aws-cdk/core:stackRelativeExports': false,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const stack = new cdk.Stack(app, 'aws-custom-resource-external-id-test');
|
|
34
|
+
|
|
35
|
+
// Create a role that requires an external ID
|
|
36
|
+
const externalId = 'test-external-id-12345';
|
|
37
|
+
const roleWithExternalId = new iam.Role(stack, 'RoleWithExternalId', {
|
|
38
|
+
// Use a principal that can be used in integration tests
|
|
39
|
+
assumedBy: new iam.AccountPrincipal(cdk.Stack.of(stack).account),
|
|
40
|
+
externalIds: [externalId],
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Add the necessary permissions as managed policies to reduce template variability
|
|
44
|
+
roleWithExternalId.addToPolicy(
|
|
45
|
+
new iam.PolicyStatement({
|
|
46
|
+
actions: ['sts:GetCallerIdentity'],
|
|
47
|
+
resources: ['*'],
|
|
48
|
+
}),
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
// Test basic external ID usage
|
|
52
|
+
new AwsCustomResource(stack, 'ExternalIdTest', {
|
|
53
|
+
installLatestAwsSdk: false,
|
|
54
|
+
onCreate: {
|
|
55
|
+
assumedRoleArn: roleWithExternalId.roleArn,
|
|
56
|
+
externalId: externalId,
|
|
57
|
+
service: 'STS',
|
|
58
|
+
action: 'GetCallerIdentity',
|
|
59
|
+
physicalResourceId: PhysicalResourceId.of('external-id-test'),
|
|
60
|
+
},
|
|
61
|
+
policy: AwsCustomResourcePolicy.fromSdkCalls({ resources: [] }),
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
new IntegTest(app, 'AwsCustomResourceTest', {
|
|
65
|
+
testCases: [stack],
|
|
66
|
+
diffAssets: true,
|
|
67
|
+
allowDestroy: ['AWS::CDK::Metadata'],
|
|
68
|
+
cdkCommandOptions: {
|
|
69
|
+
deploy: {
|
|
70
|
+
args: {
|
|
71
|
+
rollback: false,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
destroy: {
|
|
75
|
+
args: {
|
|
76
|
+
force: true,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: konokenj.cdk-api-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.56.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.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.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=R_YsrVLF69pwgRex6mzoD5jYjRaOaFs_AeecPOzixZ8,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
|
|
@@ -9,8 +9,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/app-staging-synthesizer
|
|
|
9
9
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-amplify-alpha/README.md,sha256=OIdszebPa0EqMIaHhqWgH6A64AcwQioIKC-NHDyZKrI,12636
|
|
10
10
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-applicationsignals-alpha/README.md,sha256=6nqc-WbHB1iFE3vXDr6hyQs8tYS6wwnWutXePY4EF4w,10873
|
|
11
11
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-apprunner-alpha/README.md,sha256=Jtm3RbnP4jQy8BYXwHvaRbMKizUjr4SqvimVMYhu6WQ,11982
|
|
12
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md,sha256=
|
|
13
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md,sha256=
|
|
12
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md,sha256=R3FnqFoZFvBqVnBQvjV6ygfKW2yFHtk7QG8ECIls7d0,87387
|
|
13
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md,sha256=ZFThRraeK0rx1CF2foaEDzKsWxL1Qb9yqpCFM8eKvIo,65269
|
|
14
14
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-cloud9-alpha/README.md,sha256=0N8kldvHAKsNQHKtsj8PaQywiDUVrd6rEwVNQV0equY,7718
|
|
15
15
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-codestar-alpha/README.md,sha256=J-c-thqWwZFQT3Exjr_AY95BBgTA14Wb9aJ32gmEizQ,1509
|
|
16
16
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-custom-resource-sdk-adapter/README.md,sha256=FepYs6-FkeqX8jOohrPByOvzecIOBjd1c1AegNpRYNc,6310
|
|
@@ -20,7 +20,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README
|
|
|
20
20
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-elasticache-alpha/README.md,sha256=5rwHuZ0rekBgrFzF1ig9rAxqufypWy8XN8-7y3De0dA,15152
|
|
21
21
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-gamelift-alpha/README.md,sha256=pZqlGXpIekT05CmRYo99QPI-7S1iGtKoNESGryLQFxQ,28324
|
|
22
22
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-glue-alpha/README.md,sha256=BCr7YEJ6Ht3oYR21NMCH3t1N738QjQ9Sh_dL_DUhECQ,32235
|
|
23
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md,sha256
|
|
23
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md,sha256=V5LRy4Q8-nUQ9WOgoWugd0ehSMEnI6EsiM-RkIauDCY,16819
|
|
24
24
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-actions-alpha/README.md,sha256=R6vkGxu-JjfB1IfGVquiD6Gcn4RQQpgbGo36njBdJe4,11947
|
|
25
25
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md,sha256=18MkQScFBUO_qZnfYj9wfsdY_vRvvEyar2OT_QbO_N4,6909
|
|
26
26
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iotevents-actions-alpha/README.md,sha256=0Al2K5gHcEce_cH07YM1GuFFrJ0mrr85ZWGVrj2cs9s,4477
|
|
@@ -46,7 +46,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/cfnspec/README.md,sha25
|
|
|
46
46
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/custom-resource-handlers/README.md,sha256=QctOoyGt6AqVWeFhRwpkCSxHZ1XFWj_nCKlkJHDFock,965
|
|
47
47
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/example-construct-library/README.md,sha256=vnVXyvtN9ICph68sw2y6gkdD_gmas0PiUa9TkwNckWQ,4501
|
|
48
48
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/integ-tests-alpha/README.md,sha256=VifKLrR404_yLVT0E3ai8f3R5K0h22VNwQplpSUSZqc,17489
|
|
49
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md,sha256=
|
|
49
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md,sha256=lMBvwtXXEMYw43hun0BoXbcCgxhEN9YnEr66e47y9u8,6072
|
|
50
50
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md,sha256=fDaQqPonfLmfQpukU4aAJcjQI5xHI40D3Li0I056Q7s,76468
|
|
51
51
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/assertions/MIGRATING.md,sha256=SYGX8QNB1Pm_rVYDBp4QRWkqwnxOb3CHzeFglUy_53k,3347
|
|
52
52
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/assertions/README.md,sha256=3yo3D05n5explTIgnuF-vkk01MTYeAYe7_3rcsD2baE,18299
|
|
@@ -112,7 +112,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-int
|
|
|
112
112
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.alb.ts,sha256=M37eb1eaG_p-me9AwxJ5Ug1nsBdOtqMloYNW0bELDak,1816
|
|
113
113
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.aws.ts,sha256=z-Kjet7OZOc3pR9ReqDEvVFjqdYTgS3ZJprEgt2y9l8,2444
|
|
114
114
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.http-proxy.ts,sha256=RbFxD1auiyVyYM9DscPm9xzhDsYPMQPeQTKcgmxAZ0o,1326
|
|
115
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-connect-disconnect-trigger.ts,sha256=
|
|
115
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-connect-disconnect-trigger.ts,sha256=oC__vtPWhU0EgRbtoixIondliCWhybviK35eQ4HIwZA,2533
|
|
116
116
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-permission-consolidation.ts,sha256=ZDRoNQzKQaIU5TZc2CkTKbBdZoDoBqDbNMRqO9pstN8,1669
|
|
117
117
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-proxy.ts,sha256=5HK_boRp3y71H8e-Jxxx2sXxszO0GvgQBl-MY4hnNxo,977
|
|
118
118
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda.ts,sha256=69e35cKLnZPl5iccDDqctFquTwRI3nJABtpXT4swWUg,3002
|
|
@@ -434,7 +434,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-act
|
|
|
434
434
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.source-bucket-events-cross-stack-same-env.ts,sha256=b_AcKifo3CayD0tBQAY9-K8tbovRAi9hC2IPyTvJCog,1523
|
|
435
435
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.stacksets.ts,sha256=rYAvLm18SRN5_RZDalrForjDUHg9AHeTebjeO1jpN1Y,2798
|
|
436
436
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codestarnotifications/README.md,sha256=xwJqDar7SxOR64CS3jzD1FBmmAnsPAytUXU-BSKdibI,2764
|
|
437
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/README.md,sha256=
|
|
437
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/README.md,sha256=nK1O9BVuzdu1R54DbvOfvAzsEN86cPerx6yAwlAChic,55008
|
|
438
438
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/integ.user-pool-client-analytics.ts,sha256=VwK8uk4g8qasvEF-_fJC-T1Edmat_dmtj4e_am6evLY,3282
|
|
439
439
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/integ.user-pool-client-default-redirect-uri.ts,sha256=4psUGceGMURoSYg4rvK19bnuXMSH6bZrhLjUcap49og,678
|
|
440
440
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/integ.user-pool-client-enable-propagate-additional-data.ts,sha256=wDQU5Wi-dxBbl_ZUnmcVoOaRWZAmGZuCqO1YuIEoub4,775
|
|
@@ -511,7 +511,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.t
|
|
|
511
511
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-mrsc.ts,sha256=C0yWtgzvoaxu9ZEv-7mJ6IEa3K6HIOZyOTWIEAv0Rbk,1054
|
|
512
512
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-replica.ts,sha256=ZmN5tCVGuefUKdewkwcMC_vd1t8mYj0xowKTaAFq3P4,1613
|
|
513
513
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-with-customized-role.ts,sha256=CDb1V4J2dg5-JCkFHBtF8wmMOoLaQ-6RDpZT9HnnTBg,2048
|
|
514
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md,sha256=
|
|
514
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md,sha256=1e2akJO6l0RjYAvdTtOS7A7Qll70rqJOVp4ibJEEkcw,103123
|
|
515
515
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.bastion-host-arm-support.ts,sha256=zgJ4WxeOAsMmxDW_kgxCUw9-i-hGFeBRX3Xd0-EMuFI,786
|
|
516
516
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.bastion-host-disable-al2023-feature-flag.ts,sha256=9gX9xZZuubyUZxCAXqctMSymojJoh893yTgqD-Dfo-k,954
|
|
517
517
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.bastion-host-userdatacausesreplacement.ts,sha256=5Vv0q_dk3vtXkam1V9tvu6HcoIv-cUK9pwIHSZvX0ro,1377
|
|
@@ -583,7 +583,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc.ts
|
|
|
583
583
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpn-pre-shared-key-token.ts,sha256=qq1fI-FAM-Ift98pBOYj32e9wg4Y8bMX1wE5m-LnsAs,785
|
|
584
584
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpn-two-tunnels.ts,sha256=x3VEiiHHzKIZ3DSK7jTSG-exsmtOP5ZCVexXmZJj_lg,897
|
|
585
585
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpn.ts,sha256=4DFWnV2DFrhak5ZD1OB-i-9bp011puad-GGhH7KqWbY,722
|
|
586
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/README.md,sha256=
|
|
586
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/README.md,sha256=Ixmgg8gLTYwp6HGMA3jriy2nPZtUqgqfi_kNCfIktU4,11096
|
|
587
587
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.basic.ts,sha256=AxYAzcj5EVjBk2E5rhP_eoKDyvGB8zajk-f86y-ah5g,1558
|
|
588
588
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.grant.ts,sha256=6iXr2VBNEWzDzSCUfcPb-uBGa4bXTiCh563kCstjpMc,741
|
|
589
589
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.imagescan.ts,sha256=MfLBVQc3qTDx5LDS15EqUdqtJrK64g5i7GEoFLsRMCA,547
|
|
@@ -595,7 +595,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ
|
|
|
595
595
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-tarball.ts,sha256=pSbNMWSorKT7lUTXxnzkxpcRumKPYWUmcbqRSwwWOgI,937
|
|
596
596
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.nested-stacks-docker.ts,sha256=4hDobse34oIG2r0mjbYXzsEXXLEqv077jUh3pjoYmcc,981
|
|
597
597
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/CONTRIBUTING.md,sha256=TlNwpeYemLdYq4jdo24v7nwDIj3RmZ7u2j_LCQiQR74,2634
|
|
598
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md,sha256=
|
|
598
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md,sha256=MW6Jt5xcpNrx1kO5T3cCfS_ItUIWDHoyNro5drF-V9c,81451
|
|
599
599
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.add-docker-label.ts,sha256=avHktilCBVPuVelquVaY2ylRkSLraWn7vUIIIFPsbyI,1375
|
|
600
600
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.add-environment-variable.ts,sha256=sIdwJl7LYh5wlv_EDLPSGCavC2OF6W8IBwZ_hMOnCfw,1143
|
|
601
601
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.app-mesh-proxy-config.ts,sha256=vWr45An7W7lgW9Ws_yPFhapf9DXyJP-D0fhTNg5fZC0,1717
|
|
@@ -1001,7 +1001,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservic
|
|
|
1001
1001
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.coldstorage.ts,sha256=uxEm9-kis9KgYLpv7A9lZmg_NZ3TJ14EmkrAAQBLbtI,873
|
|
1002
1002
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.custom-kms-key.ts,sha256=k66WCNgg3RBOrbUWt1KjZsbuj_K3-G-Q-nMYddtFKcg,2463
|
|
1003
1003
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.disable-logging.ts,sha256=xdMUI1YRuJgxOQ8aB_rftnMWu9gkSUkXiGuZQhsyYQQ,857
|
|
1004
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ebs.ts,sha256=
|
|
1004
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ebs.ts,sha256=6Ev38M-IkYa4fX8E7a-Pb_tN-oZDE5B058BvMbFnw_0,1177
|
|
1005
1005
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.gp3.ts,sha256=_YsIdlEllL1v_1YZzpXrwxHMttphlJe_xf11f1_4z3s,1526
|
|
1006
1006
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.https.ts,sha256=enL7r3ppaN_yxoRYse_nCmRrC9qdIcbqMoC_bCRdSLM,1655
|
|
1007
1007
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ip-address-type.ts,sha256=OeLFqyLYl38FltS_earKPmZ9loassPKmMErTopMwlvE,1136
|
|
@@ -1013,10 +1013,11 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservic
|
|
|
1013
1013
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.unsignedbasicauth.ts,sha256=B13diAjHunM-L1w1FHgpDRup-j4Xnnb-rpn171bbjpw,925
|
|
1014
1014
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.vpc.ts,sha256=92FvTQd0U190KN53A8UU4eV3ggwm1GeVn4f3nRE56T0,1400
|
|
1015
1015
|
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
|
|
1016
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md,sha256=
|
|
1016
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md,sha256=tPoPoDO9EBGny6j-ls4jiVmfhC5AAQyVIxk19S48O6c,68063
|
|
1017
1017
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/aurora-serverless-v2.md,sha256=D4_EKB6d62nNN0LwL3XGX0YFjwdSBXE8namaBUqU9qw,10484
|
|
1018
1018
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-applyimmediately.ts,sha256=UB7bdVX6UD63SYroZRXs5V493f1lUX_3lD5W7EeU5AQ,1135
|
|
1019
1019
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-availability-zone.ts,sha256=59DvW_-fFQ2NPddJdbayEu7V-NVBAPvm3A05IvbBOAA,1765
|
|
1020
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-cloudwatch-logs-exports.ts,sha256=LBpt-jb8BjdyepO6r8hD02GjJF8gDAcZdTT2y5ngh9g,1819
|
|
1020
1021
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api-to-imported-cluster.ts,sha256=rdPkQRXAX0G9AoT_wWj0haykPIGgH0wVkN9bCbvDbD4,1287
|
|
1021
1022
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api.ts,sha256=zscIQL1yE27efz_qs5lWrBOT2fwnQZbu7mm6UqLDJ4A,1056
|
|
1022
1023
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-database-insights.ts,sha256=fOZAejrOKhLiODQ3R9cFimS73nvvY45dhlYGY2bkUiQ,1214
|
|
@@ -1074,7 +1075,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.server
|
|
|
1074
1075
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.serverless-cluster-secret-rotation-custom-names.ts,sha256=qEeZja4_8GHkk_wEolcgpMXx8gIjyhYxQgtHj-QR90c,1182
|
|
1075
1076
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.serverless-cluster-secret-rotation.ts,sha256=dQh8mE1sGqXoh1oNLTHVGkxqJo1DUF9xFGRtpUMTtwM,1131
|
|
1076
1077
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.serverless-cluster.ts,sha256=QRk6RSL7MjT-Z0Wa5IqAGw6e4D9d1eD-_FF9JNPqaDc,1491
|
|
1077
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md,sha256=
|
|
1078
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md,sha256=EL7oChCie9H9OhNQs1u9xJTaZvBlk1FQVq8T2vCieqc,21794
|
|
1078
1079
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.cidr-routing-config.ts,sha256=s00XKe_4ev7V2QdrsMz1hTQdD7NG_DEvMKQO-qo2pOw,1820
|
|
1079
1080
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.cross-account-zone-delegation.ts,sha256=_rpT4PhjPn4zzQJkbCVdNuf_2PxCVAMBFh_sbI9Ipbc,4723
|
|
1080
1081
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.delete-existing-record-set.ts,sha256=S1DuUvrdXqsQO1-tBOrrZmLxbAtjLuYCbtVVULjCcQo,1177
|
|
@@ -1089,6 +1090,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.re
|
|
|
1089
1090
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.route53.ts,sha256=Tq-9AddKPw_XL9OpbSbAxcHUvNie_aNwUgxc_qc--t8,4191
|
|
1090
1091
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.vpc-endpoint-service-domain-name.ts,sha256=30BelZf3n-5NlELN0Zb3wbCs4apkN1xkJZdRx7JaQaw,2287
|
|
1091
1092
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.weighted-record.ts,sha256=TuVcPmhLeJWBn0zjTy1mQIF5mY68-sYJqvAyO4fj-l0,1089
|
|
1093
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.zone-delegation-iam-stack.ts,sha256=evRLvNcSIgCi0A-HtWB3UIe0zYMbb59f9BVA73KTKcQ,2095
|
|
1092
1094
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-patterns/README.md,sha256=wagFrV44B0Rqy9rYXVpAQMGscGiEy9qRj54qfzfXNKk,3028
|
|
1093
1095
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-patterns/integ.hosted-redirect-same-region.ts,sha256=v_OrIYemAnBSiihPJVnfwB8pc-MA39CSC8Xp6PtGTWc,1730
|
|
1094
1096
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-patterns/integ.hosted-redirect.ts,sha256=UpMbsM6FmD0tu73gzQOBNRtG_snaAuo3vzau2T7c2gY,1866
|
|
@@ -1147,14 +1149,14 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-assets/integ.
|
|
|
1147
1149
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-assets/integ.assets.refs.lit.ts,sha256=9ZTHP6IuXClpHX3wpRoQYowHWac19H-UfgO8iQFgrFY,923
|
|
1148
1150
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-assets/integ.multi-assets.ts,sha256=JFM0G2TQ6VKoSpQSwOpvp6gKRI9YCkLH7Cy2RSEYRQs,803
|
|
1149
1151
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/README.md,sha256=4EEQtncu13inobBbdyZOHP4eYOBlcMRj0psaKsFCKCM,26579
|
|
1150
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-big-response.ts,sha256=
|
|
1152
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-big-response.ts,sha256=mAa1EQ6rWR_HZBNOMnhouneZdVX1HBvRCTClpJrdxeI,3407
|
|
1151
1153
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cloudfront.ts,sha256=W9f12El_8J9rf8pbbUtDlTAevyOQoZAIlmy0r76tLpI,1842
|
|
1152
1154
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-nested-stack-source.ts,sha256=bbiS-CfQNfifpRMZSJxndiGFHOqNDOgb59xmZ0KZwMU,2406
|
|
1153
1155
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-source.ts,sha256=rbKJcMmMw5HMvRJIHytWpqeZH8Lp55kTtAQO1xf-Onk,1643
|
|
1154
1156
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-ssm-source.ts,sha256=YGWEmN80ScMvVUy2x3dVSnIoaU_emb2dp0GMkrA83A4,3169
|
|
1155
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-data.ts,sha256=
|
|
1157
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-data.ts,sha256=TK1WpIeIZeODF5Wo1VhgtD6kRKpu2h7Sqs6XuvknACE,5224
|
|
1156
1158
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-deployed-bucket.ts,sha256=YZFXyyGJWyxGVZSUOduoKZHBtfNAyaKEqOFUPdjcnqY,1658
|
|
1157
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-large-file.ts,sha256=
|
|
1159
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-large-file.ts,sha256=bdERyqOdUhHEM_HgbKvNZyMOwEyEXbvigQtC6Y13bmI,9256
|
|
1158
1160
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-loggroup.ts,sha256=U7Yne11_oFBj0MakeTg3HBPSdT7wFSqCBTwbOqrdqPo,1574
|
|
1159
1161
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-efs.ts,sha256=WwFIBt9BqOKOvwJotMxTmbWQ3qem0vGgFYYOCsvTLNM,2633
|
|
1160
1162
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-empty.ts,sha256=_8S5PvnwwPy3aRamhAC1z5N6U4tpimclUPYFGVnEaLM,2362
|
|
@@ -1401,7 +1403,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.prop-inje
|
|
|
1401
1403
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.removal-policies.ts,sha256=b6ePZkMn5IyTizPV2VnxSR2X8RP2Obh8i7P1b7-S68o,1541
|
|
1402
1404
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.stack.ts,sha256=xf24TLT1li9lQtn7LMTd0hPfiWPpBym8OMYD4cTiw-o,666
|
|
1403
1405
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.token-aware-stringify-logical-ids.ts,sha256=Nb1IrrTzMyuhwAmcZyHLVmLjpC0qM2JrTnw392f3C64,1122
|
|
1404
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/README.md,sha256=
|
|
1406
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/README.md,sha256=2k0u1AWNRcC9sTWbSAlp4U9Ux6REDvEZCkpGI0kKThE,47239
|
|
1405
1407
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.aws-custom-resource-assumeRole.ts,sha256=McBeN37e6mNkmcHPb5kgdsTRPMY9pxzH8SwHmdDaRHA,1436
|
|
1406
1408
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.aws-custom-resource-athena.ts,sha256=sv7NmgJ-7rzxZIqVJdQXdAiuFLaa3Te_c3z-VwJ_lQo,5120
|
|
1407
1409
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.aws-custom-resource-cloudwatch.ts,sha256=vunS7eZnfupDnwKACQVccX1WxhwoATaNOxYdG20lWgc,1393
|
|
@@ -1419,6 +1421,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/int
|
|
|
1419
1421
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.custom-resource-config-logRetention.ts,sha256=c1yoH2d8ZLpZ9jaL3koM3pyhrYU3RDUqGxc_R2LTZ1Y,896
|
|
1420
1422
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.custom-resource-config-removalPolicy.ts,sha256=sGAZF5yx_ugeGrqCldd3Cr0nN9v23b_5j3hswgnsYQo,917
|
|
1421
1423
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.custom-resource-config-undefined-log.ts,sha256=-iWtDpya4WyL02t4GTBRZKT3jWrvXXNNfifPMAfaEvo,940
|
|
1424
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.external-id.ts,sha256=d1wLd-Wovzy4bJ9r6a-Jxgs46WbJp748RxXnLwQtmGc,2623
|
|
1422
1425
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.invoke-function-payload.ts,sha256=s9pxAQTzw7bl_qDX_vwC0nrbgI8uOk-3H7Ny49hS5As,1345
|
|
1423
1426
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider-no-echo.ts,sha256=vS4E0VbqE6h97GlCJKUv7RBEE5_GVVe3sQxNUYjXBbU,1930
|
|
1424
1427
|
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
|
|
@@ -1456,8 +1459,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipe
|
|
|
1456
1459
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/region-info/README.md,sha256=vewWkV3ds9o9iyyYaJBNTkaKJ2XA6K2yF17tAxUnujg,2718
|
|
1457
1460
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/README.md,sha256=hYIx7DbG_7p4LYLUfxDwgIQjw9UNdz1GLrqDe8_Dbko,4132
|
|
1458
1461
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/integ.triggers.ts,sha256=4OHplMoBOgHGkktAzoU-TuNmJQS5wGAUvBfj5bGSe_Y,2807
|
|
1459
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1460
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1461
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1462
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1463
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1462
|
+
konokenj_cdk_api_mcp_server-0.56.0.dist-info/METADATA,sha256=j7bMS9QOlxQWaUMJUso-qcFJZtvS2kjqshswrI0HR5o,2646
|
|
1463
|
+
konokenj_cdk_api_mcp_server-0.56.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
1464
|
+
konokenj_cdk_api_mcp_server-0.56.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
|
|
1465
|
+
konokenj_cdk_api_mcp_server-0.56.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
|
|
1466
|
+
konokenj_cdk_api_mcp_server-0.56.0.dist-info/RECORD,,
|
{konokenj_cdk_api_mcp_server-0.54.0.dist-info → konokenj_cdk_api_mcp_server-0.56.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|