konokenj.cdk-api-mcp-server 0.31.0__py3-none-any.whl → 0.32.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.31.0"
4
+ __version__ = "0.32.0"
@@ -53,6 +53,39 @@ const metric = new cloudwatch.Metric({
53
53
  });
54
54
  ```
55
55
 
56
+ ### Metric ID
57
+
58
+ Metrics can be assigned a unique identifier using the `id` property. This is
59
+ useful when referencing metrics in math expressions:
60
+
61
+ ```ts
62
+ const metric = new cloudwatch.Metric({
63
+ namespace: 'AWS/Lambda',
64
+ metricName: 'Invocations',
65
+ dimensionsMap: {
66
+ FunctionName: 'MyFunction'
67
+ },
68
+ id: 'invocations'
69
+ });
70
+ ```
71
+
72
+ The `id` must start with a lowercase letter and can only contain letters, numbers, and underscores.
73
+
74
+ ### Metric Visible
75
+ Metrics can be hidden from dashboard graphs using the `visible` property:
76
+
77
+ ```ts
78
+ declare const fn: lambda.Function;
79
+
80
+ const metric = fn.metricErrors({
81
+ visible: false
82
+ });
83
+ ```
84
+
85
+ By default, all metrics are visible (`visible: true`). Setting `visible: false`
86
+ hides the metric from dashboard visualizations while still allowing it to be
87
+ used in math expressions given that it has an `id` set to it.
88
+
56
89
  ### Metric Math
57
90
 
58
91
  Math expressions are supported by instantiating the `MathExpression` class.
@@ -86,6 +119,31 @@ const problemPercentage = new cloudwatch.MathExpression({
86
119
  });
87
120
  ```
88
121
 
122
+ ### Metric ID Usage in Math Expressions
123
+
124
+ When metrics have custom IDs, you can reference them directly in math expressions.
125
+
126
+ ```ts
127
+ declare const fn: lambda.Function;
128
+
129
+ const invocations = fn.metricInvocations({
130
+ id: 'lambda_invocations',
131
+ });
132
+
133
+ const errors = fn.metricErrors({
134
+ id: 'lambda_errors',
135
+ });
136
+ ```
137
+
138
+ When metrics have predefined IDs, they can be referenced directly in math expressions by their ID without requiring the `usingMetrics` property.
139
+
140
+ ```ts
141
+ const errorRate = new cloudwatch.MathExpression({
142
+ expression: 'lambda_errors / lambda_invocations * 100',
143
+ label: 'Error Rate (%)',
144
+ });
145
+ ```
146
+
89
147
  ### Search Expressions
90
148
 
91
149
  Math expressions also support search expressions. For example, the following
@@ -0,0 +1,70 @@
1
+ import { App, Stack, StackProps } from 'aws-cdk-lib';
2
+ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
3
+ import { Dashboard, Metric, GraphWidget, MathExpression } from 'aws-cdk-lib/aws-cloudwatch';
4
+
5
+ class DashboardWithMetricIdAndVisibleIntegrationTest extends Stack {
6
+ constructor(scope: App, id: string, props?: StackProps) {
7
+ super(scope, id, props);
8
+
9
+ const dashboard = new Dashboard(this, 'Dash');
10
+
11
+ const lambdaInvocations = new Metric({
12
+ namespace: 'AWS/Lambda',
13
+ metricName: 'Invocations',
14
+ dimensionsMap: { FunctionName: 'test-function' },
15
+ label: 'Lambda Invocations',
16
+ id: 'lambda_invocations',
17
+ visible: true,
18
+ });
19
+
20
+ const lambdaErrors = new Metric({
21
+ namespace: 'AWS/Lambda',
22
+ metricName: 'Errors',
23
+ dimensionsMap: { FunctionName: 'test-function' },
24
+ label: 'Lambda Errors (Hidden for calculation)',
25
+ id: 'lambda_errors',
26
+ visible: false,
27
+ });
28
+
29
+ const lambdaDuration = new Metric({
30
+ namespace: 'AWS/Lambda',
31
+ metricName: 'Duration',
32
+ dimensionsMap: { FunctionName: 'test-function' },
33
+ label: 'Lambda Duration',
34
+ id: 'lambda_duration',
35
+ visible: true,
36
+ });
37
+
38
+ const lambdaThrottles = new Metric({
39
+ namespace: 'AWS/Lambda',
40
+ metricName: 'Throttles',
41
+ dimensionsMap: { FunctionName: 'test-function' },
42
+ label: 'Lambda Throttles (Hidden)',
43
+ id: 'lambda_throttles',
44
+ visible: false,
45
+ });
46
+
47
+ const errorRate = new MathExpression({
48
+ expression: 'lambda_errors / lambda_invocations * 100',
49
+ label: 'Error Rate (%)',
50
+ });
51
+
52
+ const widget = new GraphWidget({
53
+ title: 'Lambda Metrics with ID and Visible Properties',
54
+ left: [
55
+ lambdaInvocations,
56
+ lambdaErrors,
57
+ lambdaDuration,
58
+ lambdaThrottles,
59
+ errorRate,
60
+ ],
61
+ });
62
+
63
+ dashboard.addWidgets(widget);
64
+ }
65
+ }
66
+
67
+ const app = new App();
68
+ new IntegTest(app, 'cdk-integ-dashboard-with-metric-id-and-visible', {
69
+ testCases: [new DashboardWithMetricIdAndVisibleIntegrationTest(app, 'DashboardWithMetricIdAndVisibleIntegrationTest')],
70
+ });
@@ -46,6 +46,10 @@ const asset8 = new assets.DockerImageAsset(stack, 'DockerImage8', {
46
46
  cacheDisabled: true,
47
47
  });
