konokenj.cdk-api-mcp-server 0.31.0__py3-none-any.whl → 0.57.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/aws-bedrock-agentcore-alpha/README.md +1979 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md +946 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README.md +160 -75
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-elasticache-alpha/README.md +421 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-glue-alpha/README.md +39 -9
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md +656 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-lambda-go-alpha/README.md +102 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-lambda-python-alpha/README.md +6 -6
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-msk-alpha/README.md +38 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-s3tables-alpha/README.md +82 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-sagemaker-alpha/README.md +32 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md +182 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md +367 -17
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/README.md +34 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.api-with-authorizer-and-proxy.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.lambda-api.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.lambda-permission-consolidation.ts +55 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.spec-restapi.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md +224 -60
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-dualstack.ts +3 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts +5 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.stage.ts +10 -7
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.usage-plan.ts +80 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.iam.ts +34 -38
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.lambda.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.user-pool.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/README.md +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.add-subroute-integration.ts +7 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.http-proxy.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-connect-disconnect-trigger.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-permission-consolidation.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-proxy.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda.ts +4 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.sqs.ts +58 -71
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-appsync/integ.graphql-lambda-permission.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-appsync/integ.js-resolver.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/integ.asg-lt.ts +7 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md +49 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts +148 -0
- 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-certificatemanager/README.md +11 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudformation/integ.core-custom-resources-node-18.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudformation/integ.core-custom-resources-service-timeout.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/README.md +292 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md +83 -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-cloudfront-origins/integ.http-origin.ts +5 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.origin-response-completion-timeout.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-data-events-only.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md +104 -12
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-and-dashboard.ts +12 -0
- 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-cloudwatch/integ.dashboard-with-graphwidget-with-labels-visible.ts +92 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-metric-id-and-visible.ts +70 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.search-expression.ts +51 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/README.md +143 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-docker-server.ts +44 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-attribute-based-compute.ts +59 -7
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-custom-instance-type.ts +130 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-overflow-behavior.ts +61 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-s3-cache.ts +71 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-windows-image.ts +1 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts +26 -17
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/README.md +13 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/integ.user-pool-client-explicit-props.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/README.md +24 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.cluster-serverless.ts +34 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/README.md +225 -15
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/TABLE_V1_API.md +45 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb-v2.cci.ts +49 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.add-to-resource-policy.ts +97 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.cci.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.compound.ts +32 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.contirubtor-insights-for-gsi.ts +6 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.policy.ts +21 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-global.ts +9 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-mrsc.ts +31 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2.compound.ts +43 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md +28 -1
- 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-ec2/integ.vpc-endpoint.lit.ts +6 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-flow-logs.ts +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/README.md +41 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.tag-mutability-exclusion.ts +30 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-docker.ts +6 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +189 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.availability-zone-rebalancing.ts +14 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.blue-green-deployment-strategy.ts +147 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-windows-server-ami.ts +5 -6
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.ebs-volume-initialization-rate.ts +80 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts +35 -29
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.exec-command.ts +16 -22
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-awsvpc-nw.ts +26 -16
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-capacity-provider.ts +114 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-no-default-capacity-provider.ts +107 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-strategies.ts +32 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.pseudo-terminal.ts +18 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/README.md +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-fargate-service-public-private-switch.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-fargate-service-smart-defaults.ts +143 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md +103 -83
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-al2023-nodegroup.ts +1 -1
- 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-eks/integ.fargate-cluster.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/README.md +55 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb-lambda-multi-value-headers.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb-target-group-attributes.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb.oidc.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.nlb-target-group-attributes.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.nlb.security-group.ts +70 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2-actions/integ.cognito.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/README.md +41 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.api-destination.ts +42 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.archive-customer-managed-key.ts +23 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.eventbus.ts +13 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/README.md +93 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.firehose-delivery-stream.ts +51 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.custom-permissions-boundary-aspect.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.managed-policy.ts +9 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.policy.ts +9 -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-kinesisfirehose/README.md +159 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.cloudwatch-logs-processors.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.record-format-conversion-schema.ts +154 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.record-format-conversion.ts +178 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.s3-bucket.lit.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md +41 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.binary-payload.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.lambda-policy-with-token-resolution.ts +46 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.logging-config.ts +8 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.multi-tenancy.ts +24 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.params-and-secrets.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime-management.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.fromasset.ts +19 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.inlinecode.ts +11 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/README.md +3 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-bun-lock.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-pnpm.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.function-exclude-smithy-models.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.nodejs.build.images.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md +69 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroup-transformer.ts +37 -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-logs/integ.save-logs-insights-query-definition.ts +7 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.subscriptionfilter.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.transformer.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ebs.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.min.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md +72 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-cloudwatch-logs-exports.ts +56 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api-to-imported-cluster.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-lookup.ts +100 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-database-insights.ts +43 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-lookup.ts +77 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-endpoint.ts +36 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md +68 -31
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.delete-existing-record-set.ts +0 -1
- 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-route53/integ.route53.ts +51 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.zone-delegation-iam-stack.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.cloudfront-alias-target.ts +16 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.elastic-beanstalk-hostedzoneid.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.notifications-scoped-permissions.ts +71 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-assets/integ.assets.bundling.docker-opts.ts +4 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/README.md +83 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-big-response.ts +17 -6
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cloudfront.ts +20 -18
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-nested-stack-source.ts +64 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-source.ts +53 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-ssm-source.ts +97 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-data.ts +99 -59
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-deployed-bucket.ts +10 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-large-file.ts +23 -12
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-loggroup.ts +7 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-efs.ts +77 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-empty.ts +69 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-multiple.ts +89 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-single.ts +77 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-signcontent.ts +11 -7
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution-with-destination-key.ts +15 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution-with-role.ts +29 -14
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution.ts +16 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-basic.ts +65 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-config.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-custom-subnets.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-efs.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-security-groups.ts +72 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-subnet-selection.ts +70 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment.ts +47 -69
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-notifications/integ.bucket-notifications.ts +80 -42
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-secretsmanager/integ.secret.dynamic-reference-key.ts +38 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-signer/integ.signing-profile.ts +5 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns/README.md +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns-subscriptions/integ.sns-sqs-subscription-filter.ts +75 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns-subscriptions/integ.sns-sqs.ts +21 -40
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-parallel.ts +82 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-redrive.ts +130 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-with-catch.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.sm-jsonpath-with-distributed-map-jsonata.ts +105 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/README.md +75 -5
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.call-aws-service-cross-region-lambda.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.emr-create-cluster-with-ebs.ts +126 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-arm64.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-default.ts +25 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-mixed-arch.ts +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-nodejs22.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-x86.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.invoke-json-path.ts +102 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md +84 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-browser-type.ts +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-resources-to-replicate-tags.ts +36 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-retry.ts +32 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-runtime-validation.ts +43 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary.ts +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cloudformation-include/integ.novalue-nonstring.ts +25 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/README.md +2 -1870
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/README.md +59 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.aws-custom-resource.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.custom-resource-config-lambda-node-runtime.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.external-id.ts +80 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.invoke-function-payload.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +152 -10
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md +55 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/interfaces/README.md +33 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/README.md +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.newpipeline-reduce-stagerole-scope.ts +4 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipeline-with-customsynthesizer.ts +105 -0
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/RECORD +240 -151
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.kinesis-firehose-stream.ts +0 -33
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.expose-metric-with-dimensions.ts +0 -47
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-signcontent.d.ts +0 -1
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
3
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
4
|
+
import * as cdk from 'aws-cdk-lib';
|
|
5
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
6
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
7
|
+
|
|
8
|
+
const app = new cdk.App();
|
|
9
|
+
const stack = new cdk.Stack(app, 'aws-ecs-blue-green-deployment');
|
|
10
|
+
|
|
11
|
+
// Create VPC and Cluster
|
|
12
|
+
const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
|
|
13
|
+
const cluster = new ecs.Cluster(stack, 'FargateCluster', {
|
|
14
|
+
vpc,
|
|
15
|
+
defaultCloudMapNamespace: {
|
|
16
|
+
name: 'bluegreendeployment.com',
|
|
17
|
+
useForServiceConnect: true,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// Create Blue target group for B/G deployment
|
|
22
|
+
const blueTargetGroup = new elbv2.ApplicationTargetGroup(stack, 'BlueTG', {
|
|
23
|
+
vpc: cluster.vpc,
|
|
24
|
+
port: 80,
|
|
25
|
+
protocol: elbv2.ApplicationProtocol.HTTP,
|
|
26
|
+
targetType: elbv2.TargetType.IP,
|
|
27
|
+
healthCheck: {
|
|
28
|
+
path: '/',
|
|
29
|
+
healthyHttpCodes: '200',
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Create Green target group for B/G deployment
|
|
34
|
+
const greenTargetGroup = new elbv2.ApplicationTargetGroup(stack, 'GreenTG', {
|
|
35
|
+
vpc: cluster.vpc,
|
|
36
|
+
port: 80,
|
|
37
|
+
protocol: elbv2.ApplicationProtocol.HTTP,
|
|
38
|
+
targetType: elbv2.TargetType.IP,
|
|
39
|
+
healthCheck: {
|
|
40
|
+
path: '/',
|
|
41
|
+
healthyHttpCodes: '200',
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// Create security groups
|
|
46
|
+
const lbSecurityGroup = new ec2.SecurityGroup(stack, 'LBSecurityGroup', {
|
|
47
|
+
vpc: cluster.vpc,
|
|
48
|
+
allowAllOutbound: true,
|
|
49
|
+
});
|
|
50
|
+
lbSecurityGroup.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(80));
|
|
51
|
+
|
|
52
|
+
const ecsSecurityGroup = new ec2.SecurityGroup(stack, 'ECSSecurityGroup', {
|
|
53
|
+
vpc: cluster.vpc,
|
|
54
|
+
allowAllOutbound: true,
|
|
55
|
+
});
|
|
56
|
+
ecsSecurityGroup.addIngressRule(lbSecurityGroup, ec2.Port.tcp(80));
|
|
57
|
+
|
|
58
|
+
// Create ALB
|
|
59
|
+
const alb = new elbv2.ApplicationLoadBalancer(stack, 'ALB', {
|
|
60
|
+
vpc: cluster.vpc,
|
|
61
|
+
internetFacing: true,
|
|
62
|
+
securityGroup: lbSecurityGroup,
|
|
63
|
+
idleTimeout: cdk.Duration.seconds(60),
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Create ALB listener with default 404 response
|
|
67
|
+
const listener = alb.addListener('ALBListenerHTTP', {
|
|
68
|
+
port: 80,
|
|
69
|
+
defaultAction: elbv2.ListenerAction.fixedResponse(404),
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Create Prod listener rule
|
|
73
|
+
const prodListenerRule = new elbv2.ApplicationListenerRule(stack, 'ALBProductionListenerRule', {
|
|
74
|
+
listener: listener,
|
|
75
|
+
priority: 1,
|
|
76
|
+
conditions: [
|
|
77
|
+
elbv2.ListenerCondition.pathPatterns(['/*']),
|
|
78
|
+
],
|
|
79
|
+
action: elbv2.ListenerAction.weightedForward([
|
|
80
|
+
{
|
|
81
|
+
targetGroup: blueTargetGroup,
|
|
82
|
+
weight: 100,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
targetGroup: greenTargetGroup,
|
|
86
|
+
weight: 0,
|
|
87
|
+
},
|
|
88
|
+
]),
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// Create Lambda hook
|
|
92
|
+
const lambdaHook = new lambda.Function(stack, 'LambdaHook', {
|
|
93
|
+
handler: 'index.handler',
|
|
94
|
+
runtime: lambda.Runtime.NODEJS_22_X,
|
|
95
|
+
code: lambda.Code.fromInline(`exports.handler = async (event, context) => {
|
|
96
|
+
console.log('Event received:', JSON.stringify(event));
|
|
97
|
+
return { hookStatus: 'SUCCEEDED' };
|
|
98
|
+
};`),
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Create task definition
|
|
102
|
+
const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef', {
|
|
103
|
+
memoryLimitMiB: 512,
|
|
104
|
+
cpu: 256,
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// Add container to task definition
|
|
108
|
+
taskDefinition.addContainer('container', {
|
|
109
|
+
containerName: 'nginx',
|
|
110
|
+
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/nginx/nginx:latest'),
|
|
111
|
+
portMappings: [{
|
|
112
|
+
name: 'api',
|
|
113
|
+
containerPort: 80,
|
|
114
|
+
appProtocol: ecs.AppProtocol.http,
|
|
115
|
+
}],
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// Create Fargate service with escape hatching for B/G deployment
|
|
119
|
+
const service = new ecs.FargateService(stack, 'Service', {
|
|
120
|
+
cluster,
|
|
121
|
+
taskDefinition,
|
|
122
|
+
securityGroups: [ecsSecurityGroup],
|
|
123
|
+
deploymentStrategy: ecs.DeploymentStrategy.BLUE_GREEN,
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
service.addLifecycleHook(new ecs.DeploymentLifecycleLambdaTarget(lambdaHook, 'PreScaleUp', {
|
|
127
|
+
lifecycleStages: [ecs.DeploymentLifecycleStage.PRE_SCALE_UP],
|
|
128
|
+
}));
|
|
129
|
+
|
|
130
|
+
const target = service.loadBalancerTarget({
|
|
131
|
+
containerName: 'nginx',
|
|
132
|
+
containerPort: 80,
|
|
133
|
+
protocol: ecs.Protocol.TCP,
|
|
134
|
+
alternateTarget: new ecs.AlternateTarget('LBAlternateOptions', {
|
|
135
|
+
alternateTargetGroup: greenTargetGroup,
|
|
136
|
+
productionListener: ecs.ListenerRuleConfiguration.applicationListenerRule(prodListenerRule),
|
|
137
|
+
}),
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
target.attachToApplicationTargetGroup(blueTargetGroup);
|
|
141
|
+
|
|
142
|
+
// Create integration test
|
|
143
|
+
new integ.IntegTest(app, 'aws-ecs-blue-green', {
|
|
144
|
+
testCases: [stack],
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
app.synth();
|
|
@@ -32,8 +32,8 @@ insRole.applyRemovalPolicy(cdk.RemovalPolicy.DESTROY);
|
|
|
32
32
|
const autoScalingGroup = new autoscaling.AutoScalingGroup(stack, 'ASG', {
|
|
33
33
|
vpc,
|
|
34
34
|
role: insRole,
|
|
35
|
-
instanceType: ec2.InstanceType.of(ec2.InstanceClass.
|
|
36
|
-
machineImage: ecs.EcsOptimizedImage.windows(ecs.WindowsOptimizedVersion.
|
|
35
|
+
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.SMALL),
|
|
36
|
+
machineImage: ecs.EcsOptimizedImage.windows(ecs.WindowsOptimizedVersion.SERVER_2025),
|
|
37
37
|
minCapacity: 1,
|
|
38
38
|
});
|
|
39
39
|
|
|
@@ -46,10 +46,9 @@ cluster.addAsgCapacityProvider(cp);
|
|
|
46
46
|
|
|
47
47
|
const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef', {});
|
|
48
48
|
|
|
49
|
-
taskDefinition.addContainer('
|
|
50
|
-
image: ecs.ContainerImage.fromRegistry('
|
|
51
|
-
memoryLimitMiB:
|
|
52
|
-
cpu: 1024,
|
|
49
|
+
taskDefinition.addContainer('main', {
|
|
50
|
+
image: ecs.ContainerImage.fromRegistry('hello-world'),
|
|
51
|
+
memoryLimitMiB: 256,
|
|
53
52
|
});
|
|
54
53
|
|
|
55
54
|
new ecs.Ec2Service(stack, 'EC2Service', {
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib';
|
|
3
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
4
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
* This integration test demonstrates how to use EBS volume initialization rate
|
|
9
|
+
* with Service Managed Volumes.
|
|
10
|
+
*
|
|
11
|
+
* To run this test with a real EBS snapshot:
|
|
12
|
+
* 1. Create an EBS volume:
|
|
13
|
+
* aws ec2 create-volume --size 1 --volume-type gp3 --availability-zone us-east-1a
|
|
14
|
+
* 2. Create a snapshot from the volume:
|
|
15
|
+
* aws ec2 create-snapshot --volume-id vol-xxxxxxxxx --description "Test snapshot"
|
|
16
|
+
* 3. Wait for snapshot completion:
|
|
17
|
+
* aws ec2 wait snapshot-completed --snapshot-ids snap-xxxxxxxxx
|
|
18
|
+
* 4. Set the environment variable SNAPSHOT_ID to the snapshot ID:
|
|
19
|
+
* export SNAPSHOT_ID=snap-xxxxxxxxx
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
const snapShotId = process.env.SNAPSHOT_ID ?? 'snap-123456789abcdef0';
|
|
23
|
+
|
|
24
|
+
class TestStack extends cdk.Stack {
|
|
25
|
+
constructor(scope: Construct, id: string) {
|
|
26
|
+
super(scope, id);
|
|
27
|
+
|
|
28
|
+
const vpc = new ec2.Vpc(this, 'Vpc', {
|
|
29
|
+
maxAzs: 1,
|
|
30
|
+
restrictDefaultSecurityGroup: false,
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const cluster = new ecs.Cluster(this, 'FargateCluster', {
|
|
34
|
+
vpc,
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const taskDefinition = new ecs.FargateTaskDefinition(this, 'TaskDef');
|
|
38
|
+
|
|
39
|
+
const container = taskDefinition.addContainer('web', {
|
|
40
|
+
image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
|
|
41
|
+
portMappings: [{
|
|
42
|
+
containerPort: 80,
|
|
43
|
+
protocol: ecs.Protocol.TCP,
|
|
44
|
+
}],
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const volume = new ecs.ServiceManagedVolume(this, 'EBSVolume', {
|
|
48
|
+
name: 'ebs1',
|
|
49
|
+
managedEBSVolume: {
|
|
50
|
+
volumeType: ec2.EbsDeviceVolumeType.GP3,
|
|
51
|
+
size: cdk.Size.gibibytes(1),
|
|
52
|
+
fileSystemType: ecs.FileSystemType.EXT4,
|
|
53
|
+
volumeInitializationRate: cdk.Size.mebibytes(200),
|
|
54
|
+
snapShotId: snapShotId,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
volume.mountIn(container, {
|
|
59
|
+
containerPath: '/var/lib',
|
|
60
|
+
readOnly: false,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
taskDefinition.addVolume(volume);
|
|
64
|
+
|
|
65
|
+
const service = new ecs.FargateService(this, 'FargateService', {
|
|
66
|
+
cluster,
|
|
67
|
+
taskDefinition,
|
|
68
|
+
desiredCount: 1,
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
service.addVolume(volume);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const app = new cdk.App();
|
|
76
|
+
const stack = new TestStack(app, 'integ-aws-ecs-ebs-volume-initialization-rate');
|
|
77
|
+
|
|
78
|
+
new integ.IntegTest(app, 'EBSVolumeInitializationRate', {
|
|
79
|
+
testCases: [stack],
|
|
80
|
+
});
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts
CHANGED
|
@@ -1,30 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
import * as
|
|
1
|
+
|
|
2
|
+
import * as autoscaling from 'aws-cdk-lib/aws-autoscaling';
|
|
3
3
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
4
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
4
5
|
import * as cdk from 'aws-cdk-lib';
|
|
5
|
-
import { Duration } from 'aws-cdk-lib';
|
|
6
6
|
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
7
7
|
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
8
8
|
|
|
9
9
|
const app = new cdk.App({
|
|
10
10
|
postCliContext: {
|
|
11
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
11
12
|
'@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions': true,
|
|
13
|
+
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
14
|
+
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
15
|
+
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
12
16
|
},
|
|
13
17
|
});
|
|
14
18
|
const stack = new cdk.Stack(app, 'aws-ecs-integ-enable-execute-command');
|
|
15
19
|
|
|
16
|
-
const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2
|
|
20
|
+
const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2 });
|
|
21
|
+
|
|
22
|
+
const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef');
|
|
23
|
+
|
|
24
|
+
taskDefinition.addContainer('web', {
|
|
25
|
+
image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
|
|
26
|
+
memoryReservationMiB: 256,
|
|
27
|
+
portMappings: [
|
|
28
|
+
{
|
|
29
|
+
containerPort: 80,
|
|
30
|
+
hostPort: 8080,
|
|
31
|
+
protocol: ecs.Protocol.TCP,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
});
|
|
17
35
|
|
|
18
|
-
const
|
|
36
|
+
const execBucket = new s3.Bucket(stack, 'EcsExecBucket');
|
|
19
37
|
|
|
20
|
-
const
|
|
21
|
-
|
|
38
|
+
const cp = new ecs.AsgCapacityProvider(stack, 'EC2CapacityProvider', {
|
|
39
|
+
autoScalingGroup: new autoscaling.AutoScalingGroup(stack, 'ASG', {
|
|
40
|
+
vpc,
|
|
41
|
+
instanceType: new ec2.InstanceType('t2.micro'),
|
|
42
|
+
machineImage: ecs.EcsOptimizedImage.amazonLinux2(),
|
|
43
|
+
}),
|
|
44
|
+
// This is to allow cdk destroy to work; otherwise deletion will hang bc ASG cannot be deleted
|
|
45
|
+
enableManagedTerminationProtection: false,
|
|
22
46
|
});
|
|
23
47
|
|
|
24
|
-
const cluster = new ecs.Cluster(stack, '
|
|
48
|
+
const cluster = new ecs.Cluster(stack, 'EC2CPCluster', {
|
|
25
49
|
vpc,
|
|
26
50
|
executeCommandConfiguration: {
|
|
27
|
-
kmsKey,
|
|
28
51
|
logConfiguration: {
|
|
29
52
|
s3Bucket: execBucket,
|
|
30
53
|
s3EncryptionEnabled: true,
|
|
@@ -33,19 +56,9 @@ const cluster = new ecs.Cluster(stack, 'FargateCluster', {
|
|
|
33
56
|
logging: ecs.ExecuteCommandLogging.OVERRIDE,
|
|
34
57
|
},
|
|
35
58
|
});
|
|
59
|
+
cluster.addAsgCapacityProvider(cp);
|
|
36
60
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
taskDefinition.addContainer('web', {
|
|
40
|
-
image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
|
|
41
|
-
healthCheck: {
|
|
42
|
-
command: ['CMD-SHELL', 'curl localhost:8000'],
|
|
43
|
-
interval: Duration.seconds(60),
|
|
44
|
-
timeout: Duration.seconds(40),
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
new ecs.FargateService(stack, 'FargateService', {
|
|
61
|
+
new ecs.Ec2Service(stack, 'EC2Service', {
|
|
49
62
|
cluster,
|
|
50
63
|
taskDefinition,
|
|
51
64
|
enableExecuteCommand: true,
|
|
@@ -53,12 +66,5 @@ new ecs.FargateService(stack, 'FargateService', {
|
|
|
53
66
|
|
|
54
67
|
new integ.IntegTest(app, 'enable-execute-command-test', {
|
|
55
68
|
testCases: [stack],
|
|
56
|
-
diffAssets: true,
|
|
57
|
-
cdkCommandOptions: {
|
|
58
|
-
deploy: {
|
|
59
|
-
args: {
|
|
60
|
-
rollback: true,
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
69
|
});
|
|
70
|
+
app.synth();
|
|
@@ -3,11 +3,16 @@ import * as kms from 'aws-cdk-lib/aws-kms';
|
|
|
3
3
|
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
4
4
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
5
5
|
import * as cdk from 'aws-cdk-lib';
|
|
6
|
-
import { Duration } from 'aws-cdk-lib';
|
|
7
|
-
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
8
6
|
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
9
7
|
|
|
10
|
-
const app = new cdk.App(
|
|
8
|
+
const app = new cdk.App({
|
|
9
|
+
postCliContext: {
|
|
10
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
11
|
+
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
12
|
+
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
13
|
+
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
11
16
|
const stack = new cdk.Stack(app, 'aws-ecs-integ-exec-command');
|
|
12
17
|
|
|
13
18
|
const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
|
|
@@ -22,7 +27,7 @@ const execBucket = new s3.Bucket(stack, 'EcsExecBucket', {
|
|
|
22
27
|
encryptionKey: kmsKey,
|
|
23
28
|
});
|
|
24
29
|
|
|
25
|
-
const cluster = new ecs.Cluster(stack, '
|
|
30
|
+
const cluster = new ecs.Cluster(stack, 'Ec2Cluster', {
|
|
26
31
|
vpc,
|
|
27
32
|
executeCommandConfiguration: {
|
|
28
33
|
kmsKey,
|
|
@@ -36,32 +41,21 @@ const cluster = new ecs.Cluster(stack, 'FargateCluster', {
|
|
|
36
41
|
logging: ecs.ExecuteCommandLogging.OVERRIDE,
|
|
37
42
|
},
|
|
38
43
|
});
|
|
44
|
+
cluster.addCapacity('DefaultAutoScalingGroup', {
|
|
45
|
+
instanceType: new ec2.InstanceType('t2.micro'),
|
|
46
|
+
});
|
|
39
47
|
|
|
40
|
-
const taskDefinition = new ecs.
|
|
48
|
+
const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef');
|
|
41
49
|
|
|
42
50
|
taskDefinition.addContainer('web', {
|
|
43
51
|
image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
|
|
44
|
-
|
|
45
|
-
command: ['CMD-SHELL', 'curl localhost:8000'],
|
|
46
|
-
interval: Duration.seconds(60),
|
|
47
|
-
timeout: Duration.seconds(40),
|
|
48
|
-
},
|
|
52
|
+
memoryLimitMiB: 256,
|
|
49
53
|
});
|
|
50
54
|
|
|
51
|
-
new ecs.
|
|
55
|
+
new ecs.Ec2Service(stack, 'Ec2Service', {
|
|
52
56
|
cluster,
|
|
53
57
|
taskDefinition,
|
|
54
58
|
enableExecuteCommand: true,
|
|
55
59
|
});
|
|
56
60
|
|
|
57
|
-
|
|
58
|
-
testCases: [stack],
|
|
59
|
-
diffAssets: true,
|
|
60
|
-
cdkCommandOptions: {
|
|
61
|
-
deploy: {
|
|
62
|
-
args: {
|
|
63
|
-
rollback: true,
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
});
|
|
61
|
+
app.synth();
|
|
@@ -3,38 +3,48 @@ import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
|
3
3
|
import * as cdk from 'aws-cdk-lib';
|
|
4
4
|
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
5
5
|
|
|
6
|
-
const app = new cdk.App(
|
|
6
|
+
const app = new cdk.App({
|
|
7
|
+
postCliContext: {
|
|
8
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
9
|
+
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
10
|
+
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
11
|
+
'@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy': false,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
7
14
|
const stack = new cdk.Stack(app, 'aws-ecs-integ');
|
|
8
15
|
|
|
9
16
|
const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
|
|
10
17
|
|
|
11
|
-
const cluster = new ecs.Cluster(stack, '
|
|
18
|
+
const cluster = new ecs.Cluster(stack, 'EcsCluster', { vpc });
|
|
19
|
+
cluster.addCapacity('DefaultAutoScalingGroup', {
|
|
20
|
+
instanceType: new ec2.InstanceType('t2.micro'),
|
|
21
|
+
});
|
|
12
22
|
|
|
13
|
-
const taskDefinition = new ecs.
|
|
14
|
-
|
|
15
|
-
cpu: 512,
|
|
23
|
+
const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef', {
|
|
24
|
+
networkMode: ecs.NetworkMode.AWS_VPC,
|
|
16
25
|
});
|
|
17
26
|
|
|
18
|
-
taskDefinition.addContainer('web', {
|
|
27
|
+
const container = taskDefinition.addContainer('web', {
|
|
19
28
|
image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
29
|
+
memoryLimitMiB: 256,
|
|
30
|
+
environment: {
|
|
31
|
+
SOME_VARIABLE: 'value',
|
|
32
|
+
},
|
|
24
33
|
});
|
|
25
34
|
|
|
26
|
-
|
|
35
|
+
container.addPortMappings({
|
|
36
|
+
containerPort: 80,
|
|
37
|
+
protocol: ecs.Protocol.TCP,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const service = new ecs.Ec2Service(stack, 'Service', {
|
|
27
41
|
cluster,
|
|
28
42
|
taskDefinition,
|
|
29
43
|
});
|
|
30
44
|
|
|
31
|
-
const scaling = service.autoScaleTaskCount({ maxCapacity: 10 });
|
|
32
|
-
// Quite low to try and force it to scale
|
|
33
|
-
scaling.scaleOnCpuUtilization('ReasonableCpu', { targetUtilizationPercent: 10 });
|
|
34
|
-
|
|
35
45
|
const lb = new elbv2.ApplicationLoadBalancer(stack, 'LB', { vpc, internetFacing: true });
|
|
36
46
|
const listener = lb.addListener('PublicListener', { port: 80, open: true });
|
|
37
|
-
listener.addTargets('
|
|
47
|
+
listener.addTargets('ECS', {
|
|
38
48
|
port: 80,
|
|
39
49
|
targets: [service],
|
|
40
50
|
});
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
3
|
+
import * as cdk from 'aws-cdk-lib';
|
|
4
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
5
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
6
|
+
|
|
7
|
+
const app = new cdk.App({
|
|
8
|
+
postCliContext: {
|
|
9
|
+
'@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm': true,
|
|
10
|
+
'@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature': false,
|
|
11
|
+
'@aws-cdk/aws-ecs:disableEcsImdsBlocking': false,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
const stack = new cdk.Stack(app, 'integ-managedinstances-capacity-provider');
|
|
15
|
+
|
|
16
|
+
const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2, restrictDefaultSecurityGroup: false });
|
|
17
|
+
const cluster = new ecs.Cluster(stack, 'ManagedInstancesCluster', {
|
|
18
|
+
vpc,
|
|
19
|
+
enableFargateCapacityProviders: true,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Create IAM roles required for FMI following Omakase specifications
|
|
23
|
+
const infrastructureRole = new iam.Role(stack, 'InfrastructureRole', {
|
|
24
|
+
roleName: 'AmazonECSInfrastructureRoleForOmakase',
|
|
25
|
+
assumedBy: new iam.ServicePrincipal('ecs.amazonaws.com'),
|
|
26
|
+
managedPolicies: [
|
|
27
|
+
iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonECSInfrastructureRolePolicyForManagedInstances'),
|
|
28
|
+
],
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const instanceRole = new iam.Role(stack, 'InstanceRole', {
|
|
32
|
+
roleName: 'AmazonECSInstanceRoleForOmakase',
|
|
33
|
+
assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com'),
|
|
34
|
+
managedPolicies: [
|
|
35
|
+
iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonECSInstanceRolePolicyForManagedInstances'),
|
|
36
|
+
],
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const instanceProfile = new iam.InstanceProfile(stack, 'InstanceProfile', {
|
|
40
|
+
instanceProfileName: 'AmazonECSInstanceRoleForOmakase',
|
|
41
|
+
role: instanceRole,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// Create a security group for FMI instances
|
|
45
|
+
const fmiSecurityGroup = new ec2.SecurityGroup(stack, 'ManagedInstancesSecurityGroup', {
|
|
46
|
+
vpc,
|
|
47
|
+
description: 'Security group for ManagedInstances capacity provider instances',
|
|
48
|
+
allowAllOutbound: true,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// Create MI Capacity Provider
|
|
52
|
+
const miCapacityProvider = new ecs.ManagedInstancesCapacityProvider(stack, 'ManagedInstancesCapacityProvider', {
|
|
53
|
+
infrastructureRole: infrastructureRole,
|
|
54
|
+
ec2InstanceProfile: instanceProfile,
|
|
55
|
+
subnets: vpc.privateSubnets,
|
|
56
|
+
securityGroups: [fmiSecurityGroup],
|
|
57
|
+
propagateTags: ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER,
|
|
58
|
+
instanceRequirements: {
|
|
59
|
+
vCpuCountMin: 1,
|
|
60
|
+
memoryMin: cdk.Size.gibibytes(2),
|
|
61
|
+
cpuManufacturers: [ec2.CpuManufacturer.INTEL],
|
|
62
|
+
acceleratorManufacturers: [ec2.AcceleratorManufacturer.NVIDIA],
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Configure security group rules using IConnectable interface
|
|
67
|
+
miCapacityProvider.connections.allowFrom(ec2.Peer.ipv4(vpc.vpcCidrBlock), ec2.Port.tcp(80));
|
|
68
|
+
|
|
69
|
+
// Add FMI capacity provider to cluster
|
|
70
|
+
cluster.addManagedInstancesCapacityProvider(miCapacityProvider);
|
|
71
|
+
cluster.addDefaultCapacityProviderStrategy([
|
|
72
|
+
{
|
|
73
|
+
capacityProvider: miCapacityProvider.capacityProviderName,
|
|
74
|
+
weight: 1,
|
|
75
|
+
},
|
|
76
|
+
]);
|
|
77
|
+
|
|
78
|
+
// Create a task definition compatible with Managed Instances and Fargate
|
|
79
|
+
const taskDefinition = new ecs.TaskDefinition(stack, 'TaskDef', {
|
|
80
|
+
compatibility: ecs.Compatibility.FARGATE_AND_MANAGED_INSTANCES,
|
|
81
|
+
cpu: '256',
|
|
82
|
+
memoryMiB: '512',
|
|
83
|
+
networkMode: ecs.NetworkMode.AWS_VPC,
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
taskDefinition.addContainer('web', {
|
|
87
|
+
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/docker/library/httpd:2.4'),
|
|
88
|
+
memoryLimitMiB: 512,
|
|
89
|
+
portMappings: [
|
|
90
|
+
{
|
|
91
|
+
containerPort: 80,
|
|
92
|
+
protocol: ecs.Protocol.TCP,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// Create a service using the MI capacity provider
|
|
98
|
+
new ecs.FargateService(stack, 'ManagedInstancesService', {
|
|
99
|
+
cluster,
|
|
100
|
+
taskDefinition,
|
|
101
|
+
capacityProviderStrategies: [
|
|
102
|
+
{
|
|
103
|
+
capacityProvider: miCapacityProvider.capacityProviderName,
|
|
104
|
+
weight: 1,
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
desiredCount: 1,
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
new integ.IntegTest(app, 'ManagedInstancesCapacityProviders', {
|
|
111
|
+
testCases: [stack],
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
app.synth();
|