konokenj.cdk-api-mcp-server 0.71.0__py3-none-any.whl → 0.72.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-bedrock-agentcore-alpha/README.md +129 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README.md +195 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md +5 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-bedrock/README.md +2 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-bedrockagentcore/README.md +24 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md +108 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-native-oidc.ts +49 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-oidc-provider.ts +19 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/README.md +76 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.kafka-observability.ts +90 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.nested-stack-suppress-template-indentation.ts +29 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +25 -0
- {konokenj_cdk_api_mcp_server-0.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.0.dist-info}/RECORD +20 -16
- {konokenj_cdk_api_mcp_server-0.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.0.dist-info}/licenses/LICENSE.txt +0 -0
cdk_api_mcp_server/__about__.py
CHANGED
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md
CHANGED
|
@@ -469,16 +469,34 @@ const repository = new ecr.Repository(this, "TestRepository", {
|
|
|
469
469
|
});
|
|
470
470
|
const agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, "v1.0.0");
|
|
471
471
|
|
|
472
|
+
// Optional: Create custom claims for additional validation
|
|
473
|
+
const customClaims = [
|
|
474
|
+
agentcore.RuntimeCustomClaim.withStringValue('department', 'engineering'),
|
|
475
|
+
agentcore.RuntimeCustomClaim.withStringArrayValue('roles', ['admin'], agentcore.CustomClaimOperator.CONTAINS),
|
|
476
|
+
agentcore.RuntimeCustomClaim.withStringArrayValue('permissions', ['read', 'write'], agentcore.CustomClaimOperator.CONTAINS_ANY),
|
|
477
|
+
];
|
|
478
|
+
|
|
472
479
|
const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
473
480
|
runtimeName: "myAgent",
|
|
474
481
|
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
475
482
|
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingCognito(
|
|
476
483
|
userPool, // User Pool (required)
|
|
477
484
|
[userPoolClient, anotherUserPoolClient], // User Pool Clients
|
|
485
|
+
["audience1"], // Allowed Audiences (optional)
|
|
486
|
+
["read", "write"], // Allowed Scopes (optional)
|
|
487
|
+
customClaims, // Custom claims (optional) - see Custom Claims Validation section
|
|
478
488
|
),
|
|
479
489
|
});
|
|
480
490
|
```
|
|
481
491
|
|
|
492
|
+
You can configure:
|
|
493
|
+
|
|
494
|
+
- User Pool: The Cognito User Pool that issues JWT tokens
|
|
495
|
+
- User Pool Clients: One or more Cognito User Pool App Clients that are allowed to access the runtime
|
|
496
|
+
- Allowed audiences: Used to validate that the audiences specified in the Cognito token match or are a subset of the audiences specified in the AgentCore Runtime
|
|
497
|
+
- Allowed scopes: Allow access only if the token contains at least one of the required scopes configured here
|
|
498
|
+
- Custom claims: A set of rules to match specific claims in the incoming token against predefined values for validating JWT tokens
|
|
499
|
+
|
|
482
500
|
#### JWT Authentication
|
|
483
501
|
|
|
484
502
|
To configure custom JWT authentication with your own OpenID Connect (OIDC) provider:
|
|
@@ -495,13 +513,77 @@ const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
|
495
513
|
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingJWT(
|
|
496
514
|
"https://example.com/.well-known/openid-configuration", // Discovery URL (required)
|
|
497
515
|
["client1", "client2"], // Allowed Client IDs (optional)
|
|
498
|
-
["audience1"] // Allowed Audiences (optional)
|
|
516
|
+
["audience1"], // Allowed Audiences (optional)
|
|
517
|
+
["read", "write"], // Allowed Scopes (optional)
|
|
518
|
+
// Custom claims (optional) - see Custom Claims Validation section below
|
|
499
519
|
),
|
|
500
520
|
});
|
|
501
521
|
```
|
|
502
522
|
|
|
523
|
+
You can configure:
|
|
524
|
+
|
|
525
|
+
- Discovery URL: Enter the Discovery URL from your identity provider (e.g. Okta, Cognito, etc.), typically found in that provider's documentation. This allows your Agent or Tool to fetch login, downstream resource token, and verification settings.
|
|
526
|
+
- Allowed audiences: This is used to validate that the audiences specified for the OAuth token matches or are a subset of the audiences specified in the AgentCore Runtime.
|
|
527
|
+
- Allowed clients: This is used to validate that the public identifier of the client, as specified in the authorization token, is allowed to access the AgentCore Runtime.
|
|
528
|
+
- Allowed scopes: Allow access only if the token contains at least one of the required scopes configured here.
|
|
529
|
+
- Custom claims: A set of rules to match specific claims in the incoming token against predefined values for validating JWT tokens.
|
|
530
|
+
|
|
503
531
|
**Note**: The discovery URL must end with `/.well-known/openid-configuration`.
|
|
504
532
|
|
|
533
|
+
##### Custom Claims Validation
|
|
534
|
+
|
|
535
|
+
Custom claims allow you to validate additional fields in JWT tokens beyond the standard audience, client, and scope validations. You can create custom claims using the `RuntimeCustomClaim` class:
|
|
536
|
+
|
|
537
|
+
```typescript fixture=default
|
|
538
|
+
const repository = new ecr.Repository(this, "TestRepository", {
|
|
539
|
+
repositoryName: "test-agent-runtime",
|
|
540
|
+
});
|
|
541
|
+
const agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, "v1.0.0");
|
|
542
|
+
|
|
543
|
+
// String claim - validates that the claim exactly equals the specified value
|
|
544
|
+
// Uses EQUALS operator automatically
|
|
545
|
+
const departmentClaim = agentcore.RuntimeCustomClaim.withStringValue('department', 'engineering');
|
|
546
|
+
|
|
547
|
+
// String array claim with CONTAINS operator (default)
|
|
548
|
+
// Validates that the claim array contains a specific string value
|
|
549
|
+
// IMPORTANT: CONTAINS requires exactly one value in the array parameter
|
|
550
|
+
const rolesClaim = agentcore.RuntimeCustomClaim.withStringArrayValue('roles', ['admin']);
|
|
551
|
+
|
|
552
|
+
// String array claim with CONTAINS_ANY operator
|
|
553
|
+
// Validates that the claim array contains at least one of the specified values
|
|
554
|
+
// Use this when you want to check for multiple possible values
|
|
555
|
+
const permissionsClaim = agentcore.RuntimeCustomClaim.withStringArrayValue(
|
|
556
|
+
'permissions',
|
|
557
|
+
['read', 'write'],
|
|
558
|
+
agentcore.CustomClaimOperator.CONTAINS_ANY
|
|
559
|
+
);
|
|
560
|
+
|
|
561
|
+
// Use custom claims in authorizer configuration
|
|
562
|
+
const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
563
|
+
runtimeName: "myAgent",
|
|
564
|
+
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
565
|
+
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingJWT(
|
|
566
|
+
"https://example.com/.well-known/openid-configuration",
|
|
567
|
+
["client1", "client2"],
|
|
568
|
+
["audience1"],
|
|
569
|
+
["read", "write"],
|
|
570
|
+
[departmentClaim, rolesClaim, permissionsClaim] // Custom claims
|
|
571
|
+
),
|
|
572
|
+
});
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
**Custom Claim Rules**:
|
|
576
|
+
|
|
577
|
+
- **String claims**: Must use the `EQUALS` operator (automatically set). The claim value must exactly match the specified string.
|
|
578
|
+
- **String array claims**: Can use `CONTAINS` (default) or `CONTAINS_ANY` operators:
|
|
579
|
+
- **`CONTAINS`**: Checks if the claim array contains a specific string value. **Requires exactly one value** in the array parameter. For example, `['admin']` will check if the token's claim array contains the string `'admin'`.
|
|
580
|
+
- **`CONTAINS_ANY`**: Checks if the claim array contains at least one of the provided string values. Use this when you want to validate against multiple possible values. For example, `['read', 'write']` will check if the token's claim array contains either `'read'` or `'write'`.
|
|
581
|
+
|
|
582
|
+
**Example Use Cases**:
|
|
583
|
+
|
|
584
|
+
- Use `CONTAINS` when you need to verify a user has a specific role: `RuntimeCustomClaim.withStringArrayValue('roles', ['admin'])`
|
|
585
|
+
- Use `CONTAINS_ANY` when you need to verify a user has any of several permissions: `RuntimeCustomClaim.withStringArrayValue('permissions', ['read', 'write'], CustomClaimOperator.CONTAINS_ANY)`
|
|
586
|
+
|
|
505
587
|
#### OAuth Authentication
|
|
506
588
|
|
|
507
589
|
To configure OAuth 2.0 authentication:
|
|
@@ -516,8 +598,11 @@ const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
|
516
598
|
runtimeName: "myAgent",
|
|
517
599
|
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
518
600
|
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingOAuth(
|
|
519
|
-
"https://github.com/.well-known/openid-configuration",
|
|
520
|
-
"oauth_client_123",
|
|
601
|
+
"https://github.com/.well-known/openid-configuration", // Discovery URL (required)
|
|
602
|
+
"oauth_client_123", // OAuth Client ID (required)
|
|
603
|
+
["audience1"], // Allowed Audiences (optional)
|
|
604
|
+
["openid", "profile"], // Allowed Scopes (optional)
|
|
605
|
+
// Custom claims (optional) - see Custom Claims Validation section
|
|
521
606
|
),
|
|
522
607
|
});
|
|
523
608
|
```
|
|
@@ -1132,21 +1217,33 @@ your AgentCore gateway. By default, if not provided, the construct will create a
|
|
|
1132
1217
|
**JSON Web Token (JWT)** – A secure and compact token used for authorization. After creating the JWT, you specify it as the authorization
|
|
1133
1218
|
configuration when you create the gateway. You can create a JWT with any of the identity providers at Provider setup and configuration.
|
|
1134
1219
|
|
|
1135
|
-
You can configure a custom authorization provider using the `
|
|
1220
|
+
You can configure a custom authorization provider using the `authorizerConfiguration` property with `GatewayAuthorizer.usingCustomJwt()`.
|
|
1136
1221
|
You need to specify an OAuth discovery server and client IDs/audiences when you create the gateway. You can specify the following:
|
|
1137
1222
|
|
|
1138
1223
|
- Discovery Url — String that must match the pattern ^.+/\.well-known/openid-configuration$ for OpenID Connect discovery URLs
|
|
1139
1224
|
- At least one of the below options depending on the chosen identity provider.
|
|
1140
1225
|
- Allowed audiences — List of allowed audiences for JWT tokens
|
|
1141
1226
|
- Allowed clients — List of allowed client identifiers
|
|
1227
|
+
- Allowed scopes — List of allowed scopes for JWT tokens
|
|
1228
|
+
- Custom claims — Optional custom claim validations (see Custom Claims Validation section below)
|
|
1142
1229
|
|
|
1143
1230
|
```typescript fixture=default
|
|
1231
|
+
|
|
1232
|
+
// Optional: Create custom claims (CustomClaimOperator and GatewayCustomClaim from agentcore)
|
|
1233
|
+
const customClaims = [
|
|
1234
|
+
agentcore.GatewayCustomClaim.withStringValue('department', 'engineering'),
|
|
1235
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('roles', ['admin'], agentcore.CustomClaimOperator.CONTAINS),
|
|
1236
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('permissions', ['read', 'write'], agentcore.CustomClaimOperator.CONTAINS_ANY),
|
|
1237
|
+
];
|
|
1238
|
+
|
|
1144
1239
|
const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
1145
1240
|
gatewayName: "my-gateway",
|
|
1146
1241
|
authorizerConfiguration: agentcore.GatewayAuthorizer.usingCustomJwt({
|
|
1147
1242
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1148
1243
|
allowedAudience: ["my-app"],
|
|
1149
1244
|
allowedClients: ["my-client-id"],
|
|
1245
|
+
allowedScopes: ["read", "write"],
|
|
1246
|
+
customClaims: customClaims, // Optional custom claims
|
|
1150
1247
|
}),
|
|
1151
1248
|
});
|
|
1152
1249
|
```
|
|
@@ -1188,6 +1285,31 @@ const oauthScopes = gateway.oauthScopes;
|
|
|
1188
1285
|
// oauthScopes are in the format: ['{resourceServerId}/read', '{resourceServerId}/write']
|
|
1189
1286
|
```
|
|
1190
1287
|
|
|
1288
|
+
**Using Cognito User Pool Explicitly with Custom Claims** – You can also use an existing Cognito User Pool with custom claims:
|
|
1289
|
+
|
|
1290
|
+
```typescript fixture=default
|
|
1291
|
+
declare const userPool: cognito.UserPool;
|
|
1292
|
+
declare const userPoolClient: cognito.UserPoolClient;
|
|
1293
|
+
|
|
1294
|
+
// Optional: Create custom claims (CustomClaimOperator and GatewayCustomClaim from agentcore)
|
|
1295
|
+
const customClaims = [
|
|
1296
|
+
agentcore.GatewayCustomClaim.withStringValue('department', 'engineering'),
|
|
1297
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('roles', ['admin'], agentcore.CustomClaimOperator.CONTAINS),
|
|
1298
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('permissions', ['read', 'write'], agentcore.CustomClaimOperator.CONTAINS_ANY),
|
|
1299
|
+
];
|
|
1300
|
+
|
|
1301
|
+
const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
1302
|
+
gatewayName: "my-gateway",
|
|
1303
|
+
authorizerConfiguration: agentcore.GatewayAuthorizer.usingCognito({
|
|
1304
|
+
userPool: userPool,
|
|
1305
|
+
allowedClients: [userPoolClient],
|
|
1306
|
+
allowedAudiences: ["audience1"],
|
|
1307
|
+
allowedScopes: ["read", "write"],
|
|
1308
|
+
customClaims: customClaims, // Optional custom claims
|
|
1309
|
+
}),
|
|
1310
|
+
});
|
|
1311
|
+
```
|
|
1312
|
+
|
|
1191
1313
|
To authenticate with the gateway, request an access token using the client credentials flow and use it to call Gateway endpoints. For more information about the token endpoint, see [The token issuer endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html).
|
|
1192
1314
|
|
|
1193
1315
|
The following is an example of a token request using curl:
|
|
@@ -1225,6 +1347,7 @@ const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
|
1225
1347
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1226
1348
|
allowedAudience: ["my-app"],
|
|
1227
1349
|
allowedClients: ["my-client-id"],
|
|
1350
|
+
allowedScopes: ["read", "write"],
|
|
1228
1351
|
}),
|
|
1229
1352
|
kmsKey: encryptionKey,
|
|
1230
1353
|
exceptionLevel: agentcore.GatewayExceptionLevel.DEBUG,
|
|
@@ -1255,6 +1378,7 @@ const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
|
1255
1378
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1256
1379
|
allowedAudience: ["my-app"],
|
|
1257
1380
|
allowedClients: ["my-client-id"],
|
|
1381
|
+
allowedScopes: ["read", "write"],
|
|
1258
1382
|
}),
|
|
1259
1383
|
role: executionRole,
|
|
1260
1384
|
});
|
|
@@ -1278,6 +1402,7 @@ const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
|
1278
1402
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1279
1403
|
allowedAudience: ["my-app"],
|
|
1280
1404
|
allowedClients: ["my-client-id"],
|
|
1405
|
+
allowedScopes: ["read", "write"],
|
|
1281
1406
|
}),
|
|
1282
1407
|
});
|
|
1283
1408
|
|
|
@@ -451,6 +451,34 @@ new eks.Cluster(this, 'HelloEKS', {
|
|
|
451
451
|
});
|
|
452
452
|
```
|
|
453
453
|
|
|
454
|
+
To provide additional Helm chart values supported by `albController` in CDK, use the `additionalHelmChartValues` property. For example, the following code snippet shows how to set the `enableWafV2` flag:
|
|
455
|
+
|
|
456
|
+
```ts
|
|
457
|
+
import { KubectlV34Layer } from '@aws-cdk/lambda-layer-kubectl-v34';
|
|
458
|
+
|
|
459
|
+
new eks.Cluster(this, 'HelloEKS', {
|
|
460
|
+
version: eks.KubernetesVersion.V1_34,
|
|
461
|
+
albController: {
|
|
462
|
+
version: eks.AlbControllerVersion.V2_8_2,
|
|
463
|
+
additionalHelmChartValues: {
|
|
464
|
+
enableWafv2: false
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
});
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
To overwrite an existing ALB controller service account, use the `overwriteServiceAccount` property:
|
|
471
|
+
|
|
472
|
+
```ts
|
|
473
|
+
new eks.Cluster(this, 'HelloEKS', {
|
|
474
|
+
version: eks.KubernetesVersion.V1_34,
|
|
475
|
+
albController: {
|
|
476
|
+
version: eks.AlbControllerVersion.V2_8_2,
|
|
477
|
+
overwriteServiceAccount: true,
|
|
478
|
+
},
|
|
479
|
+
});
|
|
480
|
+
```
|
|
481
|
+
|
|
454
482
|
The `albController` requires `defaultCapacity` or at least one nodegroup. If there's no `defaultCapacity` or available
|
|
455
483
|
nodegroup for the cluster, the `albController` deployment would fail.
|
|
456
484
|
|
|
@@ -755,6 +783,173 @@ By default, the cluster creator role will be granted the cluster admin permissio
|
|
|
755
783
|
|
|
756
784
|
> **Note** - Switching `bootstrapClusterCreatorAdminPermissions` on an existing cluster would cause cluster replacement and should be avoided in production.
|
|
757
785
|
|
|
786
|
+
|
|
787
|
+
### Service Accounts
|
|
788
|
+
|
|
789
|
+
With services account you can provide Kubernetes Pods access to AWS resources.
|
|
790
|
+
|
|
791
|
+
```ts
|
|
792
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
793
|
+
declare const cluster: eks.Cluster;
|
|
794
|
+
// add service account
|
|
795
|
+
const serviceAccount = cluster.addServiceAccount('MyServiceAccount');
|
|
796
|
+
|
|
797
|
+
const bucket = new s3.Bucket(this, 'Bucket');
|
|
798
|
+
bucket.grantReadWrite(serviceAccount);
|
|
799
|
+
|
|
800
|
+
const mypod = cluster.addManifest('mypod', {
|
|
801
|
+
apiVersion: 'v1',
|
|
802
|
+
kind: 'Pod',
|
|
803
|
+
metadata: { name: 'mypod' },
|
|
804
|
+
spec: {
|
|
805
|
+
serviceAccountName: serviceAccount.serviceAccountName,
|
|
806
|
+
containers: [
|
|
807
|
+
{
|
|
808
|
+
name: 'hello',
|
|
809
|
+
image: 'paulbouwer/hello-kubernetes:1.5',
|
|
810
|
+
ports: [ { containerPort: 8080 } ],
|
|
811
|
+
},
|
|
812
|
+
],
|
|
813
|
+
},
|
|
814
|
+
});
|
|
815
|
+
|
|
816
|
+
// create the resource after the service account.
|
|
817
|
+
mypod.node.addDependency(serviceAccount);
|
|
818
|
+
|
|
819
|
+
// print the IAM role arn for this service account
|
|
820
|
+
new CfnOutput(this, 'ServiceAccountIamRole', { value: serviceAccount.role.roleArn });
|
|
821
|
+
```
|
|
822
|
+
|
|
823
|
+
Note that using `serviceAccount.serviceAccountName` above **does not** translate into a resource dependency.
|
|
824
|
+
This is why an explicit dependency is needed. See <https://github.com/aws/aws-cdk/issues/9910> for more details.
|
|
825
|
+
|
|
826
|
+
It is possible to pass annotations and labels to the service account.
|
|
827
|
+
|
|
828
|
+
```ts
|
|
829
|
+
declare const cluster: eks.Cluster;
|
|
830
|
+
// add service account with annotations and labels
|
|
831
|
+
const serviceAccount = cluster.addServiceAccount('MyServiceAccount', {
|
|
832
|
+
annotations: {
|
|
833
|
+
'eks.amazonaws.com/sts-regional-endpoints': 'false',
|
|
834
|
+
},
|
|
835
|
+
labels: {
|
|
836
|
+
'some-label': 'with-some-value',
|
|
837
|
+
},
|
|
838
|
+
});
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
You can also add service accounts to existing clusters.
|
|
842
|
+
To do so, pass the `openIdConnectProvider` property when you import the cluster into the application.
|
|
843
|
+
|
|
844
|
+
```ts
|
|
845
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
846
|
+
// you can import an existing provider
|
|
847
|
+
const provider = eks.OidcProviderNative.fromOidcProviderArn(this, 'Provider', 'arn:aws:iam::123456:oidc-provider/oidc.eks.eu-west-1.amazonaws.com/id/AB123456ABC');
|
|
848
|
+
|
|
849
|
+
// or create a new one using an existing issuer url
|
|
850
|
+
declare const issuerUrl: string;
|
|
851
|
+
const provider2 = new eks.OidcProviderNative(this, 'Provider', {
|
|
852
|
+
url: issuerUrl,
|
|
853
|
+
});
|
|
854
|
+
|
|
855
|
+
import { KubectlV34Layer } from '@aws-cdk/lambda-layer-kubectl-v34';
|
|
856
|
+
|
|
857
|
+
const cluster = eks.Cluster.fromClusterAttributes(this, 'MyCluster', {
|
|
858
|
+
clusterName: 'Cluster',
|
|
859
|
+
openIdConnectProvider: provider,
|
|
860
|
+
kubectlProviderOptions: {
|
|
861
|
+
kubectlLayer: new KubectlV34Layer(this, 'kubectl'),
|
|
862
|
+
}});
|
|
863
|
+
|
|
864
|
+
const serviceAccount = cluster.addServiceAccount('MyServiceAccount');
|
|
865
|
+
|
|
866
|
+
const bucket = new s3.Bucket(this, 'Bucket');
|
|
867
|
+
bucket.grantReadWrite(serviceAccount);
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
Note that adding service accounts requires running `kubectl` commands against the cluster which requires you to provide `kubectlProviderOptions` in the cluster props to create the `kubectl` provider. See [Kubectl Support](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-eks-v2-alpha-readme.html#kubectl-support)
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
#### Migrating from the deprecated eks.OpenIdConnectProvider to eks.OidcProviderNative
|
|
874
|
+
|
|
875
|
+
`eks.OpenIdConnectProvider` creates an IAM OIDC (OpenId Connect) provider using a custom resource while `eks.OidcProviderNative` uses the CFN L1 (AWS::IAM::OidcProvider) to create the provider. It is recommended for new and existing projects to use `eks.OidcProviderNative`.
|
|
876
|
+
|
|
877
|
+
To migrate without temporarily removing the OIDCProvider, follow these steps:
|
|
878
|
+
|
|
879
|
+
1. Set the `removalPolicy` of `cluster.openIdConnectProvider` to `RETAIN`.
|
|
880
|
+
|
|
881
|
+
```ts
|
|
882
|
+
import * as cdk from 'aws-cdk-lib';
|
|
883
|
+
declare const cluster: eks.Cluster;
|
|
884
|
+
|
|
885
|
+
cdk.RemovalPolicies.of(cluster.openIdConnectProvider).apply(cdk.RemovalPolicy.RETAIN);
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
2. Run `cdk diff` to verify the changes are expected then `cdk deploy`.
|
|
889
|
+
|
|
890
|
+
3. Add the following to the `context` field of your `cdk.json` to enable the feature flag that creates the native oidc provider.
|
|
891
|
+
|
|
892
|
+
```json
|
|
893
|
+
"@aws-cdk/aws-eks:useNativeOidcProvider": true,
|
|
894
|
+
```
|
|
895
|
+
|
|
896
|
+
4. Run `cdk diff` and ensure the changes are expected. Example of an expected diff:
|
|
897
|
+
|
|
898
|
+
```bash
|
|
899
|
+
Resources
|
|
900
|
+
[-] Custom::AWSCDKOpenIdConnectProvider TestCluster/OpenIdConnectProvider/Resource TestClusterOpenIdConnectProviderE18F0FD0 orphan
|
|
901
|
+
[-] AWS::IAM::Role Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Role CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65 destroy
|
|
902
|
+
[-] AWS::Lambda::Function Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Handler CustomAWSCDKOpenIdConnectProviderCustomResourceProviderHandlerF2C543E0 destroy
|
|
903
|
+
[+] AWS::IAM::OIDCProvider TestCluster/OidcProviderNative TestClusterOidcProviderNative0BE3F155
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
5. Run `cdk import --force` and provide the ARN of the existing OpenIdConnectProvider when prompted. You will get a warning about pending changes to existing resources which is expected.
|
|
907
|
+
|
|
908
|
+
6. Run `cdk deploy` to apply any pending changes. This will apply the destroy/orphan changes in the above example.
|
|
909
|
+
|
|
910
|
+
If you are creating the OpenIdConnectProvider manually via `new eks.OpenIdConnectProvider`, follow these steps:
|
|
911
|
+
|
|
912
|
+
1. Set the `removalPolicy` of the existing `OpenIdConnectProvider` to `RemovalPolicy.RETAIN`.
|
|
913
|
+
|
|
914
|
+
```ts
|
|
915
|
+
import * as cdk from 'aws-cdk-lib';
|
|
916
|
+
// Step 1: Add retain policy to existing provider
|
|
917
|
+
const existingProvider = new eks.OpenIdConnectProvider(this, 'Provider', {
|
|
918
|
+
url: 'https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLE',
|
|
919
|
+
removalPolicy: cdk.RemovalPolicy.RETAIN, // Add this line
|
|
920
|
+
});
|
|
921
|
+
```
|
|
922
|
+
|
|
923
|
+
2. Deploy with the retain policy to avoid deletion of the underlying resource.
|
|
924
|
+
|
|
925
|
+
```bash
|
|
926
|
+
cdk deploy
|
|
927
|
+
```
|
|
928
|
+
|
|
929
|
+
3. Replace `OpenIdConnectProvider` with `OidcProviderNative` in your code.
|
|
930
|
+
|
|
931
|
+
```ts
|
|
932
|
+
// Step 3: Replace with native provider
|
|
933
|
+
const nativeProvider = new eks.OidcProviderNative(this, 'Provider', {
|
|
934
|
+
url: 'https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLE',
|
|
935
|
+
});
|
|
936
|
+
```
|
|
937
|
+
|
|
938
|
+
4. Run `cdk diff` and verify the changes are expected. Example of an expected diff:
|
|
939
|
+
|
|
940
|
+
```bash
|
|
941
|
+
Resources
|
|
942
|
+
[-] Custom::AWSCDKOpenIdConnectProvider TestCluster/OpenIdConnectProvider/Resource TestClusterOpenIdConnectProviderE18F0FD0 orphan
|
|
943
|
+
[-] AWS::IAM::Role Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Role CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65 destroy
|
|
944
|
+
[-] AWS::Lambda::Function Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Handler CustomAWSCDKOpenIdConnectProviderCustomResourceProviderHandlerF2C543E0 destroy
|
|
945
|
+
[+] AWS::IAM::OIDCProvider TestCluster/OidcProviderNative TestClusterOidcProviderNative0BE3F155
|
|
946
|
+
```
|
|
947
|
+
|
|
948
|
+
5. Run `cdk import --force` to import the existing OIDC provider resource by providing the existing ARN.
|
|
949
|
+
|
|
950
|
+
6. Run `cdk deploy` to apply any pending changes. This will apply the destroy/orphan operations in the example diff above.
|
|
951
|
+
|
|
952
|
+
|
|
758
953
|
### Cluster Security Group
|
|
759
954
|
|
|
760
955
|
When you create an Amazon EKS cluster, a [cluster security group](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
|
|
@@ -54,7 +54,7 @@ For convenience, you can use the `.with()` method for a more fluent syntax:
|
|
|
54
54
|
import '@aws-cdk/mixins-preview/with';
|
|
55
55
|
|
|
56
56
|
const bucket = new s3.CfnBucket(scope, "MyBucket")
|
|
57
|
-
.with(new
|
|
57
|
+
.with(new BucketVersioning())
|
|
58
58
|
.with(new AutoDeleteObjects());
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -127,11 +127,11 @@ const bucket = new s3.CfnBucket(scope, "Bucket");
|
|
|
127
127
|
Mixins.of(bucket).apply(new AutoDeleteObjects());
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
-
**
|
|
130
|
+
**BucketVersioning**: Enables versioning on S3 buckets
|
|
131
131
|
|
|
132
132
|
```typescript
|
|
133
133
|
const bucket = new s3.CfnBucket(scope, "Bucket");
|
|
134
|
-
Mixins.of(bucket).apply(new
|
|
134
|
+
Mixins.of(bucket).apply(new BucketVersioning());
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
**BucketPolicyStatementsMixin**: Adds IAM policy statements to a bucket policy
|
|
@@ -231,7 +231,8 @@ Mixins.of(scope)
|
|
|
231
231
|
|
|
232
232
|
// Strict application that requires all constructs to match
|
|
233
233
|
Mixins.of(scope)
|
|
234
|
-
.
|
|
234
|
+
.requireAll() // Throws if no constructs support the mixin
|
|
235
|
+
.apply(new EncryptionAtRest());
|
|
235
236
|
```
|
|
236
237
|
|
|
237
238
|
---
|
|
@@ -1486,6 +1486,8 @@ To do this for a specific stack, add a `suppressTemplateIndentation: true` prope
|
|
|
1486
1486
|
stack's `StackProps` parameter. You can also set this property to `false` to override
|
|
1487
1487
|
the context key setting.
|
|
1488
1488
|
|
|
1489
|
+
Similarly, to do this for a specific nested stack, add a `suppressTemplateIndentation: true` property to its `NestedStackProps` parameter. You can also set this property to `false` to override the context key setting.
|
|
1490
|
+
|
|
1489
1491
|
## App Context
|
|
1490
1492
|
|
|
1491
1493
|
[Context values](https://docs.aws.amazon.com/cdk/v2/guide/context.html) are key-value pairs that can be associated with an app, stack, or construct.
|
|
@@ -30,7 +30,6 @@ bedrock.ProvisionedModel.fromProvisionedModelArn(
|
|
|
30
30
|
);
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
L2 constructs for this service are available in the [`@aws-cdk/aws-bedrock-alpha`](https://www.npmjs.com/package/@aws-cdk/aws-bedrock-alpha) package.
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
- Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::Bedrock resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Bedrock.html) directly.
|
|
35
|
+
You can also use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::Bedrock resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Bedrock.html) directly.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# AWS::BedrockAgentCore Construct Library
|
|
2
|
+
<!--BEGIN STABILITY BANNER-->
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
> All classes with the `Cfn` prefix in this module ([CFN Resources]) are always stable and safe to use.
|
|
9
|
+
>
|
|
10
|
+
> [CFN Resources]: https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<!--END STABILITY BANNER-->
|
|
15
|
+
|
|
16
|
+
This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
|
|
17
|
+
|
|
18
|
+
```ts nofixture
|
|
19
|
+
import * as bedrockagentcore from 'aws-cdk-lib/aws-bedrockagentcore';
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
L2 constructs for this service are available in the [`@aws-cdk/aws-bedrock-agentcore-alpha`](https://www.npmjs.com/package/@aws-cdk/aws-bedrock-agentcore-alpha) package.
|
|
23
|
+
|
|
24
|
+
You can also use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::BedrockAgentCore resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_BedrockAgentCore.html) directly.
|
|
@@ -731,6 +731,21 @@ new eks.Cluster(this, 'HelloEKS', {
|
|
|
731
731
|
});
|
|
732
732
|
```
|
|
733
733
|
|
|
734
|
+
To overwrite an existing ALB controller service account, use the `overwriteServiceAccount` property:
|
|
735
|
+
|
|
736
|
+
```ts
|
|
737
|
+
import { KubectlV34Layer } from '@aws-cdk/lambda-layer-kubectl-v34';
|
|
738
|
+
|
|
739
|
+
new eks.Cluster(this, 'HelloEKS', {
|
|
740
|
+
version: eks.KubernetesVersion.V1_34,
|
|
741
|
+
albController: {
|
|
742
|
+
version: eks.AlbControllerVersion.V2_8_2,
|
|
743
|
+
overwriteServiceAccount: true
|
|
744
|
+
},
|
|
745
|
+
kubectlLayer: new KubectlV34Layer(this, 'kubectl'),
|
|
746
|
+
});
|
|
747
|
+
```
|
|
748
|
+
|
|
734
749
|
The `albController` requires `defaultCapacity` or at least one nodegroup. If there's no `defaultCapacity` or available
|
|
735
750
|
nodegroup for the cluster, the `albController` deployment would fail.
|
|
736
751
|
|
|
@@ -1430,16 +1445,26 @@ const serviceAccount = cluster.addServiceAccount('MyServiceAccount', {
|
|
|
1430
1445
|
});
|
|
1431
1446
|
```
|
|
1432
1447
|
|
|
1448
|
+
To overwrite an existing service account, use the `overwriteServiceAccount` property:
|
|
1449
|
+
|
|
1450
|
+
```ts
|
|
1451
|
+
declare const cluster: eks.Cluster;
|
|
1452
|
+
// overwrite existing service account
|
|
1453
|
+
const serviceAccount = cluster.addServiceAccount('MyServiceAccount', {
|
|
1454
|
+
overwriteServiceAccount: true,
|
|
1455
|
+
});
|
|
1456
|
+
```
|
|
1457
|
+
|
|
1433
1458
|
You can also add service accounts to existing clusters.
|
|
1434
1459
|
To do so, pass the `openIdConnectProvider` property when you import the cluster into the application.
|
|
1435
1460
|
|
|
1436
1461
|
```ts
|
|
1437
1462
|
// you can import an existing provider
|
|
1438
|
-
const provider = eks.
|
|
1463
|
+
const provider = eks.OidcProviderNative.fromOidcProviderArn(this, 'Provider', 'arn:aws:iam::123456:oidc-provider/oidc.eks.eu-west-1.amazonaws.com/id/AB123456ABC');
|
|
1439
1464
|
|
|
1440
1465
|
// or create a new one using an existing issuer url
|
|
1441
1466
|
declare const issuerUrl: string;
|
|
1442
|
-
const provider2 = new eks.
|
|
1467
|
+
const provider2 = new eks.OidcProviderNative(this, 'Provider', {
|
|
1443
1468
|
url: issuerUrl,
|
|
1444
1469
|
});
|
|
1445
1470
|
|
|
@@ -1459,6 +1484,87 @@ Note that adding service accounts requires running `kubectl` commands against th
|
|
|
1459
1484
|
This means you must also pass the `kubectlRoleArn` when importing the cluster.
|
|
1460
1485
|
See [Using existing Clusters](https://github.com/aws/aws-cdk/tree/main/packages/aws-cdk-lib/aws-eks#using-existing-clusters).
|
|
1461
1486
|
|
|
1487
|
+
|
|
1488
|
+
##### Migrating from eks.OpenIdConnectProvider to eks.OidcProviderNative
|
|
1489
|
+
|
|
1490
|
+
`eks.OpenIdConnectProvider` creates an IAM OIDC (OpenId Connect) provider using a custom resource while `eks.OidcProviderNative` uses the CFN L1 (AWS::IAM::OidcProvider) to create the provider. It is recommended for new and existing projects to use `eks.OidcProviderNative`. Migrating from the `eks.OpenIdConnectProvider` is not as trivial as switching out the property since the property controls the creation of a resource whose type is changing. Due to the potential complexlity of the migration and the requirement of a manual step (`cdk import`) we are not deprecating the `eks.OpenIdConnectProvider` construct but encourge you to migrate.
|
|
1491
|
+
|
|
1492
|
+
To migrate without temporarily removing the OIDCProvider, follow these steps:
|
|
1493
|
+
|
|
1494
|
+
1. Set the `removalPolicy` of `cluster.openIdConnectProvider` to `RETAIN`.
|
|
1495
|
+
|
|
1496
|
+
```ts
|
|
1497
|
+
import * as cdk from 'aws-cdk-lib';
|
|
1498
|
+
declare const cluster: eks.Cluster;
|
|
1499
|
+
|
|
1500
|
+
cdk.RemovalPolicies.of(cluster.openIdConnectProvider).apply(cdk.RemovalPolicy.RETAIN);
|
|
1501
|
+
```
|
|
1502
|
+
|
|
1503
|
+
2. Run `cdk diff` to verify the changes are expected then `cdk deploy`.
|
|
1504
|
+
|
|
1505
|
+
3. Add the following to the `context` field of your `cdk.json` to enable the feature flag that creates the native oidc provider.
|
|
1506
|
+
|
|
1507
|
+
```json
|
|
1508
|
+
"@aws-cdk/aws-eks:useNativeOidcProvider": true,
|
|
1509
|
+
```
|
|
1510
|
+
|
|
1511
|
+
4. Run `cdk diff` and ensure the changes are expected. Example of an expected diff:
|
|
1512
|
+
|
|
1513
|
+
```bash
|
|
1514
|
+
Resources
|
|
1515
|
+
[-] Custom::AWSCDKOpenIdConnectProvider TestCluster/OpenIdConnectProvider/Resource TestClusterOpenIdConnectProviderE18F0FD0 orphan
|
|
1516
|
+
[-] AWS::IAM::Role Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Role CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65 destroy
|
|
1517
|
+
[-] AWS::Lambda::Function Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Handler CustomAWSCDKOpenIdConnectProviderCustomResourceProviderHandlerF2C543E0 destroy
|
|
1518
|
+
[+] AWS::IAM::OIDCProvider TestCluster/OidcProviderNative TestClusterOidcProviderNative0BE3F155
|
|
1519
|
+
```
|
|
1520
|
+
|
|
1521
|
+
5. Run `cdk import --force` and provide the ARN of the existing OpenIdConnectProvider when prompted. You will get a warning about pending changes to existing resources which is expected.
|
|
1522
|
+
|
|
1523
|
+
6. Run `cdk deploy` to apply any pending changes. This will apply the destroy/orphan changes in the above example.
|
|
1524
|
+
|
|
1525
|
+
If you are creating the OpenIdConnectProvider manually via `new eks.OpenIdConnectProvider`, follow these steps:
|
|
1526
|
+
|
|
1527
|
+
1. Set the `removalPolicy` of the existing `OpenIdConnectProvider` to `RemovalPolicy.RETAIN`.
|
|
1528
|
+
|
|
1529
|
+
```ts
|
|
1530
|
+
import * as cdk from 'aws-cdk-lib';
|
|
1531
|
+
// Step 1: Add retain policy to existing provider
|
|
1532
|
+
const existingProvider = new eks.OpenIdConnectProvider(this, 'Provider', {
|
|
1533
|
+
url: 'https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLE',
|
|
1534
|
+
removalPolicy: cdk.RemovalPolicy.RETAIN, // Add this line
|
|
1535
|
+
});
|
|
1536
|
+
```
|
|
1537
|
+
|
|
1538
|
+
2. Deploy with the retain policy to avoid deletion of the underlying resource.
|
|
1539
|
+
|
|
1540
|
+
```bash
|
|
1541
|
+
cdk deploy
|
|
1542
|
+
```
|
|
1543
|
+
|
|
1544
|
+
3. Replace `OpenIdConnectProvider` with `OidcProviderNative` in your code.
|
|
1545
|
+
|
|
1546
|
+
```ts
|
|
1547
|
+
// Step 3: Replace with native provider
|
|
1548
|
+
const nativeProvider = new eks.OidcProviderNative(this, 'Provider', {
|
|
1549
|
+
url: 'https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLE',
|
|
1550
|
+
});
|
|
1551
|
+
```
|
|
1552
|
+
|
|
1553
|
+
4. Run `cdk diff` and verify the changes are expected. Example of an expected diff:
|
|
1554
|
+
|
|
1555
|
+
```bash
|
|
1556
|
+
Resources
|
|
1557
|
+
[-] Custom::AWSCDKOpenIdConnectProvider TestCluster/OpenIdConnectProvider/Resource TestClusterOpenIdConnectProviderE18F0FD0 orphan
|
|
1558
|
+
[-] AWS::IAM::Role Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Role CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65 destroy
|
|
1559
|
+
[-] AWS::Lambda::Function Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Handler CustomAWSCDKOpenIdConnectProviderCustomResourceProviderHandlerF2C543E0 destroy
|
|
1560
|
+
[+] AWS::IAM::OIDCProvider TestCluster/OidcProviderNative TestClusterOidcProviderNative0BE3F155
|
|
1561
|
+
```
|
|
1562
|
+
|
|
1563
|
+
5. Run `cdk import --force` to import the existing OIDC provider resource by providing the existing ARN.
|
|
1564
|
+
|
|
1565
|
+
6. Run `cdk deploy` to apply any pending changes. This will apply the destroy/orphan operations in the example diff above.
|
|
1566
|
+
|
|
1567
|
+
|
|
1462
1568
|
### Pod Identities
|
|
1463
1569
|
|
|
1464
1570
|
[Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) is a feature that simplifies how
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-native-oidc.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/// !cdk-integ pragma:disable-update-workflow
|
|
2
|
+
import { App, Stack, StackProps } from 'aws-cdk-lib';
|
|
3
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
4
|
+
import * as eks from 'aws-cdk-lib/aws-eks';
|
|
5
|
+
import { EKS_USE_NATIVE_OIDC_PROVIDER } from 'aws-cdk-lib/cx-api';
|
|
6
|
+
import { getClusterVersionConfig } from './integ-tests-kubernetes-version';
|
|
7
|
+
|
|
8
|
+
class EksClusterNativeOidcStack extends Stack {
|
|
9
|
+
constructor(scope: App, id: string, props?: StackProps) {
|
|
10
|
+
super(scope, id, props);
|
|
11
|
+
|
|
12
|
+
const cluster = new eks.Cluster(this, 'Cluster', {
|
|
13
|
+
...getClusterVersionConfig(this, eks.KubernetesVersion.V1_32),
|
|
14
|
+
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* ServiceAccount and AlbController are added to verify that OIDC provider is created and
|
|
19
|
+
* can be used to create IAM roles for service accounts.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
new eks.ServiceAccount(this, 'ServiceAccount', {
|
|
23
|
+
cluster: cluster,
|
|
24
|
+
name: 'test-service-account',
|
|
25
|
+
namespace: 'default',
|
|
26
|
+
});
|
|
27
|
+
new eks.AlbController(this, 'AlbController', {
|
|
28
|
+
cluster: cluster,
|
|
29
|
+
version: eks.AlbControllerVersion.V2_8_2,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const app = new App({
|
|
35
|
+
postCliContext: {
|
|
36
|
+
[EKS_USE_NATIVE_OIDC_PROVIDER]: true,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const stack = new EksClusterNativeOidcStack(app, 'aws-cdk-eks-cluster-native-oidc', {
|
|
41
|
+
env: { region: 'us-east-1' },
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
new integ.IntegTest(app, 'aws-cdk-eks-cluster-native-oidc-integ', {
|
|
45
|
+
testCases: [stack],
|
|
46
|
+
diffAssets: false,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
app.synth();
|
|
@@ -105,6 +105,7 @@ class EksClusterStack extends Stack {
|
|
|
105
105
|
private assertServiceAccount() {
|
|
106
106
|
// add a service account connected to a IAM role
|
|
107
107
|
this.cluster.addServiceAccount('MyServiceAccount');
|
|
108
|
+
this.cluster.addServiceAccount('MyServiceAccountWithOverwrite', { overwriteServiceAccount: true });
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
private assertExtendedServiceAccount() {
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-oidc-provider.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { App, Stack } from 'aws-cdk-lib';
|
|
|
2
2
|
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
3
3
|
import * as eks from 'aws-cdk-lib/aws-eks';
|
|
4
4
|
import { IAM_OIDC_REJECT_UNAUTHORIZED_CONNECTIONS } from 'aws-cdk-lib/cx-api';
|
|
5
|
+
import { getClusterVersionConfig } from './integ-tests-kubernetes-version';
|
|
5
6
|
|
|
6
7
|
const app = new App({
|
|
7
8
|
postCliContext: {
|
|
@@ -10,10 +11,28 @@ const app = new App({
|
|
|
10
11
|
});
|
|
11
12
|
const stack = new Stack(app, 'aws-eks-oidc-provider-test');
|
|
12
13
|
|
|
14
|
+
// OpenIdConnectProvider uses a custom resource that only needs to extract SSL certificate
|
|
15
|
+
// thumbprints via TLS connection. It works with fake cluster IDs (like test2) because
|
|
16
|
+
// oidc.eks.us-east-1.amazonaws.com is a real AWS server with valid SSL certificates.
|
|
17
|
+
// The Lambda doesn't validate OIDC configuration, only retrieves thumbprints when
|
|
18
|
+
// the IAM_OIDC_REJECT_UNAUTHORIZED_CONNECTIONS flag is false.
|
|
13
19
|
new eks.OpenIdConnectProvider(stack, 'NoClientsNoThumbprint', {
|
|
14
20
|
url: `https://oidc.eks.${Stack.of(stack).region}.amazonaws.com/id/test2`,
|
|
15
21
|
});
|
|
16
22
|
|
|
23
|
+
const cluster = new eks.Cluster(stack, 'Cluster', {
|
|
24
|
+
...getClusterVersionConfig(stack, eks.KubernetesVersion.V1_32),
|
|
25
|
+
});
|
|
26
|
+
// OidcProviderNative uses the native AWS::IAM::OIDCProvider CloudFormation resource
|
|
27
|
+
// which validates OIDC providers by fetching /.well-known/openid-configuration.
|
|
28
|
+
// Fake cluster IDs return 404 for this endpoint, causing validation to fail.
|
|
29
|
+
// eks.OidcProviderNative doesn't expose thumbprints property (unlike iam.OidcProviderNative)
|
|
30
|
+
// as there is no use case for using an invalid OIDC issuer URL,
|
|
31
|
+
// so we must use a real cluster URL for CloudFormation to successfully validate.
|
|
32
|
+
new eks.OidcProviderNative(stack, 'OidcProviderNative', {
|
|
33
|
+
url: cluster.clusterOpenIdConnectIssuerUrl,
|
|
34
|
+
});
|
|
35
|
+
|
|
17
36
|
new integ.IntegTest(app, 'aws-cdk-eks-oidc-provider', {
|
|
18
37
|
testCases: [stack],
|
|
19
38
|
});
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/README.md
CHANGED
|
@@ -499,7 +499,76 @@ myFunction.addEventSource(new ManagedKafkaEventSource({
|
|
|
499
499
|
}));
|
|
500
500
|
```
|
|
501
501
|
|
|
502
|
-
|
|
502
|
+
### Kafka Observability Features
|
|
503
|
+
|
|
504
|
+
AWS Lambda provides enhanced observability for Kafka event sources through logging and metrics configuration.
|
|
505
|
+
|
|
506
|
+
**Important**: Observability features (`LogLevel` and `MetricsConfig`) are only available when using provisioned mode.
|
|
507
|
+
|
|
508
|
+
#### Logging
|
|
509
|
+
|
|
510
|
+
You can configure the verbosity of logs generated by the polling infrastructure.
|
|
511
|
+
This is particularly useful for troubleshooting connection issues, monitoring
|
|
512
|
+
polling behavior, and understanding the internal operations of your event
|
|
513
|
+
source mapping.
|
|
514
|
+
|
|
515
|
+
```ts
|
|
516
|
+
import { ManagedKafkaEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
|
|
517
|
+
|
|
518
|
+
// Your MSK cluster arn
|
|
519
|
+
const clusterArn = 'arn:aws:kafka:us-east-1:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4';
|
|
520
|
+
|
|
521
|
+
declare const myFunction: lambda.Function;
|
|
522
|
+
|
|
523
|
+
// Configure INFO level logging for production monitoring
|
|
524
|
+
myFunction.addEventSource(new ManagedKafkaEventSource({
|
|
525
|
+
clusterArn,
|
|
526
|
+
topic: 'production-events',
|
|
527
|
+
startingPosition: lambda.StartingPosition.LATEST,
|
|
528
|
+
// Provisioned mode is required for observability features
|
|
529
|
+
provisionedPollerConfig: {
|
|
530
|
+
minimumPollers: 1,
|
|
531
|
+
maximumPollers: 5,
|
|
532
|
+
},
|
|
533
|
+
logLevel: lambda.EventSourceMappingLogLevel.INFO
|
|
534
|
+
}));
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
#### Metrics Configuration
|
|
538
|
+
|
|
539
|
+
Enhanced metrics provide detailed insights into your Kafka event source performance.
|
|
540
|
+
Metrics include event processing rates, error counts, and Kafka-specific metrics
|
|
541
|
+
like consumer lag.
|
|
542
|
+
|
|
543
|
+
```ts
|
|
544
|
+
import { ManagedKafkaEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
|
|
545
|
+
|
|
546
|
+
// Your MSK cluster arn
|
|
547
|
+
const clusterArn = 'arn:aws:kafka:us-east-1:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4';
|
|
548
|
+
|
|
549
|
+
declare const myFunction: lambda.Function;
|
|
550
|
+
|
|
551
|
+
// Enable basic event and error metrics
|
|
552
|
+
myFunction.addEventSource(new ManagedKafkaEventSource({
|
|
553
|
+
clusterArn,
|
|
554
|
+
topic: 'basic-monitoring',
|
|
555
|
+
startingPosition: lambda.StartingPosition.LATEST,
|
|
556
|
+
// Provisioned mode is required for observability features
|
|
557
|
+
provisionedPollerConfig: {
|
|
558
|
+
minimumPollers: 2,
|
|
559
|
+
maximumPollers: 10,
|
|
560
|
+
},
|
|
561
|
+
metricsConfig: {
|
|
562
|
+
metrics: [
|
|
563
|
+
lambda.MetricType.EVENT_COUNT,
|
|
564
|
+
lambda.MetricType.ERROR_COUNT
|
|
565
|
+
]
|
|
566
|
+
}
|
|
567
|
+
}));
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
Set configuration for provisioned pollers that read from the event source. When specified, allows control over
|
|
571
|
+
the minimum and maximum number of pollers that can be provisioned to process events from the source.
|
|
503
572
|
|
|
504
573
|
```ts
|
|
505
574
|
import { ManagedKafkaEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
|
|
@@ -544,7 +613,9 @@ ordersFunction.addEventSource(new ManagedKafkaEventSource({
|
|
|
544
613
|
|
|
545
614
|
```
|
|
546
615
|
|
|
547
|
-
Set a confluent or self-managed schema registry to de-serialize events from the event source.
|
|
616
|
+
Set a confluent or self-managed schema registry to de-serialize events from the event source.
|
|
617
|
+
|
|
618
|
+
Note: This will also work for `SelfManagedKafkaEventSource`.
|
|
548
619
|
|
|
549
620
|
```ts
|
|
550
621
|
import { ManagedKafkaEventSource, ConfluentSchemaRegistry } from 'aws-cdk-lib/aws-lambda-event-sources';
|
|
@@ -577,7 +648,9 @@ myFunction.addEventSource(new ManagedKafkaEventSource({
|
|
|
577
648
|
}));
|
|
578
649
|
```
|
|
579
650
|
|
|
580
|
-
Set Glue schema registry to de-serialize events from the event source.
|
|
651
|
+
Set Glue schema registry to de-serialize events from the event source.
|
|
652
|
+
|
|
653
|
+
Note: This will also work for `SelfManagedKafkaEventSource`.
|
|
581
654
|
|
|
582
655
|
```ts
|
|
583
656
|
import { CfnRegistry } from 'aws-cdk-lib/aws-glue';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
|
|
3
|
+
import * as cdk from 'aws-cdk-lib';
|
|
4
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
5
|
+
import { TestFunction } from './test-function';
|
|
6
|
+
import { AuthenticationMethod, SelfManagedKafkaEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Integration test for Kafka observability features (LoggingConfig and MetricsConfig)
|
|
10
|
+
*
|
|
11
|
+
* This test validates that LoggingConfig and MetricsConfig generate correct CloudFormation
|
|
12
|
+
* templates with proper provisioned poller configuration.
|
|
13
|
+
*
|
|
14
|
+
* Test scenarios:
|
|
15
|
+
* 1. Self-managed Kafka with LoggingConfig only
|
|
16
|
+
* 2. Self-managed Kafka with MetricsConfig only
|
|
17
|
+
*/
|
|
18
|
+
class KafkaObservabilityTest extends cdk.Stack {
|
|
19
|
+
constructor(scope: cdk.App, id: string) {
|
|
20
|
+
super(scope, id);
|
|
21
|
+
|
|
22
|
+
// Create secret for authentication
|
|
23
|
+
const secret = new secretsmanager.Secret(this, 'KafkaSecret', {
|
|
24
|
+
secretObjectValue: {
|
|
25
|
+
username: cdk.SecretValue.unsafePlainText('testuser'),
|
|
26
|
+
password: cdk.SecretValue.unsafePlainText('testpass'),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Scenario 1: Self-managed Kafka with LoggingConfig only
|
|
31
|
+
const smkLoggingFunction = new TestFunction(this, 'SMKLoggingFunction');
|
|
32
|
+
smkLoggingFunction.addEventSource(new SelfManagedKafkaEventSource({
|
|
33
|
+
bootstrapServers: ['kafka-broker-1:9092', 'kafka-broker-2:9092'],
|
|
34
|
+
topic: 'logging-topic',
|
|
35
|
+
secret: secret,
|
|
36
|
+
authenticationMethod: AuthenticationMethod.SASL_SCRAM_512_AUTH,
|
|
37
|
+
startingPosition: lambda.StartingPosition.LATEST,
|
|
38
|
+
consumerGroupId: 'logging-consumer-group',
|
|
39
|
+
// Provisioned mode is required for observability features
|
|
40
|
+
provisionedPollerConfig: {
|
|
41
|
+
minimumPollers: 1,
|
|
42
|
+
maximumPollers: 5,
|
|
43
|
+
},
|
|
44
|
+
// Configure DEBUG level logging for detailed troubleshooting
|
|
45
|
+
logLevel: lambda.EventSourceMappingLogLevel.DEBUG,
|
|
46
|
+
}));
|
|
47
|
+
|
|
48
|
+
// Scenario 2: Self-managed Kafka with MetricsConfig only
|
|
49
|
+
const smkMetricsFunction = new TestFunction(this, 'SMKMetricsFunction');
|
|
50
|
+
smkMetricsFunction.addEventSource(new SelfManagedKafkaEventSource({
|
|
51
|
+
bootstrapServers: ['kafka-broker-3:9092', 'kafka-broker-4:9092'],
|
|
52
|
+
topic: 'metrics-topic',
|
|
53
|
+
secret: secret,
|
|
54
|
+
authenticationMethod: AuthenticationMethod.SASL_SCRAM_256_AUTH,
|
|
55
|
+
startingPosition: lambda.StartingPosition.TRIM_HORIZON,
|
|
56
|
+
consumerGroupId: 'metrics-consumer-group',
|
|
57
|
+
batchSize: 100,
|
|
58
|
+
// Provisioned mode is required for observability features
|
|
59
|
+
provisionedPollerConfig: {
|
|
60
|
+
minimumPollers: 3,
|
|
61
|
+
maximumPollers: 15,
|
|
62
|
+
},
|
|
63
|
+
// Configure comprehensive metrics including Kafka-specific metrics
|
|
64
|
+
metricsConfig: {
|
|
65
|
+
metrics: [
|
|
66
|
+
lambda.MetricType.EVENT_COUNT,
|
|
67
|
+
lambda.MetricType.ERROR_COUNT,
|
|
68
|
+
lambda.MetricType.KAFKA_METRICS,
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const app = new cdk.App({
|
|
76
|
+
postCliContext: {
|
|
77
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
const stack = new KafkaObservabilityTest(
|
|
82
|
+
app,
|
|
83
|
+
'KafkaObservabilityTest',
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
new integ.IntegTest(app, 'KafkaObservabilityIntegTest', {
|
|
87
|
+
testCases: [stack],
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
app.synth();
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib/core';
|
|
2
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
3
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
4
|
+
|
|
5
|
+
const app = new cdk.App();
|
|
6
|
+
const stack = new cdk.Stack(app, 'ParentStack');
|
|
7
|
+
|
|
8
|
+
const nested = new cdk.NestedStack(stack, 'NestedSuppressIndentation', {
|
|
9
|
+
suppressTemplateIndentation: true,
|
|
10
|
+
});
|
|
11
|
+
new s3.Bucket(nested, 'Bucket'); // dummy
|
|
12
|
+
|
|
13
|
+
const testCase = new integ.IntegTest(app, 'NestedSuppressIndentationTest', {
|
|
14
|
+
testCases: [stack],
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const nestedChild = nested.node.defaultChild as cdk.CfnStack;
|
|
18
|
+
const nestedTemplateUrl = nestedChild.templateUrl!; // Nested stacks must have the templateUrl
|
|
19
|
+
|
|
20
|
+
const apiCall = testCase.assertions.awsApiCall('S3', 'getObject', {
|
|
21
|
+
Bucket: cdk.Fn.select(3, cdk.Fn.split('/', nestedTemplateUrl)),
|
|
22
|
+
Key: cdk.Fn.select(4, cdk.Fn.split('/', nestedTemplateUrl)),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
apiCall.expect(
|
|
26
|
+
integ.ExpectedResult.objectLike({
|
|
27
|
+
Body: '{"Resources":{"Bucket83908E77":{"Type":"AWS::S3::Bucket","UpdateReplacePolicy":"Retain","DeletionPolicy":"Retain"}}}',
|
|
28
|
+
}),
|
|
29
|
+
);
|
|
@@ -109,6 +109,7 @@ Flags come in three types:
|
|
|
109
109
|
| [@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint](#aws-cdkaws-stepfunctions-taskshttpinvokedynamicjsonpathendpoint) | When enabled, allows using a dynamic apiEndpoint with JSONPath format in HttpInvoke tasks. | 2.221.0 | fix |
|
|
110
110
|
| [@aws-cdk/aws-elasticloadbalancingv2:networkLoadBalancerWithSecurityGroupByDefault](#aws-cdkaws-elasticloadbalancingv2networkloadbalancerwithsecuritygroupbydefault) | When enabled, Network Load Balancer will be created with a security group by default. | 2.222.0 | new default |
|
|
111
111
|
| [@aws-cdk/aws-route53-patterns:useDistribution](#aws-cdkaws-route53-patternsusedistribution) | Use the `Distribution` resource instead of `CloudFrontWebDistribution` | 2.233.0 | new default |
|
|
112
|
+
| [@aws-cdk/aws-eks:useNativeOidcProvider](#aws-cdkaws-eksusenativeoidcprovider) | When enabled, EKS V2 clusters will use the native OIDC provider resource AWS::IAM::OIDCProvider instead of creating the OIDCProvider with a custom resource (iam.OpenIDConnectProvider). | V2NEXT | fix |
|
|
112
113
|
|
|
113
114
|
<!-- END table -->
|
|
114
115
|
|
|
@@ -170,6 +171,7 @@ The following json shows the current recommended set of flags, as `cdk init` wou
|
|
|
170
171
|
"@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
|
|
171
172
|
"@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
|
|
172
173
|
"@aws-cdk/aws-eks:nodegroupNameAttribute": true,
|
|
174
|
+
"@aws-cdk/aws-eks:useNativeOidcProvider": true,
|
|
173
175
|
"@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
|
|
174
176
|
"@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
|
|
175
177
|
"@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
|
|
@@ -2311,4 +2313,27 @@ of the deprecated `CloudFrontWebDistribution` construct.
|
|
|
2311
2313
|
**Compatibility with old behavior:** Define a `CloudFrontWebDistribution` explicitly
|
|
2312
2314
|
|
|
2313
2315
|
|
|
2316
|
+
### @aws-cdk/aws-eks:useNativeOidcProvider
|
|
2317
|
+
|
|
2318
|
+
*When enabled, EKS V2 clusters will use the native OIDC provider resource AWS::IAM::OIDCProvider instead of creating the OIDCProvider with a custom resource (iam.OpenIDConnectProvider).*
|
|
2319
|
+
|
|
2320
|
+
Flag type: Backwards incompatible bugfix
|
|
2321
|
+
|
|
2322
|
+
When this feature flag is enabled, EKS clusters will use the native AWS::IAM::OIDCProvider
|
|
2323
|
+
CloudFormation resource instead of the custom resource provider for creating OIDC providers.
|
|
2324
|
+
|
|
2325
|
+
WARNING: Enabling this flag on a cluster with an existing OIDC provider created by the custom resource (iam.OpenIDConnectProvider)
|
|
2326
|
+
will cause the OIDC provider to be replaced with the native resource, which may lead to disruption.
|
|
2327
|
+
|
|
2328
|
+
To migrate in place without disruption, follow the guide at: https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-eks/README.md#migrating-from-the-deprecated-eksopenidconnectprovider-to-eksoidcprovidernative
|
|
2329
|
+
|
|
2330
|
+
|
|
2331
|
+
| Since | Unset behaves like | Recommended value |
|
|
2332
|
+
| ----- | ----- | ----- |
|
|
2333
|
+
| (not in v1) | | |
|
|
2334
|
+
| V2NEXT | `false` | `true` |
|
|
2335
|
+
|
|
2336
|
+
**Compatibility with old behavior:** Disable the feature flag to use the custom resource provider.
|
|
2337
|
+
|
|
2338
|
+
|
|
2314
2339
|
<!-- END details -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: konokenj.cdk-api-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.72.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.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.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=2oMIczUBxCme8q2q88d0eo9LorBD-fEQrwtwSHvpdmk,129
|
|
2
2
|
cdk_api_mcp_server/__init__.py,sha256=yJA6yIEhJviC-qNlB-nC6UR1JblQci_d84i-viHZkc0,187
|
|
3
3
|
cdk_api_mcp_server/models.py,sha256=cMS1Hi29M41YjuBxqqrzNrNvyG3MgnUBb1SqYpMCJ30,692
|
|
4
4
|
cdk_api_mcp_server/resources.py,sha256=R7LVwn29I4BJzU5XAwKbX8j6uy-3ZxcB1b0HzZ_Z2PI,6689
|
|
@@ -9,14 +9,14 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/app-staging-synthesizer
|
|
|
9
9
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-amplify-alpha/README.md,sha256=OIdszebPa0EqMIaHhqWgH6A64AcwQioIKC-NHDyZKrI,12636
|
|
10
10
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-applicationsignals-alpha/README.md,sha256=6nqc-WbHB1iFE3vXDr6hyQs8tYS6wwnWutXePY4EF4w,10873
|
|
11
11
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-apprunner-alpha/README.md,sha256=Jtm3RbnP4jQy8BYXwHvaRbMKizUjr4SqvimVMYhu6WQ,11982
|
|
12
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md,sha256=
|
|
12
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md,sha256=oYzxpBQv_7OMaU-drsElqjdUpbtBIb_nuFGLl-qyyDs,111421
|
|
13
13
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md,sha256=ZFThRraeK0rx1CF2foaEDzKsWxL1Qb9yqpCFM8eKvIo,65269
|
|
14
14
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-cloud9-alpha/README.md,sha256=0N8kldvHAKsNQHKtsj8PaQywiDUVrd6rEwVNQV0equY,7718
|
|
15
15
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-codestar-alpha/README.md,sha256=J-c-thqWwZFQT3Exjr_AY95BBgTA14Wb9aJ32gmEizQ,1509
|
|
16
16
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-custom-resource-sdk-adapter/README.md,sha256=FepYs6-FkeqX8jOohrPByOvzecIOBjd1c1AegNpRYNc,6310
|
|
17
17
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-ec2-alpha/README.md,sha256=ZySzpPJ4eUj3ZJ_jWF6YFOX4J9a7F-GU3o6QT_zJggQ,36094
|
|
18
18
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/MANUAL_TEST.md,sha256=uObwqDllAUYBGkoNEAQGioL6JuKqh5ScVbq9KC3x89Q,1862
|
|
19
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README.md,sha256=
|
|
19
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README.md,sha256=yM9cSEn0NrzR7nKWSEmcQQwNQ-KTeHmFUlVgnFrG18Q,53713
|
|
20
20
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-elasticache-alpha/README.md,sha256=V2xDEBsWH7oxb4mO9I8Wfs74jzYqeUwxFpHp_N6NMtg,15215
|
|
21
21
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-gamelift-alpha/README.md,sha256=pZqlGXpIekT05CmRYo99QPI-7S1iGtKoNESGryLQFxQ,28324
|
|
22
22
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-glue-alpha/README.md,sha256=0DUUl5AU9qy-x3P4cCIStFMcav2hSQMwZuI3aTq9Q2Q,32235
|
|
@@ -46,8 +46,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/cfnspec/README.md,sha25
|
|
|
46
46
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/custom-resource-handlers/README.md,sha256=QctOoyGt6AqVWeFhRwpkCSxHZ1XFWj_nCKlkJHDFock,965
|
|
47
47
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/example-construct-library/README.md,sha256=vnVXyvtN9ICph68sw2y6gkdD_gmas0PiUa9TkwNckWQ,4501
|
|
48
48
|
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/integ-tests-alpha/README.md,sha256=VifKLrR404_yLVT0E3ai8f3R5K0h22VNwQplpSUSZqc,17489
|
|
49
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md,sha256=
|
|
50
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md,sha256=
|
|
49
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md,sha256=ENKpdCDBEV5Fkg0kuEbbfEyNpeREk1r9gpp_DHIob7w,10194
|
|
50
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md,sha256=mup1_wX6WKTVqszieqdWb9nY1XF30JkxiqgMyrALwoA,76687
|
|
51
51
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/assertions/MIGRATING.md,sha256=SYGX8QNB1Pm_rVYDBp4QRWkqwnxOb3CHzeFglUy_53k,3347
|
|
52
52
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/assertions/README.md,sha256=3yo3D05n5explTIgnuF-vkk01MTYeAYe7_3rcsD2baE,18299
|
|
53
53
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/assets/README.md,sha256=kL56RlfxBa5LwV0cRseybeKIRKHhEXPjUo0HWPZqdO8,53
|
|
@@ -219,7 +219,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.mana
|
|
|
219
219
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.managed-compute-environment.ts,sha256=5EFbUtn2vivyhT-vLGbXgYSjsC0VDcWFOs1wg_rDtZo,3196
|
|
220
220
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.multinode-job-definition.ts,sha256=Pq7iWINv6l5S8rG1b1bGcg7313HRNee7vL_IPGsn0l8,1516
|
|
221
221
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.unmanaged-compute-environment.ts,sha256=o5_ft9zLQXu9TTJqYTT0phaLt7AdqLgHMIO2r4Wh8T0,856
|
|
222
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-bedrock/README.md,sha256=
|
|
222
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-bedrock/README.md,sha256=b7lyhaB_ZRpKsweIGAgUykIp6yZhe-8O5w3R2EZS8Js,1334
|
|
223
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-bedrockagentcore/README.md,sha256=kjpYFBQD8GptshFY4k_f9xP-47U6D26Cuu88tAZoqFo,1110
|
|
223
224
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-certificatemanager/README.md,sha256=bhDI32VownDtCcTkarNK7oMabEcUUdjVTK095IYfmFM,8421
|
|
224
225
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-certificatemanager/integ.certificate-key-algorithm.ts,sha256=3JUtIlshjCtU6yqTZx2UXL9tRd4jom71WhqKXC6Bmxc,1881
|
|
225
226
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-certificatemanager/integ.certificate-name.ts,sha256=pzjlGsHvNGr4czBPdbckXzCCcN3tAUEhk2Q_lnjvC5Q,1617
|
|
@@ -727,7 +728,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-efs/integ.efs-tr
|
|
|
727
728
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-efs/integ.efs.permission.ts,sha256=bzH7koi5t2FgkDhEp-6ZtXgoteiCDTNd2igab4bXytA,3338
|
|
728
729
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-efs/integ.efs.ts,sha256=E9gP8v2MxNerg_EwkAc-4o6ikO08pLjZfDMI0M34_44,776
|
|
729
730
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/MANUAL_TEST.md,sha256=uObwqDllAUYBGkoNEAQGioL6JuKqh5ScVbq9KC3x89Q,1862
|
|
730
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md,sha256=
|
|
731
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md,sha256=0RB4Id3CDNgJf12HxE_UJQHVsTJNzaAo4JjUnH9zxDs,87224
|
|
731
732
|
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
|
|
732
733
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.alb-controller.ts,sha256=cbL2kY-t0LAWLkK1Lb3RUPBeMUpw8xHWjDhkroD_Rb4,3314
|
|
733
734
|
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
|
|
@@ -737,15 +738,16 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-bo
|
|
|
737
738
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-handlers-vpc.ts,sha256=5ziP_cDA4Gvc0ZTEYsezSIw1XRi-JY3bIXB4MS9RP3c,1142
|
|
738
739
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-imported.ts,sha256=VcOdMfU2jCukU63bL1DJ03npPLyI8Xwr-vAtO3xFNMA,7448
|
|
739
740
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-ipv6.ts,sha256=wZ6dCJQzyJDYQEI6nfZDD2i8WGNdw4o8sIX5Rjiy4fk,13024
|
|
741
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-native-oidc.ts,sha256=L4Kvy08W-KUDh5jNH2Y-yKSNrPnFOLxyj_Q9oM9On1I,1418
|
|
740
742
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-private-endpoint.ts,sha256=kktgfPNMy7xPy9zJTcaSxbvAQZF3tPHJJ_K4kVZYofA,1825
|
|
741
743
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-removal-policy.ts,sha256=AOvKvS8aWzh4Vb4WqWB58y7hCwabLJk4mJM316j-ZWc,1070
|
|
742
744
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-tags.ts,sha256=dsPOuZv-3zKtgCmsYmxd2MJxzrwH1QAziJZHKs_GfjA,1321
|
|
743
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster.ts,sha256=
|
|
745
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster.ts,sha256=T1cjz-_466u-GNqccUaJ4jaqAl_P9CRTGsX27xkvLfY,12980
|
|
744
746
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-helm-asset.ts,sha256=oK98kChrQxAY4PK5K8t7E9K36GqYhTyFA0Yj6MS_xos,5075
|
|
745
747
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-hybrid-nodes.ts,sha256=OnKPvJnEfz3NXetcPmCxEQntgU_QeXKTLD-H8m3amyo,1604
|
|
746
748
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-inference-nodegroup.ts,sha256=-D1R2-_zrVHL5GP6c3ouAW_PAc_Ys2VMWDJNzN5KY20,1768
|
|
747
749
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-inference.ts,sha256=RJ_Pv2TL2QlfI7KzmDV-YJ883c3yTM9DleRr94AfYAU,1800
|
|
748
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-oidc-provider.ts,sha256=
|
|
750
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-oidc-provider.ts,sha256=OuH-WpWPux5mTlOqjK4U47KLD2OmSwFs06ArQeC4uOo,1829
|
|
749
751
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-pod-identities.ts,sha256=VG-mZgZBxXftXCkH3xlvOr8r2Meb1iC1JUszpZoFOyc,2441
|
|
750
752
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-service-account-sdk-call.ts,sha256=7Hm7jkdA2af-GMys-__f-xLXEt8RwAq_z9HRUZyzxzI,3292
|
|
751
753
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-standard-access-entry.ts,sha256=upWuIZ41tsmF0n80W0jo82GYV7jXXYe8LBFTyUgON0k,1864
|
|
@@ -954,12 +956,13 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.vpc
|
|
|
954
956
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-destinations/README.md,sha256=_6ZqM3kbkZCmN-9BtU3FbERs82Shv4D2QiWuq47T_VI,5453
|
|
955
957
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-destinations/integ.destinations.ts,sha256=bCxe7DTOSIRyxe2iStWRdl0_J-tQZ8n-715uo9gMHvE,4187
|
|
956
958
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-destinations/integ.lambda-chain.ts,sha256=vqRxTBuBaAZqeN1AQ4l0Z9b4dsOVTkYMXKIlil_yyCg,3381
|
|
957
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/README.md,sha256=
|
|
959
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/README.md,sha256=OUoyx7bwSyd0lNA3d_qoebrBwlmHrjWMxz1zCSmrXyE,29375
|
|
958
960
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.dynamodb-with-boolean-filter.ts,sha256=bGvfF5RgMbK9W2DO0HsKVoAK5KV5a0kLKYZKeOOFcx0,1217
|
|
959
961
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.dynamodb-with-filter-criteria.ts,sha256=7RrxbpLll7YIY-sNFp4reML6mA5ptC05K6DRmww32rY,1897
|
|
960
962
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.dynamodb-with-metrics-config.ts,sha256=_HEgmdb8iDBNWqDWo8RJHbbRtacdPp4V8LkS2U3DkI8,1286
|
|
961
963
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.dynamodb.ts,sha256=5Qas_PPDvTb8sHl3AiNnv-k7XaazG5nDNVNbmJ6Wwfo,1205
|
|
962
964
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.kafka-dlq.ts,sha256=PSv9cxqyEMq2Sa6WxhaD2Qq_OrBpZR07ePjG8sYmTrM,2897
|
|
965
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.kafka-observability.ts,sha256=JGCU_YH2KurY4qxb8uCEoi2BG7UXG6AZuVx_tLJtU9E,3198
|
|
963
966
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.kafka-poller-group-name.ts,sha256=_skHFN8P5MSzdgGF9pGQU1MOBPsz9rlr_pt7MMkHfTs,2670
|
|
964
967
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.kafka-schema-registry.ts,sha256=mN1-eMpDDvEjqRqFB3WwDMAWtr1JhFt61ndeYMw3XlI,6640
|
|
965
968
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-event-sources/integ.kafka-selfmanaged-error-handling.ts,sha256=nO4Q2SJx2JQdPlLE93icXYWfTp6NphKUzjuadZsZBXg,2807
|
|
@@ -1429,6 +1432,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.cfn-mappi
|
|
|
1429
1432
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.cross-region-references.ts,sha256=y2pFmosq88fvO5XdL1t1DhQFcNBzslTbEiJuSnnBLjA,1900
|
|
1430
1433
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.logical-id.ts,sha256=97xr5IDwLJ6O2c4-P3uGFdoSTNtJ7FalFTLr1eiTi7s,521
|
|
1431
1434
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.nested-stack-references.ts,sha256=qS2cw7f8LDkS0KxeTBGBKgUV6rpzExjeyFU8qkU1-J0,1796
|
|
1435
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.nested-stack-suppress-template-indentation.ts,sha256=FhiHoGS83kUSfh3-igcTazBROBqpqRPr5TIWyDPDJUA,1026
|
|
1432
1436
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.prop-injectors.ts,sha256=7XxFP_6aronk1inj9NPLkNwdRnMnV956_ifMoSBOxDI,6068
|
|
1433
1437
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.removal-policies.ts,sha256=b6ePZkMn5IyTizPV2VnxSR2X8RP2Obh8i7P1b7-S68o,1541
|
|
1434
1438
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/integ.stack.ts,sha256=xf24TLT1li9lQtn7LMTd0hPfiWPpBym8OMYD4cTiw-o,666
|
|
@@ -1457,7 +1461,7 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/int
|
|
|
1457
1461
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider-with-waiter-state-machine-custom-role.ts,sha256=60mjzf_2NI9zO30B2Guye5sA7kxIl4yrLMXUEWIDO9I,2401
|
|
1458
1462
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider-with-waiter-state-machine.ts,sha256=6Ci2_ABcu5azSj1f0EzY1VD4lQUg9KI5l1Q7ieejI-0,2058
|
|
1459
1463
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.provider.ts,sha256=u_YVV0YZk6hyIxo5JOOSwwUORbqS3BVbJU6DIAwxuk0,1814
|
|
1460
|
-
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md,sha256=
|
|
1464
|
+
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md,sha256=0nNbXbM-uzk38rZNmw5eYjqKvLDYMkxq7uxw00WA4GQ,110510
|
|
1461
1465
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/NESTED_ASSEMBLIES.md,sha256=P8PNyr4hIC_i-9aUxa301-5-N4tLcoHYnELBp3C6SQQ,4949
|
|
1462
1466
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md,sha256=i37TV0RjG95gwV2Uesbx98JGbN3W12rbBRcCK9IXlqs,25543
|
|
1463
1467
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/interfaces/README.md,sha256=8UUDA_SWB_K_3AKpzwsj1h-_PgyrIAToZXRew_opfU0,710
|
|
@@ -1489,8 +1493,8 @@ cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipe
|
|
|
1489
1493
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/region-info/README.md,sha256=vewWkV3ds9o9iyyYaJBNTkaKJ2XA6K2yF17tAxUnujg,2718
|
|
1490
1494
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/README.md,sha256=hYIx7DbG_7p4LYLUfxDwgIQjw9UNdz1GLrqDe8_Dbko,4132
|
|
1491
1495
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/triggers/integ.triggers.ts,sha256=LfeVru_CggiFXKPVa8vwt6Uv43SV3oAioDGmd8PyMHc,2859
|
|
1492
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1493
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1494
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1495
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1496
|
-
konokenj_cdk_api_mcp_server-0.
|
|
1496
|
+
konokenj_cdk_api_mcp_server-0.72.0.dist-info/METADATA,sha256=nE73bQHSN3nlbtdG-P6bGlTKtNadTGPymamZ4V5Uwxw,2646
|
|
1497
|
+
konokenj_cdk_api_mcp_server-0.72.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
1498
|
+
konokenj_cdk_api_mcp_server-0.72.0.dist-info/entry_points.txt,sha256=bVDhMdyCC1WNMPOMbmB82jvWII2CIrwTZDygdCf0cYQ,79
|
|
1499
|
+
konokenj_cdk_api_mcp_server-0.72.0.dist-info/licenses/LICENSE.txt,sha256=5OIAASeg1HM22mVZ1enz9bgZ7TlsGfWXnj02P9OgFyk,1098
|
|
1500
|
+
konokenj_cdk_api_mcp_server-0.72.0.dist-info/RECORD,,
|
{konokenj_cdk_api_mcp_server-0.71.0.dist-info → konokenj_cdk_api_mcp_server-0.72.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|