48
48
 
49
+ const asset9 = new assets.DockerImageAsset(stack, 'DockerImage9', {
50
+ directory: path.join(__dirname, 'demo-image-dockerignore'),
51
+ });
52
+
49
53
  const user = new iam.User(stack, 'MyUser');
50
54
  asset.repository.grantPull(user);
51
55
  asset2.repository.grantPull(user);
@@ -55,6 +59,7 @@ asset5.repository.grantPull(user);
55
59
  asset6.repository.grantPull(user);
56
60
  asset7.repository.grantPull(user);
57
61
  asset8.repository.grantPull(user);
62
+ asset9.repository.grantPull(user);
58
63
 
59
64
  new cdk.CfnOutput(stack, 'ImageUri', { value: asset.imageUri });
60
65
  new cdk.CfnOutput(stack, 'ImageUri2', { value: asset2.imageUri });
@@ -64,5 +69,6 @@ new cdk.CfnOutput(stack, 'ImageUri5', { value: asset5.imageUri });
64
69
  new cdk.CfnOutput(stack, 'ImageUri6', { value: asset6.imageUri });
65
70
  new cdk.CfnOutput(stack, 'ImageUri7', { value: asset7.imageUri });
66
71
  new cdk.CfnOutput(stack, 'ImageUri8', { value: asset8.imageUri });
72
+ new cdk.CfnOutput(stack, 'ImageUri9', { value: asset9.imageUri });
67
73
 
68
74
  app.synth();
