konokenj.cdk-api-mcp-server 0.48.0__py3-none-any.whl → 0.49.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.
- cdk_api_mcp_server/__about__.py +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-amplify-alpha/README.md +12 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md +15 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.managed-compute-environment-default-instance-class.ts +20 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md +33 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-ip-address-type.ts +84 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.anomaly-detection-alarm.ts +44 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md +15 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.client-vpn-endpoint-disconnect-on-session-timeout.ts +65 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md +20 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-removal-policy.ts +31 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/README.md +42 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream-shard-level-monitoring.ts +47 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md +9 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter-apply-on-transformed-logs.ts +29 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.min.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md +12 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.private-hosted-zone-from-attributes.ts +41 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md +17 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-runtime-validation.ts +43 -0
- {konokenj_cdk_api_mcp_server-0.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.0.dist-info}/RECORD +27 -19
- {konokenj_cdk_api_mcp_server-0.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.0.dist-info}/licenses/LICENSE.txt +0 -0
cdk_api_mcp_server/__about__.py
CHANGED
|
@@ -353,6 +353,18 @@ const amplifyApp = new amplify.App(this, 'MyApp', {
|
|
|
353
353
|
});
|
|
354
354
|
```
|
|
355
355
|
|
|
356
|
+
## Build Compute Type
|
|
357
|
+
|
|
358
|
+
You can specify the build compute type by setting the `buildComputeType` property.
|
|
359
|
+
|
|
360
|
+
For more information, see [Configuring the build instance for an Amplify application](https://docs.aws.amazon.com/amplify/latest/userguide/custom-build-instance.html).
|
|
361
|
+
|
|
362
|
+
```ts
|
|
363
|
+
const amplifyApp = new amplify.App(this, 'MyApp', {
|
|
364
|
+
buildComputeType: amplify.BuildComputeType.LARGE_16GB,
|
|
365
|
+
});
|
|
366
|
+
```
|
|
367
|
+
|
|
356
368
|
## Deploying Assets
|
|
357
369
|
|
|
358
370
|
`sourceCodeProvider` is optional; when this is not specified the Amplify app can be deployed to using `.zip` packages. The `asset` property can be used to deploy S3 assets to Amplify as part of the CDK:
|
|
@@ -65,7 +65,18 @@ For stateful or otherwise non-interruption-tolerant workflows, omit `spot` or se
|
|
|
65
65
|
|
|
66
66
|
#### Choosing Your Instance Types
|
|
67
67
|
|
|
68
|
-
Batch allows you to choose
|
|
68
|
+
Batch allows you to choose most up-to-date instance classes based on your region.
|
|
69
|
+
This example configures your `ComputeEnvironment` to use only ARM64 instance:
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
const vpc = new ec2.Vpc(this, 'VPC');
|
|
73
|
+
|
|
74
|
+
new batch.ManagedEc2EcsComputeEnvironment(this, 'myEc2ComputeEnv', {
|
|
75
|
+
vpc,
|
|
76
|
+
defaultInstanceClasses: [batch.DefaultInstanceClass.ARM64],
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
69
80
|
This example configures your `ComputeEnvironment` to use only the `M5AD.large` instance:
|
|
70
81
|
|
|
71
82
|
```ts
|
|
@@ -91,6 +102,9 @@ new batch.ManagedEc2EcsComputeEnvironment(this, 'myEc2ComputeEnv', {
|
|
|
91
102
|
});
|
|
92
103
|
```
|
|
93
104
|
|
|
105
|
+
> [!WARNING]
|
|
106
|
+
> `useOptimalInstanceClasses` is deprecated! Use `defaultInstanceClasses` instead.
|
|
107
|
+
|
|
94
108
|
Unless you explicitly specify `useOptimalInstanceClasses: false`, this compute environment will use `'optimal'` instances,
|
|
95
109
|
which tells Batch to pick an instance from the C4, M4, and R4 instance families.
|
|
96
110
|
*Note*: Batch does not allow specifying instance types or classes with different architectures.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import { ManagedEc2EcsComputeEnvironment, EcsMachineImageType, DefaultInstanceClass } from 'aws-cdk-lib/aws-batch';
|
|
5
|
+
|
|
6
|
+
const app = new App();
|
|
7
|
+
const stack = new Stack(app, 'managed-compute-environment-default-instance-class');
|
|
8
|
+
const vpc = new ec2.Vpc(stack, 'vpc', { restrictDefaultSecurityGroup: false });
|
|
9
|
+
|
|
10
|
+
new ManagedEc2EcsComputeEnvironment(stack, 'ECS', {
|
|
11
|
+
vpc,
|
|
12
|
+
images: [{
|
|
13
|
+
imageType: EcsMachineImageType.ECS_AL2023,
|
|
14
|
+
}],
|
|
15
|
+
defaultInstanceClasses: [DefaultInstanceClass.ARM64],
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
new integ.IntegTest(app, 'integ-managed-compute-environment-default-instance-class', {
|
|
19
|
+
testCases: [stack],
|
|
20
|
+
});
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md
CHANGED
|
@@ -851,6 +851,39 @@ new cloudfront.Distribution(this, 'Distribution', {
|
|
|
851
851
|
});
|
|
852
852
|
```
|
|
853
853
|
|
|
854
|
+
### Configuring IP Address Type
|
|
855
|
+
|
|
856
|
+
You can specify which IP protocol CloudFront uses when connecting to your Lambda Function URL origin. By default, CloudFront uses IPv4 only.
|
|
857
|
+
|
|
858
|
+
```ts
|
|
859
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
860
|
+
import { OriginIpAddressType } from 'aws-cdk-lib/aws-cloudfront';
|
|
861
|
+
|
|
862
|
+
declare const fn: lambda.Function;
|
|
863
|
+
const fnUrl = fn.addFunctionUrl({ authType: lambda.FunctionUrlAuthType.NONE });
|
|
864
|
+
|
|
865
|
+
// Uses default IPv4 only
|
|
866
|
+
new cloudfront.Distribution(this, 'Distribution', {
|
|
867
|
+
defaultBehavior: {
|
|
868
|
+
origin: new origins.FunctionUrlOrigin(fnUrl)
|
|
869
|
+
},
|
|
870
|
+
});
|
|
871
|
+
|
|
872
|
+
// Explicitly specify IP address type
|
|
873
|
+
new cloudfront.Distribution(this, 'Distribution', {
|
|
874
|
+
defaultBehavior: {
|
|
875
|
+
origin: new origins.FunctionUrlOrigin(fnUrl, {
|
|
876
|
+
ipAddressType: OriginIpAddressType.DUALSTACK, // Use both IPv4 and IPv6
|
|
877
|
+
})
|
|
878
|
+
},
|
|
879
|
+
});
|
|
880
|
+
```
|
|
881
|
+
|
|
882
|
+
Supported values for `ipAddressType`:
|
|
883
|
+
- `OriginIpAddressType.IPV4` - CloudFront uses IPv4 only to connect to the origin (default)
|
|
884
|
+
- `OriginIpAddressType.IPV6` - CloudFront uses IPv6 only to connect to the origin
|
|
885
|
+
- `OriginIpAddressType.DUALSTACK` - CloudFront uses both IPv4 and IPv6 to connect to the origin
|
|
886
|
+
|
|
854
887
|
### Lambda Function URL with Origin Access Control (OAC)
|
|
855
888
|
You can configure the Lambda Function URL with Origin Access Control (OAC) for enhanced security. When using OAC with Signing SIGV4_ALWAYS, it is recommended to set the Lambda Function URL authType to AWS_IAM to ensure proper authorization.
|
|
856
889
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
|
|
2
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
3
|
+
import { FunctionUrlOrigin } from 'aws-cdk-lib/aws-cloudfront-origins';
|
|
4
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
5
|
+
import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
6
|
+
import { OriginIpAddressType } from 'aws-cdk-lib/aws-cloudfront';
|
|
7
|
+
|
|
8
|
+
const app = new App();
|
|
9
|
+
const stack = new Stack(app, 'FunctionUrlOriginIpAddressTypeStack');
|
|
10
|
+
|
|
11
|
+
// Lambda function
|
|
12
|
+
const fn = new lambda.Function(stack, 'TestFunction', {
|
|
13
|
+
code: lambda.Code.fromInline('exports.handler = async () => ({ statusCode: 200, body: "Hello" });'),
|
|
14
|
+
handler: 'index.handler',
|
|
15
|
+
runtime: lambda.Runtime.NODEJS_20_X,
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
// Function URL with IAM auth
|
|
19
|
+
const fnUrl = fn.addFunctionUrl({
|
|
20
|
+
authType: lambda.FunctionUrlAuthType.AWS_IAM,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// CloudFront distribution with IPv4 IP address type
|
|
24
|
+
new cloudfront.Distribution(stack, 'DistributionWithoutIpAddressTypeProp(IPv4)', {
|
|
25
|
+
defaultBehavior: {
|
|
26
|
+
origin: FunctionUrlOrigin.withOriginAccessControl(fnUrl, {}),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// CloudFront distribution with IPv4 IP address type
|
|
31
|
+
const distributionIPv4 = new cloudfront.Distribution(stack, 'DistributionWithIPv4', {
|
|
32
|
+
defaultBehavior: {
|
|
33
|
+
origin: FunctionUrlOrigin.withOriginAccessControl(fnUrl, {
|
|
34
|
+
ipAddressType: OriginIpAddressType.IPV4,
|
|
35
|
+
}),
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// CloudFront distribution with IPv6 IP address type
|
|
40
|
+
const distributionIPv6 = new cloudfront.Distribution(stack, 'DistributionWithIPv6', {
|
|
41
|
+
defaultBehavior: {
|
|
42
|
+
origin: FunctionUrlOrigin.withOriginAccessControl(fnUrl, {
|
|
43
|
+
ipAddressType: OriginIpAddressType.IPV6,
|
|
44
|
+
}),
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// CloudFront distribution with dualstack IP address type
|
|
49
|
+
const distributionDualstack = new cloudfront.Distribution(stack, 'DistributionWithDualstack', {
|
|
50
|
+
defaultBehavior: {
|
|
51
|
+
origin: FunctionUrlOrigin.withOriginAccessControl(fnUrl, {
|
|
52
|
+
ipAddressType: OriginIpAddressType.DUALSTACK,
|
|
53
|
+
}),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const integ = new IntegTest(app, 'FunctionUrlOriginIpAddressTypeTest', {
|
|
58
|
+
testCases: [stack],
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// Assert that distributions are created with expected IP address type settings
|
|
62
|
+
integ.assertions.awsApiCall('CloudFront', 'getDistribution', {
|
|
63
|
+
Id: distributionIPv4.distributionId,
|
|
64
|
+
}).assertAtPath('Distribution.DistributionConfig.IsIPV4Enabled', ExpectedResult.exact(true));
|
|
65
|
+
|
|
66
|
+
integ.assertions.awsApiCall('CloudFront', 'getDistribution', {
|
|
67
|
+
Id: distributionIPv4.distributionId,
|
|
68
|
+
}).assertAtPath('Distribution.DistributionConfig.IsIPV6Enabled', ExpectedResult.exact(false));
|
|
69
|
+
|
|
70
|
+
integ.assertions.awsApiCall('CloudFront', 'getDistribution', {
|
|
71
|
+
Id: distributionIPv6.distributionId,
|
|
72
|
+
}).assertAtPath('Distribution.DistributionConfig.IsIPV4Enabled', ExpectedResult.exact(false));
|
|
73
|
+
|
|
74
|
+
integ.assertions.awsApiCall('CloudFront', 'getDistribution', {
|
|
75
|
+
Id: distributionIPv6.distributionId,
|
|
76
|
+
}).assertAtPath('Distribution.DistributionConfig.IsIPV6Enabled', ExpectedResult.exact(true));
|
|
77
|
+
|
|
78
|
+
integ.assertions.awsApiCall('CloudFront', 'getDistribution', {
|
|
79
|
+
Id: distributionDualstack.distributionId,
|
|
80
|
+
}).assertAtPath('Distribution.DistributionConfig.IsIPV4Enabled', ExpectedResult.exact(true));
|
|
81
|
+
|
|
82
|
+
integ.assertions.awsApiCall('CloudFront', 'getDistribution', {
|
|
83
|
+
Id: distributionDualstack.distributionId,
|
|
84
|
+
}).assertAtPath('Distribution.DistributionConfig.IsIPV6Enabled', ExpectedResult.exact(true));
|
|
@@ -479,7 +479,7 @@ const metric = new cloudwatch.Metric({
|
|
|
479
479
|
namespace: 'AWS/EC2',
|
|
480
480
|
metricName: 'CPUUtilization',
|
|
481
481
|
statistic: 'Average',
|
|
482
|
-
period: Duration.
|
|
482
|
+
period: Duration.hours(1), // Alarm will use the metric's period
|
|
483
483
|
});
|
|
484
484
|
|
|
485
485
|
// Create an anomaly detection alarm
|
|
@@ -5,12 +5,19 @@ import { Metric, ComparisonOperator, AnomalyDetectionAlarm, Alarm } from 'aws-cd
|
|
|
5
5
|
const app = new App();
|
|
6
6
|
const stack = new Stack(app, 'AnomalyDetectionAlarmTestStack');
|
|
7
7
|
|
|
8
|
-
// Create the test metric
|
|
8
|
+
// Create the test metric. Period will default to 300 seconds.
|
|
9
9
|
const metric = new Metric({
|
|
10
10
|
namespace: 'AWS/EC2',
|
|
11
11
|
metricName: 'CPUUtilization',
|
|
12
12
|
statistic: 'Average',
|
|
13
|
-
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// Create test metric with custom period
|
|
16
|
+
const customPeriodMetric = new Metric({
|
|
17
|
+
namespace: 'AWS/EC2',
|
|
18
|
+
metricName: 'CPUUtilization',
|
|
19
|
+
statistic: 'Average',
|
|
20
|
+
period: Duration.days(1),
|
|
14
21
|
});
|
|
15
22
|
|
|
16
23
|
// Create an anomaly detection alarm with default operator
|
|
@@ -40,6 +47,14 @@ const descriptiveAlarm = Metric.anomalyDetectionFor({
|
|
|
40
47
|
comparisonOperator: ComparisonOperator.GREATER_THAN_UPPER_THRESHOLD,
|
|
41
48
|
});
|
|
42
49
|
|
|
50
|
+
// Create an anomaly detection alarm with custom period
|
|
51
|
+
const customPeriodAlarm = new AnomalyDetectionAlarm(stack, 'CustomPeriodAnomalyAlarm', {
|
|
52
|
+
metric: customPeriodMetric,
|
|
53
|
+
stdDevs: 2,
|
|
54
|
+
evaluationPeriods: 1,
|
|
55
|
+
comparisonOperator: ComparisonOperator.LESS_THAN_LOWER_OR_GREATER_THAN_UPPER_THRESHOLD,
|
|
56
|
+
});
|
|
57
|
+
|
|
43
58
|
// Create the integration test
|
|
44
59
|
const integ = new IntegTest(app, 'AnomalyDetectionAlarmIntegTest', {
|
|
45
60
|
testCases: [stack],
|
|
@@ -122,3 +137,30 @@ integ.assertions
|
|
|
122
137
|
}),
|
|
123
138
|
]),
|
|
124
139
|
}));
|
|
140
|
+
|
|
141
|
+
integ.assertions
|
|
142
|
+
.awsApiCall('CloudWatch', 'describeAlarms', {
|
|
143
|
+
AlarmNames: [customPeriodAlarm.alarmName],
|
|
144
|
+
})
|
|
145
|
+
.expect(ExpectedResult.objectLike({
|
|
146
|
+
MetricAlarms: Match.arrayWith([
|
|
147
|
+
Match.objectLike({
|
|
148
|
+
ComparisonOperator: 'LessThanLowerOrGreaterThanUpperThreshold',
|
|
149
|
+
EvaluationPeriods: 1,
|
|
150
|
+
ThresholdMetricId: 'expr_1',
|
|
151
|
+
Metrics: Match.arrayWith([
|
|
152
|
+
Match.objectLike({
|
|
153
|
+
Expression: 'ANOMALY_DETECTION_BAND(m0, 2)',
|
|
154
|
+
Id: 'expr_1',
|
|
155
|
+
ReturnData: true,
|
|
156
|
+
}),
|
|
157
|
+
Match.objectLike({
|
|
158
|
+
Id: 'm0',
|
|
159
|
+
MetricStat: Match.objectLike({
|
|
160
|
+
Period: 86400, // 1 day in seconds, orignal metric period got overriden
|
|
161
|
+
}),
|
|
162
|
+
}),
|
|
163
|
+
]),
|
|
164
|
+
}),
|
|
165
|
+
]),
|
|
166
|
+
}));
|
|
@@ -1306,6 +1306,21 @@ const endpoint = vpc.addClientVpnEndpoint('Endpoint', {
|
|
|
1306
1306
|
});
|
|
1307
1307
|
```
|
|
1308
1308
|
|
|
1309
|
+
To control whether clients are automatically disconnected when the maximum session duration is reached, use the `disconnectOnSessionTimeout` prop.
|
|
1310
|
+
By default (`true`), clients are disconnected and must manually reconnect.
|
|
1311
|
+
Set to `false` to allow automatic reconnection attempts:
|
|
1312
|
+
|
|
1313
|
+
```ts fixture=client-vpn
|
|
1314
|
+
const endpoint = vpc.addClientVpnEndpoint('Endpoint', {
|
|
1315
|
+
cidr: '10.100.0.0/16',
|
|
1316
|
+
serverCertificateArn: 'arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id',
|
|
1317
|
+
clientCertificateArn: 'arn:aws:acm:us-east-1:123456789012:certificate/client-certificate-id',
|
|
1318
|
+
disconnectOnSessionTimeout: false, // Allow automatic reconnection attempts
|
|
1319
|
+
});
|
|
1320
|
+
```
|
|
1321
|
+
|
|
1322
|
+
Detail information about maximum VPN session duration timeout can be found in the [AWS documentation](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-max-duration.html).
|
|
1323
|
+
|
|
1309
1324
|
## Instances
|
|
1310
1325
|
|
|
1311
1326
|
You can use the `Instance` class to start up a single EC2 instance. For production setups, we recommend
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { App, RemovalPolicy, Stack, StackProps, UnscopedValidationError } from 'aws-cdk-lib';
|
|
2
|
+
import * as acm from 'aws-cdk-lib/aws-certificatemanager';
|
|
3
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
4
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
5
|
+
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
6
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
7
|
+
import { Construct } from 'constructs';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* In order to test this you need to have a valid public hosted zone that you can use
|
|
11
|
+
* to validate the domain identity.
|
|
12
|
+
*/
|
|
13
|
+
const hostedZoneId = process.env.CDK_INTEG_HOSTED_ZONE_ID ?? process.env.HOSTED_ZONE_ID;
|
|
14
|
+
if (!hostedZoneId) throw new UnscopedValidationError('For this test you must provide your own HostedZoneId as an env var "HOSTED_ZONE_ID". See framework-integ/README.md for details.');
|
|
15
|
+
const hostedZoneName = process.env.CDK_INTEG_HOSTED_ZONE_NAME ?? process.env.HOSTED_ZONE_NAME;
|
|
16
|
+
if (!hostedZoneName) throw new UnscopedValidationError('For this test you must provide your own HostedZoneName as an env var "HOSTED_ZONE_NAME". See framework-integ/README.md for details.');
|
|
17
|
+
|
|
18
|
+
interface TestStackProps extends StackProps {
|
|
19
|
+
hostedZoneId: string;
|
|
20
|
+
hostedZoneName: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
class TestStack extends Stack {
|
|
24
|
+
constructor(scope: Construct, id: string, props: TestStackProps) {
|
|
25
|
+
super(scope, id, props);
|
|
26
|
+
|
|
27
|
+
const hostedZone = route53.PublicHostedZone.fromHostedZoneAttributes(this, 'HostedZone', {
|
|
28
|
+
hostedZoneId: props.hostedZoneId,
|
|
29
|
+
zoneName: props.hostedZoneName,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const serverCertificate = new acm.Certificate(this, 'Certificate', {
|
|
33
|
+
domainName: `server.${props.hostedZoneName}`,
|
|
34
|
+
validation: acm.CertificateValidation.fromDns(hostedZone),
|
|
35
|
+
});
|
|
36
|
+
const clientCertificate = new acm.Certificate(this, 'ClientCertificate', {
|
|
37
|
+
domainName: `client.${props.hostedZoneName}`,
|
|
38
|
+
validation: acm.CertificateValidation.fromDns(hostedZone),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
const vpc = new ec2.Vpc(this, 'Vpc', { maxAzs: 2, natGateways: 0 });
|
|
42
|
+
|
|
43
|
+
const logGroup = new logs.LogGroup(this, 'LogGroup', {
|
|
44
|
+
removalPolicy: RemovalPolicy.DESTROY,
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
vpc.addClientVpnEndpoint('Endpoint', {
|
|
48
|
+
cidr: '10.100.0.0/16',
|
|
49
|
+
serverCertificateArn: serverCertificate.certificateArn,
|
|
50
|
+
clientCertificateArn: clientCertificate.certificateArn,
|
|
51
|
+
logGroup,
|
|
52
|
+
disconnectOnSessionTimeout: false,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const app = new App();
|
|
58
|
+
new IntegTest(app, 'client-vpn-endpoint-integ', {
|
|
59
|
+
testCases: [
|
|
60
|
+
new TestStack(app, 'client-vpn-endpoint-stack', {
|
|
61
|
+
hostedZoneId,
|
|
62
|
+
hostedZoneName,
|
|
63
|
+
}),
|
|
64
|
+
],
|
|
65
|
+
});
|
|
@@ -147,6 +147,26 @@ new eks.Cluster(this, 'HelloEKS', {
|
|
|
147
147
|
});
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
+
You can control what happens to the resources created by the cluster construct when they are no longer managed by CloudFormation by specifying a `removalPolicy`.
|
|
151
|
+
|
|
152
|
+
This can happen in one of three situations:
|
|
153
|
+
- The resource is removed from the template, so CloudFormation stops managing it;
|
|
154
|
+
- A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it;
|
|
155
|
+
- The stack is deleted, so CloudFormation stops managing all resources in it.
|
|
156
|
+
|
|
157
|
+
This affects the EKS cluster itself, the custom resource that created the cluster, associated IAM roles, node groups, security groups, VPC and any other CloudFormation resources managed by this construct.
|
|
158
|
+
|
|
159
|
+
```ts
|
|
160
|
+
import { KubectlV33Layer } from '@aws-cdk/lambda-layer-kubectl-v33';
|
|
161
|
+
import * as core from 'aws-cdk-lib/core';
|
|
162
|
+
|
|
163
|
+
new eks.Cluster(this, 'HelloEKS', {
|
|
164
|
+
version: eks.KubernetesVersion.V1_33,
|
|
165
|
+
kubectlLayer: new KubectlV33Layer(this, 'kubectl'),
|
|
166
|
+
removalPolicy: core.RemovalPolicy.RETAIN, // Keep all resources created by the construct.
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
150
170
|
You can also use `FargateCluster` to provision a cluster that uses only fargate workers.
|
|
151
171
|
|
|
152
172
|
```ts
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// !cdk-integ pragma:disable-update-workflow
|
|
2
|
+
import { App, RemovalPolicy, Stack, StackProps } from 'aws-cdk-lib';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import { getClusterVersionConfig } from './integ-tests-kubernetes-version';
|
|
5
|
+
import * as eks from 'aws-cdk-lib/aws-eks';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This test just checks that all resources can be deployed with a removal policy.
|
|
9
|
+
* We use the DESTROY policy here to avoid leaving orphaned resources behind, but if it works for DESTROY, it should work for other values as well.
|
|
10
|
+
*/
|
|
11
|
+
class EksClusterRemovalPolicyStack extends Stack {
|
|
12
|
+
constructor(scope: App, id: string, props?: StackProps) {
|
|
13
|
+
super(scope, id, props);
|
|
14
|
+
|
|
15
|
+
new eks.Cluster(this, 'Cluster', {
|
|
16
|
+
...getClusterVersionConfig(this, eks.KubernetesVersion.V1_32),
|
|
17
|
+
removalPolicy: RemovalPolicy.DESTROY,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const app = new App();
|
|
23
|
+
|
|
24
|
+
const stack = new EksClusterRemovalPolicyStack(app, 'EksClusterRemovalPolicyStack');
|
|
25
|
+
|
|
26
|
+
new integ.IntegTest(app, 'eks-cluster-removal-policy-integ', {
|
|
27
|
+
testCases: [stack],
|
|
28
|
+
diffAssets: false,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
app.synth();
|
|
@@ -15,6 +15,7 @@ intake and aggregation.
|
|
|
15
15
|
- [Write Permissions](#write-permissions)
|
|
16
16
|
- [Custom Permissions](#custom-permissions)
|
|
17
17
|
- [Metrics](#metrics)
|
|
18
|
+
- [Shard-level Metrics](#shard-level-metrics)
|
|
18
19
|
- [Stream Consumers](#stream-consumers)
|
|
19
20
|
- [Read Permissions](#read-permissions-1)
|
|
20
21
|
- [Resource Policy](#resource-policy)
|
|
@@ -191,6 +192,47 @@ stream.metricGetRecordsSuccess();
|
|
|
191
192
|
stream.metricGetRecordsSuccess({ statistic: 'Maximum' });
|
|
192
193
|
```
|
|
193
194
|
|
|
195
|
+
#### Shard-level Metrics
|
|
196
|
+
|
|
197
|
+
You can enable enhanced shard-level metrics for your Kinesis stream to get detailed monitoring of individual shards. Shard-level metrics provide more granular insights into the performance and health of your stream.
|
|
198
|
+
|
|
199
|
+
```ts
|
|
200
|
+
const stream = new kinesis.Stream(this, 'MyStream', {
|
|
201
|
+
shardLevelMetrics: [kinesis.ShardLevelMetrics.ALL],
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
You can also specify individual metrics that you want to monitor:
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
const stream = new kinesis.Stream(this, 'MyStream', {
|
|
209
|
+
shardLevelMetrics: [
|
|
210
|
+
kinesis.ShardLevelMetrics.INCOMING_BYTES,
|
|
211
|
+
kinesis.ShardLevelMetrics.INCOMING_RECORDS,
|
|
212
|
+
kinesis.ShardLevelMetrics.ITERATOR_AGE_MILLISECONDS,
|
|
213
|
+
kinesis.ShardLevelMetrics.OUTGOING_BYTES,
|
|
214
|
+
kinesis.ShardLevelMetrics.OUTGOING_RECORDS,
|
|
215
|
+
kinesis.ShardLevelMetrics.READ_PROVISIONED_THROUGHPUT_EXCEEDED,
|
|
216
|
+
kinesis.ShardLevelMetrics.WRITE_PROVISIONED_THROUGHPUT_EXCEEDED,
|
|
217
|
+
],
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Available shard-level metrics include:
|
|
222
|
+
|
|
223
|
+
- `INCOMING_BYTES` - The number of bytes successfully put to the shard
|
|
224
|
+
- `INCOMING_RECORDS` - The number of records successfully put to the shard
|
|
225
|
+
- `ITERATOR_AGE_MILLISECONDS` - The age of the last record in all GetRecords calls made against a shard
|
|
226
|
+
- `OUTGOING_BYTES` - The number of bytes retrieved from the shard
|
|
227
|
+
- `OUTGOING_RECORDS` - The number of records retrieved from the shard
|
|
228
|
+
- `READ_PROVISIONED_THROUGHPUT_EXCEEDED` - The number of GetRecords calls throttled for the shard
|
|
229
|
+
- `WRITE_PROVISIONED_THROUGHPUT_EXCEEDED` - The number of records rejected due to throttling for the shard
|
|
230
|
+
- `ALL` - All available metrics
|
|
231
|
+
|
|
232
|
+
Note: You cannot specify `ALL` together with other individual metrics. If you want all metrics, use `ALL` alone.
|
|
233
|
+
|
|
234
|
+
For more information about shard-level metrics, see [Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-shard).
|
|
235
|
+
|
|
194
236
|
## Stream Consumers
|
|
195
237
|
|
|
196
238
|
Creating stream consumers allow consumers to receive data from the stream using enhanced fan-out at a rate of up to 2 MiB per second for every shard.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { App, Stack, RemovalPolicies } from 'aws-cdk-lib';
|
|
2
|
+
import * as kinesis from 'aws-cdk-lib/aws-kinesis';
|
|
3
|
+
import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
|
|
5
|
+
const app = new App();
|
|
6
|
+
const stack = new Stack(app, 'kinesis-stream-shard-level-monitoring-stack');
|
|
7
|
+
|
|
8
|
+
const explicitStream = new kinesis.Stream(stack, 'ExplicitStream', {
|
|
9
|
+
shardLevelMetrics: [
|
|
10
|
+
kinesis.ShardLevelMetrics.INCOMING_BYTES,
|
|
11
|
+
kinesis.ShardLevelMetrics.INCOMING_RECORDS,
|
|
12
|
+
kinesis.ShardLevelMetrics.ITERATOR_AGE_MILLISECONDS,
|
|
13
|
+
kinesis.ShardLevelMetrics.OUTGOING_BYTES,
|
|
14
|
+
kinesis.ShardLevelMetrics.OUTGOING_RECORDS,
|
|
15
|
+
kinesis.ShardLevelMetrics.WRITE_PROVISIONED_THROUGHPUT_EXCEEDED,
|
|
16
|
+
kinesis.ShardLevelMetrics.READ_PROVISIONED_THROUGHPUT_EXCEEDED,
|
|
17
|
+
],
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const allStream = new kinesis.Stream(stack, 'AllStream', {
|
|
21
|
+
shardLevelMetrics: [kinesis.ShardLevelMetrics.ALL],
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
RemovalPolicies.of(stack).destroy();
|
|
25
|
+
|
|
26
|
+
const integ = new IntegTest(app, 'integ-kinesis-stream-consumer', {
|
|
27
|
+
testCases: [stack],
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const streams = [explicitStream, allStream];
|
|
31
|
+
streams.forEach((stream) => {
|
|
32
|
+
integ.assertions.awsApiCall('Kinesis', 'describeStream', {
|
|
33
|
+
StreamName: stream.streamName,
|
|
34
|
+
}).expect(ExpectedResult.objectLike({
|
|
35
|
+
StreamDescription: {
|
|
36
|
+
ShardLevelMetrics: [
|
|
37
|
+
'IncomingBytes',
|
|
38
|
+
'IncomingRecords',
|
|
39
|
+
'IteratorAgeMilliseconds',
|
|
40
|
+
'OutgoingBytes',
|
|
41
|
+
'OutgoingRecords',
|
|
42
|
+
'WriteProvisionedThroughputExceeded',
|
|
43
|
+
'ReadProvisionedThroughputExceeded',
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
}));
|
|
47
|
+
});
|
|
@@ -642,6 +642,15 @@ new CfnOutput(this, 'TheUrl', {
|
|
|
642
642
|
});
|
|
643
643
|
```
|
|
644
644
|
|
|
645
|
+
### Important Function URL Permission Update - Oct 2025
|
|
646
|
+
Starting Oct 2025, Function URL invocation will require two permissions
|
|
647
|
+
- lambda:InvokeFunctionUrl
|
|
648
|
+
- lambda:InvokeFunction (New)
|
|
649
|
+
|
|
650
|
+
CDK has updated `grantInvokeUrl` and `addFunctionUrl` to add both permission above.
|
|
651
|
+
|
|
652
|
+
If your existing CDK stack uses `grantInvokeUrl` or `addFunctionUrl`, your next deployment will automatically add the `lambda:InvokeFunction` permission without requiring any code changes. This ensures your Function URLs continue working seamlessly. No additional actions are needed.
|
|
653
|
+
|
|
645
654
|
### CORS configuration for Function URLs
|
|
646
655
|
|
|
647
656
|
If you want your Function URLs to be invokable from a web page in browser, you
|
|
@@ -545,6 +545,10 @@ new logs.Transformer(this, 'Transformer', {
|
|
|
545
545
|
|
|
546
546
|
For more details on CloudWatch Logs transformation processors, refer to the [AWS documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html).
|
|
547
547
|
|
|
548
|
+
### Usage of metric filters on transformed logs
|
|
549
|
+
|
|
550
|
+
In order to use the transformed logs as search pattern, set the parameter `applyOnTransformedLogs: true` in the MetricFilterProps.
|
|
551
|
+
|
|
548
552
|
## Notes
|
|
549
553
|
|
|
550
554
|
Be aware that Log Group ARNs will always have the string `:*` appended to
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { App, RemovalPolicy, Stack, StackProps } from 'aws-cdk-lib';
|
|
2
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
3
|
+
import { FilterPattern, LogGroup, MetricFilter } from 'aws-cdk-lib/aws-logs';
|
|
4
|
+
|
|
5
|
+
class TestStack extends Stack {
|
|
6
|
+
constructor(scope: App, id: string, props?: StackProps) {
|
|
7
|
+
super(scope, id, props);
|
|
8
|
+
|
|
9
|
+
const logGroup = new LogGroup(this, 'LogGroup', {
|
|
10
|
+
removalPolicy: RemovalPolicy.DESTROY,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
new MetricFilter(this, 'MetricFilter', {
|
|
14
|
+
logGroup,
|
|
15
|
+
metricNamespace: 'MyApp',
|
|
16
|
+
metricName: 'Latency',
|
|
17
|
+
filterPattern: FilterPattern.exists('$.latency'),
|
|
18
|
+
applyOnTransformedLogs: true,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const app = new App();
|
|
24
|
+
const testCase = new TestStack(app, 'aws-cdk-metricfilter-apply-on-transformed-logs-integ');
|
|
25
|
+
|
|
26
|
+
new IntegTest(app, 'metricfilter-apply-on-transformed-logs', {
|
|
27
|
+
testCases: [testCase],
|
|
28
|
+
});
|
|
29
|
+
app.synth();
|
|
@@ -11,6 +11,7 @@ class TestStack extends Stack {
|
|
|
11
11
|
opensearch.EngineVersion.OPENSEARCH_2_13,
|
|
12
12
|
opensearch.EngineVersion.OPENSEARCH_2_15,
|
|
13
13
|
opensearch.EngineVersion.OPENSEARCH_2_17,
|
|
14
|
+
opensearch.EngineVersion.OPENSEARCH_3_1,
|
|
14
15
|
];
|
|
15
16
|
|
|
16
17
|
// deploy opensearch domain with minimal configuration
|
|
@@ -558,6 +558,18 @@ const zoneFromAttributes = route53.PublicHostedZone.fromPublicHostedZoneAttribut
|
|
|
558
558
|
const zoneFromId = route53.PublicHostedZone.fromPublicHostedZoneId(this, 'MyZone', 'ZOJJZC49E0EPZ');
|
|
559
559
|
```
|
|
560
560
|
|
|
561
|
+
You can import a Private Hosted Zone with `PrivateHostedZone.fromPrivateHostedZoneId` and `PrivateHostedZone.fromPrivateHostedZoneAttributes` methods:
|
|
562
|
+
|
|
563
|
+
```ts
|
|
564
|
+
const privateZoneFromAttributes = route53.PrivateHostedZone.fromPrivateHostedZoneAttributes(this, 'MyPrivateZone', {
|
|
565
|
+
zoneName: 'example.local',
|
|
566
|
+
hostedZoneId: 'ZOJJZC49E0EPZ',
|
|
567
|
+
});
|
|
568
|
+
|
|
569
|
+
// Does not know zoneName
|
|
570
|
+
const privateZoneFromId = route53.PrivateHostedZone.fromPrivateHostedZoneId(this, 'MyPrivateZone', 'ZOJJZC49E0EPZ');
|
|
571
|
+
```
|
|
572
|
+
|
|
561
573
|
You can use `CrossAccountZoneDelegationRecord` on imported Hosted Zones with the `grantDelegation` method:
|
|
562
574
|
|
|
563
575
|
```ts
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib';
|
|
3
|
+
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
4
|
+
import { PrivateHostedZone } from 'aws-cdk-lib/aws-route53';
|
|
5
|
+
import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
6
|
+
|
|
7
|
+
const app = new cdk.App();
|
|
8
|
+
|
|
9
|
+
const stack = new cdk.Stack(app, 'aws-cdk-route53-integ');
|
|
10
|
+
|
|
11
|
+
const vpc = new ec2.Vpc(stack, 'VPC', { maxAzs: 1, restrictDefaultSecurityGroup: false });
|
|
12
|
+
|
|
13
|
+
const privateZone = new PrivateHostedZone(stack, 'PrivateZone', {
|
|
14
|
+
zoneName: 'aws-cdk.dev', vpc,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const expectPrivateHostedZone = route53.PrivateHostedZone.fromHostedZoneAttributes(stack, 'ExpectPrivateHostedZone', {
|
|
18
|
+
hostedZoneId: privateZone.hostedZoneId,
|
|
19
|
+
zoneName: privateZone.zoneName,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const integTest = new IntegTest(app, 'AwsCdkRoute53IntegTest', {
|
|
23
|
+
testCases: [stack],
|
|
24
|
+
diffAssets: false,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const hostedZoneApiCall = integTest.assertions.awsApiCall('Route53', 'getHostedZone', {
|
|
28
|
+
Id: expectPrivateHostedZone.hostedZoneId,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
hostedZoneApiCall.expect(
|
|
32
|
+
ExpectedResult.objectLike({
|
|
33
|
+
HostedZone: {
|
|
34
|
+
Id: expectPrivateHostedZone.hostedZoneId,
|
|
35
|
+
Name: expectPrivateHostedZone.zoneName,
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
app.synth();
|
|
41
|
+
|
|
@@ -267,7 +267,7 @@ new synthetics.Canary(this, 'Bucket Canary', {
|
|
|
267
267
|
```
|
|
268
268
|
|
|
269
269
|
> **Note:** Synthetics have a specified folder structure for canaries.
|
|
270
|
-
> For Node with puppeteer scripts supplied via `code.fromAsset()` or `code.fromBucket()`, the canary resource requires the following folder structure
|
|
270
|
+
> For Node with puppeteer scripts supplied via `code.fromAsset()` or `code.fromBucket()`, the canary resource requires the following folder structure for runtime versions older than `syn-nodejs-puppeteer-11.0`:
|
|
271
271
|
>
|
|
272
272
|
> ```plaintext
|
|
273
273
|
> canary/
|
|
@@ -276,6 +276,22 @@ new synthetics.Canary(this, 'Bucket Canary', {
|
|
|
276
276
|
> ├── <filename>.js
|
|
277
277
|
> ```
|
|
278
278
|
>
|
|
279
|
+
> For puppeteer based runtime versions newer than or equal to `syn-nodejs-puppeteer-11.0`, `nodjs/node_modules` is not necessary but supported.
|
|
280
|
+
>
|
|
281
|
+
> Both
|
|
282
|
+
> ```plaintext
|
|
283
|
+
> canary/
|
|
284
|
+
> ├── nodejs/
|
|
285
|
+
> ├── node_modules/
|
|
286
|
+
> ├── <filename>.js
|
|
287
|
+
> ```
|
|
288
|
+
> And
|
|
289
|
+
> ```plaintext
|
|
290
|
+
> canary/
|
|
291
|
+
> ├── <filename>.js
|
|
292
|
+
> ```
|
|
293
|
+
> are supported.
|
|
294
|
+
>
|
|
279
295
|
> For Node with playwright scripts supplied via `code.fromAsset()` or `code.fromBucket()`, the canary resource requires the following folder structure:
|
|
280
296
|
>
|
|
281
297
|
> ```plaintext
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import { App, Duration, Size, Stack, StackProps } from 'aws-cdk-lib/core';
|
|
3
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import { Construct } from 'constructs';
|
|
5
|
+
import * as synthetics from 'aws-cdk-lib/aws-synthetics';
|
|
6
|
+
|
|
7
|
+
class TestStack extends Stack {
|
|
8
|
+
public puppeteer11RootCanary: synthetics.Canary;
|
|
9
|
+
public puppeteer11NodeModulesCanary: synthetics.Canary;
|
|
10
|
+
|
|
11
|
+
constructor(scope: Construct, id: string, props?: StackProps) {
|
|
12
|
+
super(scope, id, props);
|
|
13
|
+
|
|
14
|
+
// Test puppeteer 11.0+ with root-level files only
|
|
15
|
+
this.puppeteer11RootCanary = new synthetics.Canary(this, 'Puppeteer11RootCanary', {
|
|
16
|
+
runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_11_0,
|
|
17
|
+
test: synthetics.Test.custom({
|
|
18
|
+
handler: 'canary.handler',
|
|
19
|
+
code: synthetics.Code.fromAsset(path.join(__dirname, 'canaries-runtime-validation', 'root-only')),
|
|
20
|
+
}),
|
|
21
|
+
memory: Size.mebibytes(1024),
|
|
22
|
+
timeout: Duration.minutes(2),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Test puppeteer 11.0+ also supports nodejs/node_modules structure
|
|
26
|
+
this.puppeteer11NodeModulesCanary = new synthetics.Canary(this, 'Puppeteer11NodeModulesCanary', {
|
|
27
|
+
runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_11_0,
|
|
28
|
+
test: synthetics.Test.custom({
|
|
29
|
+
handler: 'canary.handler',
|
|
30
|
+
code: synthetics.Code.fromAsset(path.join(__dirname, 'canaries')),
|
|
31
|
+
}),
|
|
32
|
+
memory: Size.mebibytes(1024),
|
|
33
|
+
timeout: Duration.minutes(2),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const app = new App();
|
|
39
|
+
const testStack = new TestStack(app, 'SyntheticsCanaryRuntimeValidationStack');
|
|
40
|
+
|
|
41
|
+
new IntegTest(app, 'SyntheticsCanaryRuntimeValidation', {
|
|
42
|
+
testCases: [testStack],
|
|
43
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: konokenj.cdk-api-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.49.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.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.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=szlT6kfFwC1PWxfeQDYJVHqUOrd_oFMr4BjnONu87TQ,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
|
|
@@ -6,7 +6,7 @@ cdk_api_mcp_server/server.py,sha256=uN5SE6PHpiOYY8QlNID1a0j2hLdeO61QX3kgC_oTODg,
|
|
|
6
6
|
cdk_api_mcp_server/resources/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/app-staging-synthesizer-alpha/README.md,sha256=rAatqlr_JE06sjgcBVdXszpwh3grV4aFkkb9L2s8IIU,16492
|
|
8
8
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/app-staging-synthesizer-alpha/resource-names.md,sha256=oSTmVHH2AZ9cd-KiITtuS0nJMOWGC0FpVg3t7p6UPMM,1323
|
|
9
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-amplify-alpha/README.md,sha256=
|
|
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
12
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md,sha256=o4IpchOHFzGdZdeX9WPIfFyHAs98uLKIkfSlBOgygB0,65269
|
|
@@ -200,7 +200,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling-hook
|
|
|
200
200
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-backup/README.md,sha256=fQ0VqirtiyA1y2P_jXCTojMGQyxO1r6S9WYk-ge29Zo,9640
|
|
201
201
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-backup/integ.backup-selection.ts,sha256=kaNB9DQen9nrE5Gj5XZkuP2LaAd53gndrPJGjjYwnaU,2160
|
|
202
202
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-backup/integ.backup.ts,sha256=amNqCqf3dCzUrxLBBKm0zSEbsS--h7BMSNQZ_b7sQ68,2473
|
|
203
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md,sha256=
|
|
203
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md,sha256=UTaFfYfuwOv1H1Xk1JyYHOKqU-N3qihxjmBtw0hKG_8,31289
|
|
204
204
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.batch-unique-name.ts,sha256=3tirUUq3KUiJVTnz7dhtEYSmDlUoLb3azlP9wzFZR2k,1171
|
|
205
205
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts,sha256=srHnG37mt_2ePCp0xjle83_q2f8zIz81h8b6hlgjS1o,4984
|
|
206
206
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-job-definition.ts,sha256=KW_7UN8nM62AJ_GKM6CnsqTp5ONuBaxRs9MGEk7B6ho,3894
|
|
@@ -208,6 +208,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.eks-
|
|
|
208
208
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.grants.ts,sha256=ErBE6_LfFjNUEPNihdjQaRMCyrTHMMx1sfo2lJF_U00,1088
|
|
209
209
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.job-queue-job-state-time-limit-actions.ts,sha256=MDYEOTBvY9Q8r95R_cGV1JuTeVTJqX7JfZpJA2lZQqQ,1274
|
|
210
210
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.job-queue.ts,sha256=ciyQVWKQWrtMJVOv4FkWLTMnMsCfrJRSM-JFwatkX6c,1174
|
|
211
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.managed-compute-environment-default-instance-class.ts,sha256=eq78gFnmtwKh9mzuvI54MBwUi1Fi1S_L7PFcsdoNbT0,743
|
|
211
212
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.managed-compute-environment.ts,sha256=5EFbUtn2vivyhT-vLGbXgYSjsC0VDcWFOs1wg_rDtZo,3196
|
|
212
213
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.multinode-job-definition.ts,sha256=Pq7iWINv6l5S8rG1b1bGcg7313HRNee7vL_IPGsn0l8,1516
|
|
213
214
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.unmanaged-compute-environment.ts,sha256=o5_ft9zLQXu9TTJqYTT0phaLt7AdqLgHMIO2r4Wh8T0,856
|
|
@@ -271,7 +272,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/integ
|
|
|
271
272
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/integ.key-value-store-frominline.ts,sha256=H2nulQGsjNN2e9WFL4s0s_f7WwWhglrhifbbOCoSQ2o,646
|
|
272
273
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/integ.key-value-store.ts,sha256=d_364YWDm0IXXVZhSOgpqDJdIH85GpykvsQ-pqQI6zM,561
|
|
273
274
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/integ.realtime-log-config.ts,sha256=ZhR1zUbouvf7RmYiYUCk-79AuTGwzDE6d8EcPWVzAPo,896
|
|
274
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md,sha256=
|
|
275
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md,sha256=ime5rJqGYbJBhoV_RydhgCAhWDiJfsTldEmsznID_Z4,36523
|
|
276
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-ip-address-type.ts,sha256=JEtXdDHOjiM13Qru5hPJQc1BIzOvi-6NVw4TW6C13jo,3311
|
|
275
277
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-oac-alias.ts,sha256=3-edAxGbTMdiXKl2eLO92R1CkKVyHV8aJDHTIooU2I4,3331
|
|
276
278
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-oac-custom.ts,sha256=Iv3QloWAIGk3tnCoeVVac7SgOVeXe_TI2YxAoY3Ixck,3618
|
|
277
279
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-oac.ts,sha256=adecJ-YpyzA2uW3bt9OPL8uhXoY2GmhLg5W_q2UxyQU,3104
|
|
@@ -301,10 +303,10 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ
|
|
|
301
303
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-insight.ts,sha256=gI_tHyK2Cet3u-uGSCuoZ1_K4gRXszK0a-G2K8UWIqg,1296
|
|
302
304
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-supplied-bucket.lit.ts,sha256=-aIb9umhzoWXVSjS5bfg03U-2BnapIEPYYMcGircXwA,1786
|
|
303
305
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail.lit.ts,sha256=wx23AzFPcH68LnBwge7yKFAomCGYM1KhDhX4XkombVY,994
|
|
304
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md,sha256=
|
|
306
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md,sha256=yzMo2nBCiwOdmj3Fx31UdOvSaIJ1a_iSkSCazg46T3w,36695
|
|
305
307
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-and-dashboard.ts,sha256=N0eDCVBXmj-p6L8iBFSeKZVtk_yGMZgdDmjQSrgeiUg,4450
|
|
306
308
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-with-label.ts,sha256=JW5Ttjku2_AEpxHjIrV2F9vp301DEU5nMPlZKyIHs1A,863
|
|
307
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.anomaly-detection-alarm.ts,sha256=
|
|
309
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.anomaly-detection-alarm.ts,sha256=YzopqTIfsG1Y-Mc54ZmK7KbkN6QkHj-Gd0E0NXYQxUs,5202
|
|
308
310
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.composite-alarm.ts,sha256=S12Y1ZmQK6IBw804nlx2nWZj3ldQ5I-N14svcDxTSvk,2269
|
|
309
311
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-and-widget-with-start-and-end.ts,sha256=eDAR6ramiRS-3oGAu9ojCChVtogpesm5d9PAVUEGz74,1283
|
|
310
312
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-variables.ts,sha256=BokCGaNpi7eJRakofbkHW3NGMUk9uZihgxhfjvOC7Do,2343
|
|
@@ -503,12 +505,13 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.t
|
|
|
503
505
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-mrsc.ts,sha256=C0yWtgzvoaxu9ZEv-7mJ6IEa3K6HIOZyOTWIEAv0Rbk,1054
|
|
504
506
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-replica.ts,sha256=ZmN5tCVGuefUKdewkwcMC_vd1t8mYj0xowKTaAFq3P4,1613
|
|
505
507
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-with-customized-role.ts,sha256=CDb1V4J2dg5-JCkFHBtF8wmMOoLaQ-6RDpZT9HnnTBg,2048
|
|
506
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md,sha256=
|
|
508
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md,sha256=h5FWcLHqabtUHxXs5hDbl88ylYuY9Mc66yWoO5EQSLU,103123
|
|
507
509
|
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
|
|
508
510
|
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
|
|
509
511
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.bastion-host-userdatacausesreplacement.ts,sha256=5Vv0q_dk3vtXkam1V9tvu6HcoIv-cUK9pwIHSZvX0ro,1377
|
|
510
512
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.bastion-host.ts,sha256=fDclL4qv1blE25gCzxbnHFWw8VXa122aJ5lezrptooI,561
|
|
511
513
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.client-vpn-endpoint-client-route-enforcement.ts,sha256=mj71wKaX59oAb536Qp5IWMUcZnPsQC1Cpf-sKQuoAiY,2614
|
|
514
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.client-vpn-endpoint-disconnect-on-session-timeout.ts,sha256=oYQP7lZTNRaGHaKM1kO0tRn-AUZcvCD-3xxKuOmsZdo,2553
|
|
512
515
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.client-vpn-endpoint.ts,sha256=9rF2AUFs7I5XHaawvE__kiw58cOKAZ_bNtXYFPhWJZ4,3229
|
|
513
516
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.core-cross-stack-string-list-references.ts,sha256=-nKx37TEQzSMH_K7wWzThRm7OOtosmO-LS9Wu6C448c,2280
|
|
514
517
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.enable-sum-timeout-instance-init.ts,sha256=8ptNC4FbEF2oC8qR9lDNN0kMGN8rBsqjXwnlKCacNxM,2452
|
|
@@ -704,7 +707,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-efs/integ.efs-tr
|
|
|
704
707
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-efs/integ.efs.permission.ts,sha256=bzH7koi5t2FgkDhEp-6ZtXgoteiCDTNd2igab4bXytA,3338
|
|
705
708
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-efs/integ.efs.ts,sha256=NmhtimqEUqH6Tu9sksWLmn8e9QcrlF-J1dn0B-9eVqw,837
|
|
706
709
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/MANUAL_TEST.md,sha256=uObwqDllAUYBGkoNEAQGioL6JuKqh5ScVbq9KC3x89Q,1862
|
|
707
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md,sha256=
|
|
710
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md,sha256=3LQ9jypS7vqdr-Q_cqqw0C3szC8M-48QGMTWFM3YN2E,82365
|
|
708
711
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.alb-controller-authapi.ts,sha256=L9dF26-F2Fw-O1iGAnT-AYnkq4JmO_IQoQn0RsOhLVY,1355
|
|
709
712
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.alb-controller.ts,sha256=cbL2kY-t0LAWLkK1Lb3RUPBeMUpw8xHWjDhkroD_Rb4,3314
|
|
710
713
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.custom-addons.ts,sha256=ZXsXljCokHOA_JubQ7ZsLT-tGy-28mg1gZ_bmNX_F-k,1475
|
|
@@ -715,6 +718,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cl
|
|
|
715
718
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-imported.ts,sha256=VcOdMfU2jCukU63bL1DJ03npPLyI8Xwr-vAtO3xFNMA,7448
|
|
716
719
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-ipv6.ts,sha256=wZ6dCJQzyJDYQEI6nfZDD2i8WGNdw4o8sIX5Rjiy4fk,13024
|
|
717
720
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-private-endpoint.ts,sha256=kktgfPNMy7xPy9zJTcaSxbvAQZF3tPHJJ_K4kVZYofA,1825
|
|
721
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-removal-policy.ts,sha256=AOvKvS8aWzh4Vb4WqWB58y7hCwabLJk4mJM316j-ZWc,1070
|
|
718
722
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-tags.ts,sha256=dsPOuZv-3zKtgCmsYmxd2MJxzrwH1QAziJZHKs_GfjA,1321
|
|
719
723
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster.ts,sha256=uO4jfIQJb-zvcle-osXELtS6Y-Y3MCJBKiNAtYd7_9o,12876
|
|
720
724
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-helm-asset.ts,sha256=oK98kChrQxAY4PK5K8t7E9K36GqYhTyFA0Yj6MS_xos,5075
|
|
@@ -855,11 +859,12 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.saml-p
|
|
|
855
859
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.user-import.ts,sha256=HQ_9iFsMB5WfjvLOzncy2kvzRy5qwpp0Isnu-TE3Cr0,1015
|
|
856
860
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.user.ts,sha256=mr5GSF1rlNdR2uB3XXwozyCbBumMosdBLPD9PZy94iM,2183
|
|
857
861
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.users-and-groups.ts,sha256=pCj4uA3UbCvdJKIwPjVSTbagPvqBkoxrsxmjflicRR0,706
|
|
858
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/README.md,sha256=
|
|
862
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/README.md,sha256=PnINITTzVfl0qTpOZM7g_8AtzAWnkFU6iax3CGHBbRM,12093
|
|
859
863
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.cross-account-stream-consumption.ts,sha256=vdMbC3RD6T2qc84lew8fU81qdH7c3qSiP1n-Vwt4UzM,1511
|
|
860
864
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.resource-policy.ts,sha256=a_95xmp7W-Bhj2cqO8CBkG-jBMClGmReLsfJQvVligs,1084
|
|
861
865
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream-consumer.ts,sha256=dP7Vp754u1U69UWY-J3nUOVLYpGzAcb5ZRAUOFn6XAE,718
|
|
862
866
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream-dashboard.ts,sha256=ziOjkJ5WfaTPiVw7S1oqqEzzmZSl6h69OyMSSdsXh98,2804
|
|
867
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream-shard-level-monitoring.ts,sha256=Psd698h-ewAaGqb71sUNrgyT77G6KdjSZ_9IMQLnGBM,1540
|
|
863
868
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream.ts,sha256=kj0fTRhyXUG8TjWbsY1klNyJzw2AZdUfVmIWuXWCzJQ,388
|
|
864
869
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/README.md,sha256=ImsbDB-Yyuy8GFl_a6kktdM7BjZikJZF2uiU6TH2TNk,23736
|
|
865
870
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.delivery-stream.source-stream.ts,sha256=gTQNvpVUsP-IGMdMCC5SozS_GhRI_MxAo9eCuZpZbII,2235
|
|
@@ -877,7 +882,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kms/integ.key-mu
|
|
|
877
882
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kms/integ.key-rotation.ts,sha256=-6eOCNkA5F6_1kRN5txoHlGQ7WYevvDy_uPl02uuM2w,488
|
|
878
883
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kms/integ.key-sharing.lit.ts,sha256=qmYYu5-UgDr7lfWVvP__OjxAHDBhvhBYdAwRnpbj32s,955
|
|
879
884
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kms/integ.key.ts,sha256=9EHcuFYfdBIoJo4zAi6wSioW-_MfxomGNE6f69QHMQU,661
|
|
880
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md,sha256=
|
|
885
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md,sha256=CP-N7S0u5rjnuWvGLgHEyDoHE6ErJ2ZQMwERHGgFtIo,61454
|
|
881
886
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.assets.file.ts,sha256=mtLyX3KoFZg6m9zPDlx7eX5CyErzv_CPCD5s9t-rRyk,623
|
|
882
887
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.assets.lit.ts,sha256=NvvrFrgp7vq8pYeNnfl1xOy79r1CgSddvcjlEESFcyw,624
|
|
883
888
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.autoscaling.lit.ts,sha256=OPWHIoRHXA1DbigKLWPea8pFhw0dRPLgSNmaB_rAurk,2184
|
|
@@ -954,7 +959,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/in
|
|
|
954
959
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.modules.ts,sha256=etsjdg80JJb_gag1tC0I2DgOcARVOCrRZsQYr46sQv0,2323
|
|
955
960
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.nodejs.build.images.ts,sha256=ws9WjuRf3nTKpTnZXNRheCwkQTDjf_UV9KwinnOHzVw,1742
|
|
956
961
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.specifycode.ts,sha256=JdlBTKpPf5xlQlfTYlXUMbMVwGD0a-heEYPx0ZNFO9U,1938
|
|
957
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md,sha256=
|
|
962
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md,sha256=BjXWQpYFe5xXJn-aAs7C4puBP-TJMGe_XZ7F6UsuZ0k,24500
|
|
958
963
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.expose-metric.ts,sha256=nHHNSRyq2eGVZkZe1_UWwdr7vWnBDqdMWoiArzJleHI,1256
|
|
959
964
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.log-group-metrics.ts,sha256=3t37idu5s4B6dxhZWD_7pNeue7eJCume6MdEgtc1TTs,707
|
|
960
965
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.log-group.ts,sha256=ffml_7GAfXAFSr_qqzrBZ08eG_ZhLS1T-8d-hdsxNf4,1312
|
|
@@ -964,6 +969,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.log-r
|
|
|
964
969
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroup-grantread.ts,sha256=3Gjcq80bm6qeqjTmq_rbVVYvbWDTLkGWFclh3_XLY2Q,491
|
|
965
970
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroup-transformer.ts,sha256=2DmUNPzqW5FOnYRckyW74XKJwbubhc2gdIT2YhUoi9E,1271
|
|
966
971
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroupclass.ts,sha256=ZiJznICcvepDPf97FzReAD5l9FTnWtL6RsNw1cQABgg,2001
|
|
972
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter-apply-on-transformed-logs.ts,sha256=mtdSCzSr3_Hui8mZS9OGBfjcM3DsaGEees6gK4RRCNg,884
|
|
967
973
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter-dimensions.ts,sha256=XAqWm-eyYcmifgZnB4soQEYFBIAbPpkzvnm1Uzng828,913
|
|
968
974
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter-unit.ts,sha256=1g5XU59COeVHj4kL8GuNGnse_Kx0gMHboew4RGR1zyM,983
|
|
969
975
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter.lit.ts,sha256=fH_QY-X6Qs3nuNbhaiqM-4DbMm2G1AE8I-1a5QWO_OY,896
|
|
@@ -986,7 +992,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservic
|
|
|
986
992
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.gp3.ts,sha256=_YsIdlEllL1v_1YZzpXrwxHMttphlJe_xf11f1_4z3s,1526
|
|
987
993
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.https.ts,sha256=enL7r3ppaN_yxoRYse_nCmRrC9qdIcbqMoC_bCRdSLM,1655
|
|
988
994
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ip-address-type.ts,sha256=OeLFqyLYl38FltS_earKPmZ9loassPKmMErTopMwlvE,1136
|
|
989
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.min.ts,sha256=
|
|
995
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.min.ts,sha256=wbQaBJNWyspQ_hAHm4gEDdU98Xj7lh3XmZ-zEueFgeA,1109
|
|
990
996
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.multiaz-with-standby.ts,sha256=I_g-biRG4nRKXW7gozIp6d00OIzwCw2_Eja3LNZrrkY,891
|
|
991
997
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.nodeoptions.ts,sha256=sKineUIZrUMBwMWMps0ryRVxBbbSHs5XlOErcXJ_r6A,1379
|
|
992
998
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ts,sha256=HAxPSl15GNYZuzGEjZhSNgIPoAMXm7YzPocUZ2KYmSU,2087
|
|
@@ -1055,7 +1061,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.server
|
|
|
1055
1061
|
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
|
|
1056
1062
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.serverless-cluster-secret-rotation.ts,sha256=dQh8mE1sGqXoh1oNLTHVGkxqJo1DUF9xFGRtpUMTtwM,1131
|
|
1057
1063
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.serverless-cluster.ts,sha256=QRk6RSL7MjT-Z0Wa5IqAGw6e4D9d1eD-_FF9JNPqaDc,1491
|
|
1058
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md,sha256=
|
|
1064
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md,sha256=CRlLU2bEgeVQMBA8Z-alkhNcJ4VUT6QjQJiO0LHgxxM,21343
|
|
1059
1065
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.cidr-routing-config.ts,sha256=s00XKe_4ev7V2QdrsMz1hTQdD7NG_DEvMKQO-qo2pOw,1820
|
|
1060
1066
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.cross-account-zone-delegation.ts,sha256=_rpT4PhjPn4zzQJkbCVdNuf_2PxCVAMBFh_sbI9Ipbc,4723
|
|
1061
1067
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.delete-existing-record-set.ts,sha256=S1DuUvrdXqsQO1-tBOrrZmLxbAtjLuYCbtVVULjCcQo,1177
|
|
@@ -1064,6 +1070,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.he
|
|
|
1064
1070
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.import-existing-record-as-target.ts,sha256=HoL7yDptu96MX3-H2AcxqCbMWqrpWPSfDa2u47JPcDc,1001
|
|
1065
1071
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.latency-based-routing.ts,sha256=77NkucfoIMrvBFoRlqEUqSSMTU79dTDhdefyxaxqymA,1052
|
|
1066
1072
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.multi-value-answer-routing.ts,sha256=SSysel7SV6qlTIjotyUpmRebj2cdIvZ7uQBkW-xnENI,844
|
|
1073
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.private-hosted-zone-from-attributes.ts,sha256=WKQP2KGdf6CXKHWLpCUFPwJ-jSMPlkMgay6z4g3Fi2E,1198
|
|
1067
1074
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.record-weight-from-cfnparameter.ts,sha256=V6veG5-MhCReyePAiNl2XQn-GcJvhqF9-f2calibTRc,1514
|
|
1068
1075
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.rename-cross-account-zone-delegation.ts,sha256=MSew1BwKTkwSMabaHaS0qFfJwTPCKME-6yzp4l4ImTQ,2841
|
|
1069
1076
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.route53.ts,sha256=Tq-9AddKPw_XL9OpbSbAxcHUvNie_aNwUgxc_qc--t8,4191
|
|
@@ -1334,7 +1341,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-ta
|
|
|
1334
1341
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.submit-job-queue-jsonpath.ts,sha256=xOerJeeBfCEpEBPYLnYh-Naycr-a9GqXLdxs6G-hPHs,2136
|
|
1335
1342
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.submit-job.d.ts,sha256=jmCbtxwguFjHfw6fkLsTGduEd7E_n5ZfGh4YUkv1CIE,11
|
|
1336
1343
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.submit-job.ts,sha256=e0cd9QvnR01q6F6XgoRXqJRnCVmhU_q2teRsKQtI4UE,2834
|
|
1337
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md,sha256
|
|
1344
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md,sha256=-O41Y3c-v9VxNqhycgr3Jjbd4wbQ3spBilc4KUgMgUw,18984
|
|
1338
1345
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-artifact-s3-encryption.ts,sha256=vtDZDYpMfnRftpjBhSwl9GpjiqQ7_m55iidSJPzTuhs,2628
|
|
1339
1346
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-auto-delete-lambda.ts,sha256=epAsfPC1zL0Kb0RKv9msG2gkCvV83ka6Lvpj1nupd84,2360
|
|
1340
1347
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-browser-type.ts,sha256=v_b25HY2WKN93qiwmrwyb5jvqLu2Gvzq7iS3K7JRrq4,1124
|
|
@@ -1343,6 +1350,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ
|
|
|
1343
1350
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-resources-to-replicate-tags.ts,sha256=M9Hk4ySI9PdQPUFcn8-DxtwwoAY-9mkhyLHOXJZ-9es,1324
|
|
1344
1351
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-retry.ts,sha256=yljGENGCTFioDF7HKEiBL_CHsXtTwTKEJwnoLxoMZN0,1019
|
|
1345
1352
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-run-config.ts,sha256=i12uJ6csuikhj12WPeEmhbMXXhE1h-oCVtKUzmVDkOU,1037
|
|
1353
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-runtime-validation.ts,sha256=oVqhg7P54848p7Ev9P9xtz_BFhL5QwC93I3zOIx25mM,1662
|
|
1346
1354
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary.ts,sha256=WtKNXkWy6LB4XoywQMyqurIabVb7JDK5ZseRu1iK2fA,5169
|
|
1347
1355
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.vpc.ts,sha256=SQ6nTKnZVGTdW74COWLoGrbP63SvfQwejjOFEND5kgM,848
|
|
1348
1356
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cloud-assembly-schema/README.md,sha256=Z2oUXaazqWdn3UQYUAm7uNYB_rJRHS_sec1FrPaIJ2Q,2911
|
|
@@ -1417,8 +1425,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipe
|
|
|
1417
1425
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/region-info/README.md,sha256=vewWkV3ds9o9iyyYaJBNTkaKJ2XA6K2yF17tAxUnujg,2718
|
|
1418
1426
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/README.md,sha256=hYIx7DbG_7p4LYLUfxDwgIQjw9UNdz1GLrqDe8_Dbko,4132
|
|
1419
1427
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/integ.triggers.ts,sha256=4OHplMoBOgHGkktAzoU-TuNmJQS5wGAUvBfj5bGSe_Y,2807
|
|
1420
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1421
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1422
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1423
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1424
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1428
|
+
konokenj_cdk_api_mcp_server-0.49.0.dist-info/METADATA,sha256=ncxYO3IB0a6PzF58hXS0yGvOXmvOiLP2gCkHrXDP0gk,2646
|
|
1429
|
+
konokenj_cdk_api_mcp_server-0.49.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
1430
|
+
konokenj_cdk_api_mcp_server-0.49.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
|
|
1431
|
+
konokenj_cdk_api_mcp_server-0.49.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
|
|
1432
|
+
konokenj_cdk_api_mcp_server-0.49.0.dist-info/RECORD,,
|
{konokenj_cdk_api_mcp_server-0.48.0.dist-info → konokenj_cdk_api_mcp_server-0.49.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|