konokenj.cdk-api-mcp-server 0.38.0__py3-none-any.whl → 0.39.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.

@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2025-present Kenji Kono <konoken@amazon.co.jp>
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
- __version__ = "0.38.0"
4
+ __version__ = "0.39.0"
@@ -150,6 +150,68 @@ const barStack = new BarStack(app, 'BarStack', {
150
150
 
151
151
  Note: You can create an instance of the `TableV2` construct with as many `replicas` as needed as long as there is only one replica per region. After table creation you can add or remove `replicas`, but you can only add or remove a single replica in each update.
152
152
 
153
+ ## Multi-Region Strong Consistency (MRSC)
154
+
155
+ By default, DynamoDB global tables provide eventual consistency across regions. For applications requiring strong consistency across regions, you can configure Multi-Region Strong Consistency (MRSC) using the `multiRegionConsistency` property.
156
+
157
+ MRSC global tables can be configured in two ways:
158
+ * **Three replicas**: Deploy your table across three regions within the same region set
159
+ * **Two replicas + one witness**: Deploy your table across two regions with a witness region for consensus
160
+
161
+ ### Region Sets
162
+
163
+ MRSC global tables must be deployed within the same region set. The supported region sets are:
164
+
165
+ * **US Region set**: `us-east-1`, `us-east-2`, `us-west-2`
166
+ * **EU Region set**: `eu-west-1`, `eu-west-2`, `eu-west-3`, `eu-central-1`
167
+ * **AP Region set**: `ap-northeast-1`, `ap-northeast-2`, `ap-northeast-3`
168
+
169
+ ### Three Replicas Configuration
170
+
171
+ ```ts
172
+ import * as cdk from 'aws-cdk-lib';
173
+
174
+ const app = new cdk.App();
175
+ const stack = new cdk.Stack(app, 'Stack', { env: { region: 'us-west-2' } });
176
+
177
+ const mrscTable = new dynamodb.TableV2(stack, 'MRSCTable', {
178
+ partitionKey: { name: 'pk', type: dynamodb.AttributeType.STRING },
179
+ multiRegionConsistency: dynamodb.MultiRegionConsistency.STRONG,
180
+ replicas: [
181
+ { region: 'us-east-1' },
182
+ { region: 'us-east-2' },
183
+ ],
184
+ });
185
+ ```
186
+
187
+ ### Two Replicas + Witness Configuration
188
+
189
+ ```ts
190
+ import * as cdk from 'aws-cdk-lib';
191
+
192
+ const app = new cdk.App();
193
+ const stack = new cdk.Stack(app, 'Stack', { env: { region: 'us-west-2' } });
194
+
195
+ const mrscTable = new dynamodb.TableV2(stack, 'MRSCTable', {
196
+ partitionKey: { name: 'pk', type: dynamodb.AttributeType.STRING },
197
+ multiRegionConsistency: dynamodb.MultiRegionConsistency.STRONG,
198
+ replicas: [
199
+ { region: 'us-east-1' },
200
+ ],
201
+ witnessRegion: 'us-east-2',
202
+ });
203
+ ```
204
+
205
+ ### Important Considerations
206
+
207
+ * **Witness regions** can only be used with `MultiRegionConsistency.STRONG`. Attempting to specify a witness region with eventual consistency will result in a validation error.
208
+ * **Region validation**: All regions (primary, replicas, and witness) must be within the same region set.
209
+ * **Replica count**: When using a witness region, you must have exactly 2 replicas (including the primary). Without a witness region, you must have exactly 3 replicas.
210
+ * **Performance**: MRSC provides strong consistency but may have higher latency compared to eventual consistency.
211
+
212
+ Further reading:
213
+ https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes-mrsc
214
+
153
215
  ## Billing
154
216
 
155
217
  The `TableV2` construct can be configured with on-demand or provisioned billing:
@@ -0,0 +1,31 @@
1
+ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
2
+ import { App, RemovalPolicy, Stack, StackProps } from 'aws-cdk-lib';
3
+ import { AttributeType, MultiRegionConsistency, TableV2 } from 'aws-cdk-lib/aws-dynamodb';
4
+ import { Construct } from 'constructs';
5
+
6
+ class TestStack extends Stack {
7
+ public constructor(scope: Construct, id: string, props: StackProps) {
8
+ super(scope, id, props);
9
+
10
+ new TableV2(this, 'GlobalTable', {
11
+ tableName: 'my-global-table',
12
+ partitionKey: { name: 'pk', type: AttributeType.STRING },
13
+ sortKey: { name: 'sk', type: AttributeType.NUMBER },
14
+ removalPolicy: RemovalPolicy.DESTROY,
15
+ multiRegionConsistency: MultiRegionConsistency.STRONG,
16
+ witnessRegion: 'us-west-2',
17
+ replicas: [
18
+ {
19
+ region: 'us-east-2',
20
+ },
21
+ ],
22
+ });
23
+ }
24
+ }
25
+
26
+ const app = new App();
27
+ new IntegTest(app, 'aws-cdk-global-table-integ', {
28
+ testCases: [new TestStack(app, 'aws-cdk-global-table-mrsc', { env: { region: 'us-east-1' } })],
29
+ regions: ['us-east-1'],
30
+ stackUpdateWorkflow: false,
31
+ });
@@ -1104,6 +1104,18 @@ new ec2.InterfaceVpcEndpoint(this, 'VPC Endpoint', {
1104
1104
  });
1105
1105
  ```
1106
1106
 
1107
+ For cross-region VPC endpoints, specify the `serviceRegion` parameter:
1108
+
1109
+ ```ts
1110
+ declare const vpc: ec2.Vpc;
1111
+
1112
+ new ec2.InterfaceVpcEndpoint(this, 'CrossRegionEndpoint', {
1113
+ vpc,
1114
+ service: new ec2.InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-123456', 443),
1115
+ serviceRegion: 'us-east-1', // Same region as the service endpoint above
1116
+ });
1117
+ ```
1118
+
1107
1119
  #### Security groups for interface VPC endpoints
1108
1120
 
1109
1121
  By default, interface VPC endpoints create a new security group and all traffic to the endpoint from within the VPC will be automatically allowed.
@@ -55,6 +55,12 @@ class VpcEndpointStack extends cdk.Stack {
55
55
  ipAddressType: ec2.VpcEndpointIpAddressType.IPV4,
56
56
  dnsRecordIpType: ec2.VpcEndpointDnsRecordIpType.IPV4,
57
57
  });
58
+
59
+ // Add a cross-region interface endpoint
60
+ vpc.addInterfaceEndpoint('CrossRegionEndpoint', {
61
+ service: new ec2.InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-123456', 443),
62
+ serviceRegion: 'us-east-1', // Cross-region service
63
+ });
58
64
  }
59
65
  }
60
66
 
@@ -2076,40 +2076,6 @@ Amazon ECS supports native blue/green deployments that allow you to deploy new v
2076
2076
 
2077
2077
  [Amazon ECS blue/green deployments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-blue-green.html)
2078
2078
 
2079
- ### Using Fargate L2 constructs for Blue/Green Feature
2080
-
2081
- ```ts
2082
- import * as lambda from 'aws-cdk-lib/aws-lambda';
2083
-
2084
- declare const cluster: ecs.Cluster;
2085
- declare const taskDefinition: ecs.TaskDefinition;
2086
- declare const lambdaHook: lambda.Function;
2087
- declare const blueTargetGroup: elbv2.ApplicationTargetGroup;
2088
- declare const greenTargetGroup: elbv2.ApplicationTargetGroup;
2089
- declare const prodListenerRule: elbv2.ApplicationListenerRule;
2090
-
2091
- const service = new ecs.FargateService(this, 'Service', {
2092
- cluster,
2093
- taskDefinition,
2094
- deploymentStrategy: ecs.DeploymentStrategy.BLUE_GREEN,
2095
- });
2096
-
2097
- service.addLifecycleHook(new ecs.DeploymentLifecycleLambdaTarget(lambdaHook, 'PreScaleHook', {
2098
- lifecycleStages: [ecs.DeploymentLifecycleStage.PRE_SCALE_UP],
2099
- }));
2100
-
2101
- const target = service.loadBalancerTarget({
2102
- containerName: 'nginx',
2103
- containerPort: 80,
2104
- protocol: ecs.Protocol.TCP,
2105
- }, new ecs.AlternateTarget('AlternateTarget', {
2106
- alternateTargetGroup: greenTargetGroup,
2107
- productionListener: ecs.ListenerRuleConfiguration.applicationListenerRule(prodListenerRule),
2108
- }));
2109
-
2110
- target.attachToApplicationTargetGroup(blueTargetGroup);
2111
- ```
2112
-
2113
2079
  ### Using Escape Hatches for Blue/Green Features
2114
2080
 
2115
2081
  The new blue/green deployment features are added to CloudFormation but not yet available in the CDK L2 constructs, you can use escape hatches to access them through the L1 (CfnService) construct.
@@ -1,5 +1,6 @@
1
1
  import * as ec2 from 'aws-cdk-lib/aws-ec2';
2
2
  import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
3
+ import * as iam from 'aws-cdk-lib/aws-iam';
3
4
  import * as lambda from 'aws-cdk-lib/aws-lambda';
4
5
  import * as cdk from 'aws-cdk-lib';
5
6
  import * as ecs from 'aws-cdk-lib/aws-ecs';
@@ -88,6 +89,45 @@ const prodListenerRule = new elbv2.ApplicationListenerRule(stack, 'ALBProduction
88
89
  ]),
89
90
  });
90
91
 
92
+ // Create granular IAM roles
93
+ const ecsTaskExecutionRole = new iam.Role(stack, 'EcsTaskExecutionRole', {
94
+ assumedBy: new iam.ServicePrincipal('ecs-tasks.amazonaws.com'),
95
+ managedPolicies: [
96
+ iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AmazonECSTaskExecutionRolePolicy'),
97
+ ],
98
+ });
99
+
100
+ // Create Blue/Green deployment service role
101
+ const ecsServiceRole = new iam.Role(stack, 'ServiceRole', {
102
+ assumedBy: new iam.CompositePrincipal(
103
+ new iam.ServicePrincipal('ecs.amazonaws.com'),
104
+ ),
105
+ managedPolicies: [
106
+ iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AmazonEC2ContainerServiceRole'),
107
+ ],
108
+ inlinePolicies: {
109
+ LambdaInvokePolicy: new iam.PolicyDocument({
110
+ statements: [
111
+ new iam.PolicyStatement({
112
+ actions: ['lambda:InvokeFunction'],
113
+ resources: ['*'],
114
+ }),
115
+ ],
116
+ }),
117
+ ELBPolicy: new iam.PolicyDocument({
118
+ statements: [
119
+ new iam.PolicyStatement({
120
+ actions: [
121
+ 'elasticloadbalancing:ModifyRule',
122
+ 'elasticloadbalancing:ModifyListener',
123
+ ],
124
+ resources: [prodListenerRule.listenerRuleArn],
125
+ }),
126
+ ],
127
+ }),
128
+ },
129
+ });
130
+
91
131
  // Create Lambda hook
92
132
  const lambdaHook = new lambda.Function(stack, 'LambdaHook', {
93
133
  handler: 'index.handler',
@@ -98,10 +138,13 @@ const lambdaHook = new lambda.Function(stack, 'LambdaHook', {
98
138
  };`),
99
139
  });