@@ -0,0 +1,50 @@
1
+ /**
2
+ * This integration test tests the case of a customer setting a permissions boundary using a custom aspect,
3
+ * then trying to override at a more specific level using the PermissionsBoundary.of() API.
4
+ *
5
+ * Overriding should work.
6
+ */
7
+ import { App, Stack, IAspect, Aspects } from 'aws-cdk-lib';
8
+ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
9
+ import { CfnRole, ManagedPolicy, PermissionsBoundary, Role, ServicePrincipal } from 'aws-cdk-lib/aws-iam';
10
+ import { IConstruct } from 'constructs';
11
+
12
+ class CustomAspect implements IAspect {
13
+ public visit(node: IConstruct): void {
14
+ if (node instanceof CfnRole) {
15
+ node.addPropertyOverride('PermissionsBoundary', 'arn:aws:iam::aws:policy/ReadOnlyAccess');
16
+ }
17
+ }
18
+ }
19
+
20
+ const app = new App({
21
+ postCliContext: {
22
+ // Force the intended behavior, from before we found this bug
23
+ '@aws-cdk/core:aspectPrioritiesMutating': false,
24
+ },
25
+ });
26
+
27
+ const stack = new Stack(app, 'integ-permissions-boundary', {
28
+ env: {
29
+ account: process.env.CDK_INTEG_ACCOUNT ?? process.env.CDK_DEFAULT_ACCOUNT,
30
+ region: process.env.CDK_INTEG_REGION ?? process.env.CDK_DEFAULT_REGION,
31
+ },
32
+ });
33
+
34
+ Aspects.of(stack).add(new CustomAspect());
35
+
36
+ new Role(stack, 'NormalRole', {
37
+ assumedBy: new ServicePrincipal('sqs.amazonaws.com'),
38
+ });
39
+
40
+ const powerRole = new Role(stack, 'PowerRole', {
41
+ assumedBy: new ServicePrincipal('sqs.amazonaws.com'),
42
+ });
43
+
44
+ PermissionsBoundary.of(powerRole).apply(ManagedPolicy.fromAwsManagedPolicyName('AdministratorAccess'));
45
+
46
+ new IntegTest(app, 'integ-test', {
47
+ testCases: [stack],
48
+ });
49
+
50
+ app.synth();
@@ -1605,6 +1605,25 @@ const dbFromLookup = rds.DatabaseInstance.fromLookup(this, 'dbFromLookup', {
1605
1605
  dbFromLookup.grantConnect(myUserRole, 'my-user-id');
1606
1606
  ```
1607
1607
 
1608
+ ## Importing existing DatabaseCluster
1609
+
1610
+ ### Lookup DatabaseCluster by clusterIdentifier
1611
+
1612
+ You can lookup an existing DatabaseCluster by its clusterIdentifier using `DatabaseCluster.fromLookup()`. This method returns an `IDatabaseCluster`.
1613
+
1614
+ Here's how `DatabaseCluster.fromLookup()` can be used:
1615
+
1616
+ ```ts
1617
+ declare const myUserRole: iam.Role;
1618
+
1619
+ const clusterFromLookup = rds.DatabaseCluster.fromLookup(this, 'ClusterFromLookup', {
1620
+ clusterIdentifier: 'my-cluster-id',
1621
+ });
1622
+
1623
+ // Grant a connection
1624
+ clusterFromLookup.grantConnect(myUserRole, 'my-user-id');
1625
+ ```
1626
+
1608
1627
  ## Limitless Database Cluster
1609
1628
 
1610
1629
  Amazon Aurora [PostgreSQL Limitless Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless.html) provides automated horizontal scaling to process millions of write transactions per second and manages petabytes of data while maintaining the simplicity of operating inside a single database.
@@ -0,0 +1,100 @@
1
+ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
2
+ import { App, CfnOutput, Stack } from 'aws-cdk-lib';
3
+ import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
4
+ import * as iam from 'aws-cdk-lib/aws-iam';
5
+ import * as rds from 'aws-cdk-lib/aws-rds';
6
+
7
+ const app = new App();
8
+ const clusterIdentifier = 'test-cluster-lookup';
9
+
10
+ const stackLookup = new Stack(app, 'aws-cdk-rds-cluster-lookup', {
11
+ env: {
12
+ account: process.env.CDK_INTEG_ACCOUNT ?? process.env.CDK_DEFAULT_ACCOUNT,
13
+ region: process.env.CDK_INTEG_REGION ?? process.env.CDK_DEFAULT_REGION,
14
+ },
15
+ });
16
+
17
+ // Lookup the existing cluster created by the preDeploy hook
18
+ const lookedUpCluster = rds.DatabaseCluster.fromLookup(stackLookup, 'LookedUpCluster', {
19
+ clusterIdentifier,
20
+ });
21
+
22
+ new CfnOutput(stackLookup, 'LookedUpClusterEndpoint', {
23
+ value: lookedUpCluster.clusterEndpoint.socketAddress,
24
+ });
25
+
26
+ new CfnOutput(stackLookup, 'LookedUpClusterReadEndpoint', {
27
+ value: lookedUpCluster.clusterReadEndpoint.socketAddress,
28
+ });
29
+
30
+ new CfnOutput(stackLookup, 'LookedUpClusterIdentifier', {
31
+ value: lookedUpCluster.clusterIdentifier,
32
+ });
33
+
34
+ new CfnOutput(stackLookup, 'LookedUpClusterResourceIdentifier', {
35
+ value: lookedUpCluster.clusterResourceIdentifier,
36
+ });
37
+
38
+ new CfnOutput(stackLookup, 'LookedUpClusterArn', {
39
+ value: lookedUpCluster.clusterArn,
40
+ });
41
+
42
+ new CfnOutput(stackLookup, 'SecurityGroupIds', {
43
+ value: lookedUpCluster.connections.securityGroups.map(sg => sg.securityGroupId).join(','),
44
+ });
45
+
46
+ // test grant
47
+ const dbAccessRole = new iam.Role(stackLookup, 'DbAccessRole', {
48
+ assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com'),
49
+ description: 'Role for accessing the Aurora cluster via IAM authentication',
50
+ });
51
+
52
+ lookedUpCluster.grantConnect(dbAccessRole, 'admin');
53
+ lookedUpCluster.grantDataApiAccess(dbAccessRole);
54
+
55
+ // test metric
56
+ lookedUpCluster.metricDatabaseConnections().createAlarm(stackLookup, 'HighConnectionsAlarm', {
57
+ threshold: 100,
58
+ evaluationPeriods: 3,
59
+ alarmDescription: 'Database has high number of connections',
60
+ comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
61
+ });
62
+
63
+ lookedUpCluster.metricCPUUtilization().createAlarm(stackLookup, 'HighCPUAlarm', {
64
+ threshold: 90,
65
+ evaluationPeriods: 3,
66
+ alarmDescription: 'Database CPU utilization is high',
67
+ comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
68
+ });
69
+
70
+ lookedUpCluster.metricFreeableMemory().createAlarm(stackLookup, 'LowMemoryAlarm', {
71
+ threshold: 100 * 1024 * 1024,
72
+ evaluationPeriods: 3,
73
+ alarmDescription: 'Database is running low on memory',
74
+ comparisonOperator: cloudwatch.ComparisonOperator.LESS_THAN_THRESHOLD,
75
+ });
76
+
77
+ lookedUpCluster.metricDeadlocks().createAlarm(stackLookup, 'DeadlockAlarm', {
78
+ threshold: 5,
79
+ evaluationPeriods: 2,
80
+ alarmDescription: 'Database has deadlocks',
81
+ comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
82
+ });
83
+
84
+ new IntegTest(app, 'integ-rds-cluster-from-lookup', {
85
+ testCases: [stackLookup],
86
+ enableLookups: true,
87
+ stackUpdateWorkflow: false,
88
+ // Create Aurora cluster before the test and delete it after
89
+ hooks: {
90
+ preDeploy: [
91
+ `aws rds create-db-cluster --db-cluster-identifier ${clusterIdentifier} --engine aurora-mysql --engine-version 8.0.mysql_aurora.3.09.0 --master-username admin --master-user-password Admin1234 --enable-http-endpoint --enable-iam-database-authentication --region us-east-1`,
92
+ `aws rds create-db-instance --db-instance-identifier ${clusterIdentifier}-instance --db-cluster-identifier ${clusterIdentifier} --engine aurora-mysql --db-instance-class db.r5.large --region us-east-1`,
93
+ `aws rds wait db-instance-available --db-instance-identifier ${clusterIdentifier}-instance --region us-east-1`,
94
+ ],
95
+ postDeploy: [
96
+ `aws rds delete-db-instance --db-instance-identifier ${clusterIdentifier}-instance --skip-final-snapshot --region us-east-1`,
97
+ `aws rds delete-db-cluster --db-cluster-identifier ${clusterIdentifier} --skip-final-snapshot --region us-east-1`,
98
+ ],
99
+ },
100
+ });
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: konokenj.cdk-api-mcp-server
3
- Version: 0.31.0
3
+ Version: 0.32.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.203.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.203.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=aoYCQgV5eK6HEr2uGNyIusnTa5Jd69StcDN5Z7d1N-c,129
1
+ cdk_api_mcp_server/__about__.py,sha256=0ZQNQblGaWu5TJ7JDc2shM8yW6c_KhMr1lLbmANbbeI,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
@@ -297,7 +297,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ
297
297
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-insight.ts,sha256=gI_tHyK2Cet3u-uGSCuoZ1_K4gRXszK0a-G2K8UWIqg,1296
298
298
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-supplied-bucket.lit.ts,sha256=-aIb9umhzoWXVSjS5bfg03U-2BnapIEPYYMcGircXwA,1786
299
299
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail.lit.ts,sha256=wx23AzFPcH68LnBwge7yKFAomCGYM1KhDhX4XkombVY,994
300
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md,sha256=FypE1Lg95hbcQddRCew6XOFQLT3IjlzwsqKBEnE_PW0,33975
300
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md,sha256=RtE8X2TX0MykpectCs8_XbTbcudua-2KlDE0j8SyUCM,35426
301
301
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-and-dashboard.ts,sha256=hsf_O_OJWsHlBwFazDto5qpyrul9_RyD8TqgvBJJzjY,3960
302
302
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-with-label.ts,sha256=JW5Ttjku2_AEpxHjIrV2F9vp301DEU5nMPlZKyIHs1A,863
303
303
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.anomaly-detection-alarm.ts,sha256=53vEDKVY2bhOQNPd_Ci328X-ujHto6ML0-9JsExwD_A,3900
@@ -306,6 +306,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ
306
306
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-variables.ts,sha256=BokCGaNpi7eJRakofbkHW3NGMUk9uZihgxhfjvOC7Do,2343
307
307
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-graphwidget-with-annotations.ts,sha256=kJ8CO25ODnq85vtSeRinJcad-D7uOGhncqCzXgqxre4,2194
308
308
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-graphwidget-with-statistic.ts,sha256=LLtFulY81tm3z8lOevEeN38E5Rb3WgCTD_4D0Ul6Qh4,1530
309
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-metric-id-and-visible.ts,sha256=kJlQjIl0ha9JV3Z_w5381r12wTx6-_Rv70LGbBlaemg,2105
309
310
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard.ts,sha256=eK7QEVJGfjW2TLUw7-53pWbpThpAyyI2OlvYFxDEdYw,724
310
311
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.gauge-alarm.ts,sha256=6BXqQPnCC2xLq7EfINAmTM4-X3_bescVzTpeTHUPpyE,883
311
312
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.gauge-widget.ts,sha256=RpOtJSn513x6xzMgtfJ2QH9bjVVFdhb8Jo3heKAzwZw,903
@@ -566,7 +567,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.images
566
567
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.repository-auto-delete-images.ts,sha256=3GYqoRSUUJ53ZpAvfypp0IOd7Z-uWTGGQ3aJgqsfKyg,577
567
568
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.repository-lookup.ts,sha256=UQZz00DFMZaFnvbT2FWqk5uBeZGl9MY3IUIKyUFukkY,1424
568
569
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md,sha256=7p9gpQzEwpNftDAt40X5Ja57qpMl2su4AksWKvlbf44,8856
569
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-docker.ts,sha256=J1MId2-GuDg2lfwnD4JD0xsbUTrGoNvUF_zBFV848Ys,2333
570
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-docker.ts,sha256=EF_hWgLhIKucTjMe6G7VyxixpQgm82ElvunshuWoEhA,2570
570
571
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-tarball.ts,sha256=pSbNMWSorKT7lUTXxnzkxpcRumKPYWUmcbqRSwwWOgI,937
571
572
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.nested-stacks-docker.ts,sha256=4hDobse34oIG2r0mjbYXzsEXXLEqv077jUh3pjoYmcc,981
572
573
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/CONTRIBUTING.md,sha256=TlNwpeYemLdYq4jdo24v7nwDIj3RmZ7u2j_LCQiQR74,2634
@@ -811,6 +812,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/README.md,sh
811
812
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.access-key.ts,sha256=22q0DLYwDlurvFK4sErOqJgVliGyz28Xa0TKqGXHrmI,508
812
813
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.composite-principal.ts,sha256=geaeoyLvnbbSc6qtwGbVur9frN_Ff4fgHNZG7Yah0Rk,624
813
814
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.condition-with-ref.ts,sha256=yqu0BUZ2WDmMnwO2XKaFhsji4Cp_sqCDolDnDCfcHWw,925
815
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.custom-permissions-boundary-aspect.ts,sha256=u8dlRY-_pCtY9D0RVeKvZRGVIamJtpu7M1vASpV7crM,1562
814
816
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.customize-role.ts,sha256=R3YwLj13EIHS0IbZcO3IjFFyl7-VgUd4BpVm992oZ1k,946
815
817
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.customize-roles-restapi.ts,sha256=ITumE2S2UaRCflF7KIEfFokeOMzUME1c033KuNSIb18,1225
816
818
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.emr-service-principal-cn-partition.ts,sha256=TS9IkUBFttNHPWVe85vb6O5h6El-9OyLkV6M0nU5yaw,3256
@@ -967,7 +969,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservic
967
969
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.unsignedbasicauth.ts,sha256=B13diAjHunM-L1w1FHgpDRup-j4Xnnb-rpn171bbjpw,925
968
970
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.vpc.ts,sha256=92FvTQd0U190KN53A8UU4eV3ggwm1GeVn4f3nRE56T0,1400
969
971
  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
970
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md,sha256=XXa7pS2MbUN_DOdaAT_ZieD51HbuynBDWubmeuK2KFE,65523
972
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md,sha256=-vQK73ysc3BQ_o6JCTH2TT0WaWu3kiDco8JZrBdC6UI,66074
971
973
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/aurora-serverless-v2.md,sha256=D4_EKB6d62nNN0LwL3XGX0YFjwdSBXE8namaBUqU9qw,10484
972
974
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-applyimmediately.ts,sha256=UB7bdVX6UD63SYroZRXs5V493f1lUX_3lD5W7EeU5AQ,1135
973
975
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-availability-zone.ts,sha256=59DvW_-fFQ2NPddJdbayEu7V-NVBAPvm3A05IvbBOAA,1765
@@ -983,6 +985,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluste
983
985
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-io.ts,sha256=wqrjkktYk0CP6-z6W2LgqCpI58TsbJU67971iuIqJSs,1609
984
986
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-kerberos.ts,sha256=RqRVWZp6Wd1PLAMgQFMIa9PKkCsDJXaAJw9-h5k3ruw,1440
985
987
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-limitless.ts,sha256=gXKMrYLydLD6-CgyAfNW-jpRQi0Bg50ugsda2AJFyI4,1465
988
+ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-lookup.ts,sha256=yfQjUCmOaA22CV-I-rvrk0MpANI6FOno9yJCBQQ7g-0,3987
986
989
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-performance-insights.ts,sha256=HQU4Iv5bOMdrmTv6IY63SKOpng_MiLgLq6i9vO0yrnI,1479
987
990
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-public-subnets.ts,sha256=Ah28jLmz1fgKiZGhq7HeydgfzXlsXVBCzPv7plM__Ic,1458
988
991
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-replication.ts,sha256=Hi-wsxwUuJY8YoebCsyfzc0pXId0hkq7cpk7459qF08,1764
@@ -1373,8 +1376,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipe
1373
1376
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/region-info/README.md,sha256=vewWkV3ds9o9iyyYaJBNTkaKJ2XA6K2yF17tAxUnujg,2718
1374
1377
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/README.md,sha256=hYIx7DbG_7p4LYLUfxDwgIQjw9UNdz1GLrqDe8_Dbko,4132
1375
1378
  cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/integ.triggers.ts,sha256=4OHplMoBOgHGkktAzoU-TuNmJQS5wGAUvBfj5bGSe_Y,2807
1376
- konokenj_cdk_api_mcp_server-0.31.0.dist-info/METADATA,sha256=f1QAE1ZJcWuLAhufpz8X7wu8mxxdnKdThkw346jyB2k,2646
1377
- konokenj_cdk_api_mcp_server-0.31.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1378
- konokenj_cdk_api_mcp_server-0.31.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
1379
- konokenj_cdk_api_mcp_server-0.31.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
1380
- konokenj_cdk_api_mcp_server-0.31.0.dist-info/RECORD,,
1379
+ konokenj_cdk_api_mcp_server-0.32.0.dist-info/METADATA,sha256=0j_RLtFq-QZKJMAQFgFpkFVZj4EJq40CKG7Jnb4PEIg,2646
1380
+ konokenj_cdk_api_mcp_server-0.32.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1381
+ konokenj_cdk_api_mcp_server-0.32.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
1382
+ konokenj_cdk_api_mcp_server-0.32.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
1383
+ konokenj_cdk_api_mcp_server-0.32.0.dist-info/RECORD,,