100
140
 
141
+ lambdaHook.grantInvoke(ecsServiceRole);
142
+
101
143
  // Create task definition
102
144
  const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef', {
103
145
  memoryLimitMiB: 512,
104
146
  cpu: 256,
147
+ executionRole: ecsTaskExecutionRole,
105
148
  });
106
149
 
107
150
  // Add container to task definition
@@ -120,23 +163,39 @@ const service = new ecs.FargateService(stack, 'Service', {
120
163
  cluster,
121
164
  taskDefinition,
122
165
  securityGroups: [ecsSecurityGroup],
123
- deploymentStrategy: ecs.DeploymentStrategy.BLUE_GREEN,
124
166
  });
125
167
 
126
- service.addLifecycleHook(new ecs.DeploymentLifecycleLambdaTarget(lambdaHook, 'PreScaleUp', {
127
- lifecycleStages: [ecs.DeploymentLifecycleStage.PRE_SCALE_UP],
128
- }));
168
+ service.attachToApplicationTargetGroup(blueTargetGroup);
129
169
 
130
- const target = service.loadBalancerTarget({
131
- containerName: 'nginx',
132
- containerPort: 80,
133
- protocol: ecs.Protocol.TCP,
134
- }, new ecs.AlternateTarget('LBAlternateOptions', {
135
- alternateTargetGroup: greenTargetGroup,
136
- productionListener: ecs.ListenerRuleConfiguration.applicationListenerRule(prodListenerRule),
137
- }));
138
-
139
- target.attachToApplicationTargetGroup(blueTargetGroup);
170
+ // Use escape hatching to set B/G deployment properties
171
+ const cfnService = service.node.defaultChild as ecs.CfnService;
172
+ cfnService.addPropertyOverride('DeploymentController', {
173
+ Type: 'ECS',
174
+ });
175
+
176
+ cfnService.addPropertyOverride('DeploymentConfiguration', {
177
+ DeploymentCircuitBreaker: {
178
+ Enable: false,
179
+ Rollback: false,
180
+ },
181
+ MaximumPercent: 200,
182
+ MinimumHealthyPercent: 100,
183
+ Strategy: 'BLUE_GREEN',
184
+ BakeTimeInMinutes: 0,
185
+ LifecycleHooks: [{
186
+ HookTargetArn: lambdaHook.functionArn,
187
+ RoleArn: ecsServiceRole.roleArn,
188
+ LifecycleStages: ['POST_TEST_TRAFFIC_SHIFT'],
189
+ }],
190
+ });
191
+
192
+ cfnService.addPropertyOverride('LoadBalancers.0', {
193
+ AdvancedConfiguration: {
194
+ AlternateTargetGroupArn: greenTargetGroup.targetGroupArn,
195
+ RoleArn: ecsServiceRole.roleArn,
196
+ ProductionListenerRule: prodListenerRule.listenerRuleArn,
197
+ },
198
+ });
140
199
 
141
200
  // Create integration test
142
201
  new integ.IntegTest(app, 'aws-ecs-blue-green', {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: konokenj.cdk-api-mcp-server
3
- Version: 0.38.0
3
+ Version: 0.39.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
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/konokenj.cdk-api-mcp-server.svg)](https://pypi.org/project/konokenj.cdk-api-mcp-server)
27
27
 
28
28
  <!-- DEP-VERSIONS-START -->
29
- [![aws-cdk](https://img.shields.io/badge/aws%20cdk-v2.209.0-blue.svg)](https://github.com/konokenj/cdk-api-mcp-server/blob/main/current-versions/aws-cdk.txt)
29
+ [![aws-cdk](https://img.shields.io/badge/aws%20cdk-v2.209.1-blue.svg)](https://github.com/konokenj/cdk-api-mcp-server/blob/main/current-versions/aws-cdk.txt)
30
30
  <!-- DEP-VERSIONS-END -->
31
31
 
32
32
  ---
@@ -1,4 +1,4 @@
1
- cdk_api_mcp_server/__about__.py,sha256=PaC5GI0T5zIrYJ329o19JXY5uatxucyJaIonWWbVICo,129
1
+ cdk_api_mcp_server/__about__.py,sha256=snOxFW17x3vI04DkAf9K0CMSTQkV7JMmTJymCZ9QcfA,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
@@ -463,7 +463,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.clus
463
463
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.cluster-rotation.lit.ts,sha256=i4vSXs0eQ7-1sLtL0GEXIW0FYdVyKpVX8Nvz_N85I9M,1022
464
464
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.cluster-storage-type.ts,sha256=lY6eDVhKPOLF06uUT_jl-ao-mwllhXiJalS1GRqGEHY,888
465
465
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.cluster.ts,sha256=9CI-3GXkVKVedg642mBMv5fBrqeSXRLfsvoftA1OM7s,1683
466
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/README.md,sha256=iz2uKxLEX4Cht7MrXJ-GmTM67qLUBASua3Y5-dweUgY,35822
466
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/README.md,sha256=Sn21AtYvRZoAyOxLqhOQA5G3p82q-jlcHNwWrmMRRXE,38376
467
467
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/TABLE_V1_API.md,sha256=dmKwhQAS6tPwAeL4_8zeI8T51JfMOKmgjEq8Wa560Eg,11568
468
468
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/index.md,sha256=8s_S7B1K2Gwh3DlcQ96Sfa1_ttS_OsuIC2F2CR35-kA,2292
469
469
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.autoscaling.lit.ts,sha256=bWjJR6OD8ieTIU0KJt2okeX_D2DmXzLwl-j2HEf09KE,891
@@ -489,9 +489,10 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.g
489
489
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.import-source.ts,sha256=jzUs_T6paLdW2c5zD5iZB9BmIq8Vsoll3TnuGF0nyeU,3540
490
490
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-skip-replica-deletion.ts,sha256=ESQs8J1jdo-lh7cAYPmoswEN0SwRqpDGZEA5-SvQaCY,1039
491
491
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-global.ts,sha256=i2bvJ7p8g_iBUGhJQpRaebWvSYjLOX0rswT97K-AhMo,2906
492
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-mrsc.ts,sha256=C0yWtgzvoaxu9ZEv-7mJ6IEa3K6HIOZyOTWIEAv0Rbk,1054
492
493
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-replica.ts,sha256=ZmN5tCVGuefUKdewkwcMC_vd1t8mYj0xowKTaAFq3P4,1613
493
494
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-with-customized-role.ts,sha256=CDb1V4J2dg5-JCkFHBtF8wmMOoLaQ-6RDpZT9HnnTBg,2048
494
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md,sha256=CuILRxZsBOe93RLbc2Txqw_Tqke3M2UVlOWbszgKdR8,101908
495
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md,sha256=pZuBTpKQ1h0qeVBxDwTMhtLG2JXFlgAPaGw8jVi3LLQ,102267
495
496
  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
496
497
  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
497
498
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.bastion-host-userdatacausesreplacement.ts,sha256=5Vv0q_dk3vtXkam1V9tvu6HcoIv-cUK9pwIHSZvX0ro,1377
@@ -542,7 +543,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-du
542
543
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-dual-stack.ts,sha256=dWkwoc6zi1N1CiXddbUJWo_rZgHLygHUfpfwtdNaRVs,882
543
544
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-egress-only-igw-feature-flag.ts,sha256=o5MLAj_Em_a9R8M1rnTK2_dkObDs621rzRJVgBQ-VJ4,1901
544
545
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-endpoint-service.ts,sha256=KyG-ItXc5YLYAWd3iCKfIEuqvh6-9VYW-8st0XK4ipw,957
545
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-endpoint.lit.ts,sha256=4bHf5rkq3qCbodtgeABhOnUnADcymFKww-mnLckHZkE,2143
546
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-endpoint.lit.ts,sha256=NENbXuesZ2Gg73iqsg1_jU7KMBof-0ZtcqVP1K0gago,2414
546
547
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-filter-subnets.ts,sha256=gLps2a21fNLRFPn3I-i1YS8NKFgzlwVIxd6K9_7X_fo,1232
547
548
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-flow-logs-customformat.ts,sha256=2ti00M0XfQSG20CVPKg4opMRjy2EZb0gAgcMQYR7GiI,2721
548
549
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-flow-logs-from-transit-gateway.ts,sha256=pI_dHdAMrN6RZJkG2xy2Bzmh6pdUNbNPxJRsIyOA2uM,1052
@@ -573,13 +574,13 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ
573
574
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-tarball.ts,sha256=pSbNMWSorKT7lUTXxnzkxpcRumKPYWUmcbqRSwwWOgI,937
574
575
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.nested-stacks-docker.ts,sha256=4hDobse34oIG2r0mjbYXzsEXXLEqv077jUh3pjoYmcc,981
575
576
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/CONTRIBUTING.md,sha256=TlNwpeYemLdYq4jdo24v7nwDIj3RmZ7u2j_LCQiQR74,2634
576
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md,sha256=VsIyyRdjrTQY1lkwA0ETq9g77PAGvjarsvuqPQoDtqw,77861
577
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md,sha256=d7VyFe8b29capdMf8zgAMHSkmdBxgYBpUdoDysRrKUM,76745
577
578
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.add-docker-label.ts,sha256=avHktilCBVPuVelquVaY2ylRkSLraWn7vUIIIFPsbyI,1375
578
579
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.add-environment-variable.ts,sha256=sIdwJl7LYh5wlv_EDLPSGCavC2OF6W8IBwZ_hMOnCfw,1143
579
580
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.app-mesh-proxy-config.ts,sha256=vWr45An7W7lgW9Ws_yPFhapf9DXyJP-D0fhTNg5fZC0,1717
580
581
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.availability-zone-rebalancing.ts,sha256=2rO7qkkCZx48az2nZ4hoQ4iSsWY2UJtPyaOgCOonlgE,1142
581
582
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.awslogs-driver.ts,sha256=js3ZnGoPKDVQl5NhZqF-acS5BTNeRkKWBjHUYVJkV0Q,1322
582
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.blue-green-deployment-strategy.ts,sha256=XUZUZKQoMD-g-O_4OwZ8odyeTw97VdlWCHqMNsVVsPk,4197
583
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.blue-green-deployment-strategy.ts,sha256=A-zek2dkUOB3yoEOr3rN9FRWYgaA7W-Ww0nPFHlARko,5802
583
584
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.bottlerocket.ts,sha256=pio8vLSNlFeokyocKepVUq1ZJXhhrC7iH2ZVJiJxatg,728
584
585
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.capacity-provider-managed-draining.ts,sha256=pfy9F4i_-hgJYzN48HTEx0KOKLmKuMFSqtaVZb_V7Z4,2028
585
586
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.capacity-provider.ts,sha256=k02McTBE0sFY8A2rxK6HSen6JjCVKpTD1Om9JBunfR0,1635
@@ -1388,8 +1389,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipe
1388
1389
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/region-info/README.md,sha256=vewWkV3ds9o9iyyYaJBNTkaKJ2XA6K2yF17tAxUnujg,2718
1389
1390
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/README.md,sha256=hYIx7DbG_7p4LYLUfxDwgIQjw9UNdz1GLrqDe8_Dbko,4132
1390
1391
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/integ.triggers.ts,sha256=4OHplMoBOgHGkktAzoU-TuNmJQS5wGAUvBfj5bGSe_Y,2807
1391
- konokenj_cdk_api_mcp_server-0.38.0.dist-info/METADATA,sha256=QOGN5WETJuVtjC0Wuh-TjybzgqCiJbHOjCVGdOXmrYU,2646
1392
- konokenj_cdk_api_mcp_server-0.38.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1393
- konokenj_cdk_api_mcp_server-0.38.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
1394
- konokenj_cdk_api_mcp_server-0.38.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
1395
- konokenj_cdk_api_mcp_server-0.38.0.dist-info/RECORD,,
1392
+ konokenj_cdk_api_mcp_server-0.39.0.dist-info/METADATA,sha256=Fzd_KmBNmzScTUqQuzJWhV1TWNEFCU-V0T4jmkkryhE,2646
1393
+ konokenj_cdk_api_mcp_server-0.39.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1394
+ konokenj_cdk_api_mcp_server-0.39.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
1395
+ konokenj_cdk_api_mcp_server-0.39.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
1396
+ konokenj_cdk_api_mcp_server-0.39.0.dist-info/RECORD,,