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.
Files changed (243) hide show
  1. cdk_api_mcp_server/__about__.py +1 -1
  2. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-amplify-alpha/README.md +12 -0
  3. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md +1979 -0
  4. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md +946 -0
  5. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README.md +160 -75
  6. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-elasticache-alpha/README.md +421 -0
  7. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-glue-alpha/README.md +39 -9
  8. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md +656 -0
  9. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md +1 -1
  10. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-lambda-go-alpha/README.md +102 -4
  11. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-lambda-python-alpha/README.md +6 -6
  12. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-msk-alpha/README.md +38 -8
  13. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-s3tables-alpha/README.md +82 -2
  14. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-sagemaker-alpha/README.md +32 -0
  15. cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md +182 -0
  16. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md +367 -17
  17. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/README.md +34 -0
  18. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.api-with-authorizer-and-proxy.ts +1 -1
  19. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.lambda-api.ts +1 -1
  20. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.lambda-permission-consolidation.ts +55 -0
  21. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.spec-restapi.ts +1 -0
  22. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md +224 -60
  23. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-dualstack.ts +3 -4
  24. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts +5 -3
  25. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.stage.ts +10 -7
  26. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.usage-plan.ts +80 -0
  27. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.iam.ts +34 -38
  28. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.lambda.ts +2 -2
  29. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.user-pool.ts +1 -1
  30. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/README.md +35 -0
  31. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.add-subroute-integration.ts +7 -4
  32. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.http-proxy.ts +1 -1
  33. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-connect-disconnect-trigger.ts +2 -2
  34. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-permission-consolidation.ts +45 -0
  35. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-proxy.ts +1 -1
  36. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda.ts +4 -4
  37. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.sqs.ts +58 -71
  38. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-appsync/integ.graphql-lambda-permission.ts +1 -1
  39. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-appsync/integ.js-resolver.ts +1 -1
  40. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/README.md +1 -1
  41. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/integ.asg-lt.ts +7 -0
  42. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md +49 -1
  43. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts +148 -0
  44. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.managed-compute-environment-default-instance-class.ts +20 -0
  45. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-certificatemanager/README.md +11 -0
  46. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudformation/integ.core-custom-resources-node-18.ts +1 -1
  47. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudformation/integ.core-custom-resources-service-timeout.ts +1 -1
  48. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/README.md +292 -1
  49. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md +83 -0
  50. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-ip-address-type.ts +84 -0
  51. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.http-origin.ts +5 -2
  52. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.origin-response-completion-timeout.ts +50 -0
  53. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-data-events-only.ts +1 -1
  54. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md +104 -12
  55. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-and-dashboard.ts +12 -0
  56. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.anomaly-detection-alarm.ts +44 -2
  57. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-graphwidget-with-labels-visible.ts +92 -0
  58. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-metric-id-and-visible.ts +70 -0
  59. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.search-expression.ts +51 -0
  60. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/README.md +143 -3
  61. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-docker-server.ts +44 -0
  62. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-attribute-based-compute.ts +59 -7
  63. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-custom-instance-type.ts +130 -0
  64. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-overflow-behavior.ts +61 -0
  65. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-s3-cache.ts +71 -0
  66. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-windows-image.ts +1 -2
  67. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts +26 -17
  68. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/README.md +13 -2
  69. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/integ.user-pool-client-explicit-props.ts +1 -0
  70. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/README.md +24 -0
  71. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.cluster-serverless.ts +34 -0
  72. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/README.md +225 -15
  73. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/TABLE_V1_API.md +45 -2
  74. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb-v2.cci.ts +49 -0
  75. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.add-to-resource-policy.ts +97 -0
  76. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.cci.ts +27 -0
  77. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.compound.ts +32 -0
  78. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.contirubtor-insights-for-gsi.ts +6 -2
  79. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.policy.ts +21 -1
  80. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-global.ts +9 -3
  81. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-mrsc.ts +31 -0
  82. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2.compound.ts +43 -0
  83. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md +28 -1
  84. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.client-vpn-endpoint-disconnect-on-session-timeout.ts +65 -0
  85. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-endpoint.lit.ts +6 -0
  86. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-flow-logs.ts +4 -0
  87. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/README.md +41 -2
  88. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.tag-mutability-exclusion.ts +30 -0
  89. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md +4 -0
  90. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-docker.ts +6 -0
  91. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +189 -1
  92. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.availability-zone-rebalancing.ts +14 -4
  93. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.blue-green-deployment-strategy.ts +147 -0
  94. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-windows-server-ami.ts +5 -6
  95. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.ebs-volume-initialization-rate.ts +80 -0
  96. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts +35 -29
  97. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.exec-command.ts +16 -22
  98. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-awsvpc-nw.ts +26 -16
  99. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-capacity-provider.ts +114 -0
  100. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-no-default-capacity-provider.ts +107 -0
  101. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-strategies.ts +32 -8
  102. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.pseudo-terminal.ts +18 -8
  103. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/README.md +2 -0
  104. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-fargate-service-public-private-switch.ts +45 -0
  105. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-fargate-service-smart-defaults.ts +143 -0
  106. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md +103 -83
  107. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-al2023-nodegroup.ts +1 -1
  108. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-removal-policy.ts +31 -0
  109. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.fargate-cluster.ts +1 -1
  110. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/README.md +55 -4
  111. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb-lambda-multi-value-headers.ts +1 -1
  112. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb-target-group-attributes.ts +45 -0
  113. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb.oidc.ts +1 -1
  114. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.nlb-target-group-attributes.ts +45 -0
  115. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.nlb.security-group.ts +70 -0
  116. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2-actions/integ.cognito.ts +1 -1
  117. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/README.md +41 -2
  118. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.api-destination.ts +42 -0
  119. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.archive-customer-managed-key.ts +23 -0
  120. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.eventbus.ts +13 -3
  121. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/README.md +93 -4
  122. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.firehose-delivery-stream.ts +51 -0
  123. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.custom-permissions-boundary-aspect.ts +50 -0
  124. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.managed-policy.ts +9 -0
  125. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.policy.ts +9 -0
  126. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/README.md +42 -0
  127. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream-shard-level-monitoring.ts +47 -0
  128. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/README.md +159 -3
  129. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.cloudwatch-logs-processors.ts +45 -0
  130. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.record-format-conversion-schema.ts +154 -0
  131. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.record-format-conversion.ts +178 -0
  132. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.s3-bucket.lit.ts +1 -0
  133. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md +41 -2
  134. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.binary-payload.ts +1 -1
  135. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.lambda-policy-with-token-resolution.ts +46 -0
  136. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.logging-config.ts +8 -8
  137. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.multi-tenancy.ts +24 -0
  138. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.params-and-secrets.ts +1 -1
  139. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime-management.ts +1 -1
  140. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.fromasset.ts +19 -4
  141. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.inlinecode.ts +11 -4
  142. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/README.md +3 -3
  143. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-bun-lock.ts +50 -0
  144. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-pnpm.ts +1 -1
  145. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.function-exclude-smithy-models.ts +2 -2
  146. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.nodejs.build.images.ts +1 -1
  147. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md +69 -1
  148. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroup-transformer.ts +37 -0
  149. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter-apply-on-transformed-logs.ts +29 -0
  150. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.save-logs-insights-query-definition.ts +7 -2
  151. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.subscriptionfilter.ts +1 -1
  152. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.transformer.ts +27 -0
  153. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ebs.ts +1 -1
  154. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.min.ts +1 -0
  155. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md +72 -2
  156. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-cloudwatch-logs-exports.ts +56 -0
  157. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api-to-imported-cluster.ts +1 -1
  158. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api.ts +1 -1
  159. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-lookup.ts +100 -0
  160. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster.ts +1 -1
  161. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-database-insights.ts +43 -0
  162. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-lookup.ts +77 -0
  163. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-endpoint.ts +36 -0
  164. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md +68 -31
  165. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.delete-existing-record-set.ts +0 -1
  166. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.private-hosted-zone-from-attributes.ts +41 -0
  167. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.route53.ts +51 -1
  168. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.zone-delegation-iam-stack.ts +66 -0
  169. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.cloudfront-alias-target.ts +16 -1
  170. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.elastic-beanstalk-hostedzoneid.ts +1 -1
  171. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.notifications-scoped-permissions.ts +71 -0
  172. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-assets/integ.assets.bundling.docker-opts.ts +4 -1
  173. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/README.md +83 -4
  174. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-big-response.ts +17 -6
  175. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cloudfront.ts +20 -18
  176. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-nested-stack-source.ts +64 -0
  177. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-source.ts +53 -0
  178. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-ssm-source.ts +97 -0
  179. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-data.ts +99 -59
  180. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-deployed-bucket.ts +10 -4
  181. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-large-file.ts +23 -12
  182. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-loggroup.ts +7 -2
  183. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-efs.ts +77 -0
  184. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-empty.ts +69 -0
  185. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-multiple.ts +89 -0
  186. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-single.ts +77 -0
  187. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-signcontent.ts +11 -7
  188. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution-with-destination-key.ts +15 -8
  189. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution-with-role.ts +29 -14
  190. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution.ts +16 -8
  191. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-basic.ts +65 -0
  192. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-config.ts +66 -0
  193. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-custom-subnets.ts +66 -0
  194. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-efs.ts +66 -0
  195. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-security-groups.ts +72 -0
  196. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-subnet-selection.ts +70 -0
  197. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment.ts +47 -69
  198. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-notifications/integ.bucket-notifications.ts +80 -42
  199. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-secretsmanager/integ.secret.dynamic-reference-key.ts +38 -0
  200. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-signer/integ.signing-profile.ts +5 -0
  201. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns/README.md +2 -0
  202. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns-subscriptions/integ.sns-sqs-subscription-filter.ts +75 -0
  203. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns-subscriptions/integ.sns-sqs.ts +21 -40
  204. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-parallel.ts +82 -0
  205. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-redrive.ts +130 -0
  206. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-with-catch.ts +1 -0
  207. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.sm-jsonpath-with-distributed-map-jsonata.ts +105 -0
  208. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/README.md +75 -5
  209. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.call-aws-service-cross-region-lambda.ts +1 -1
  210. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.emr-create-cluster-with-ebs.ts +126 -0
  211. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-arm64.ts +27 -0
  212. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-default.ts +25 -0
  213. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-mixed-arch.ts +35 -0
  214. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-nodejs22.ts +27 -0
  215. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-x86.ts +27 -0
  216. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.invoke-json-path.ts +102 -0
  217. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md +84 -1
  218. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-browser-type.ts +35 -0
  219. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-resources-to-replicate-tags.ts +36 -0
  220. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-retry.ts +32 -0
  221. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-runtime-validation.ts +43 -0
  222. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary.ts +2 -0
  223. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cloudformation-include/integ.novalue-nonstring.ts +25 -0
  224. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/README.md +2 -1870
  225. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/README.md +59 -0
  226. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.aws-custom-resource.ts +1 -1
  227. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.custom-resource-config-lambda-node-runtime.ts +1 -1
  228. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.external-id.ts +80 -0
  229. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.invoke-function-payload.ts +1 -1
  230. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +152 -10
  231. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md +55 -1
  232. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/interfaces/README.md +33 -0
  233. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/README.md +4 -0
  234. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.newpipeline-reduce-stagerole-scope.ts +4 -1
  235. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipeline-with-customsynthesizer.ts +105 -0
  236. {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/METADATA +2 -2
  237. {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/RECORD +240 -151
  238. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.kinesis-firehose-stream.ts +0 -33
  239. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.expose-metric-with-dimensions.ts +0 -47
  240. cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-signcontent.d.ts +0 -1
  241. {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/WHEEL +0 -0
  242. {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
  243. {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
@@ -29,7 +29,7 @@ new CfnOutput(stack, 'Endpoint', {
29
29
 
30
30
  function lambdaProxyEndpoint(s: Stack): HttpApi {
31
31
  const handler = new lambda.Function(s, 'AlwaysSuccess', {
32
- runtime: lambda.Runtime.NODEJS_18_X,
32
+ runtime: lambda.Runtime.NODEJS_20_X,
33
33
  handler: 'index.handler',
34
34
  code: new lambda.InlineCode('exports.handler = async function(event, context) { return { statusCode: 200, body: "success" }; };'),
35
35
  });
@@ -17,7 +17,7 @@ const webSocketTableName = 'WebSocketConnections';
17
17
 
18
18
  const connectFunction = new lambda.Function(stack, 'Connect Function', {
19
19
  functionName: 'process_connect_requests',
20
- runtime: lambda.Runtime.NODEJS_14_X,
20
+ runtime: lambda.Runtime.NODEJS_22_X,
21
21
  handler: 'index.handler',
22
22
  code: lambda.Code.fromAsset(path.join(__dirname, 'lambdas', 'connect')),
23
23
  timeout: cdk.Duration.seconds(5),
@@ -31,7 +31,7 @@ const disconnectFunction = new lambda.Function(
31
31
  'Disconnect Function',
32
32
  {
33
33
  functionName: 'process_disconnect_requests',
34
- runtime: lambda.Runtime.NODEJS_14_X,
34
+ runtime: lambda.Runtime.NODEJS_22_X,
35
35
  handler: 'index.handler',
36
36
  code: lambda.Code.fromAsset(
37
37
  path.join(__dirname, 'lambdas', 'disconnect'),
@@ -0,0 +1,45 @@
1
+ import { HttpApi, HttpMethod, HttpRoute, HttpRouteKey } from 'aws-cdk-lib/aws-apigatewayv2';
2
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
3
+ import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
4
+ import { App, Stack } from 'aws-cdk-lib';
5
+ import { HttpLambdaIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';
6
+
7
+ const app = new App({
8
+ postCliContext: {
9
+ '@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
10
+ },
11
+ });
12
+ const stack = new Stack(app, 'integ-lambda-permission-consolidation');
13
+
14
+ const httpApi = new HttpApi(stack, 'HttpApi');
15
+
16
+ const lambdaHandler = new lambda.Function(stack, 'Handler', {
17
+ runtime: lambda.Runtime.NODEJS_18_X,
18
+ handler: 'index.handler',
19
+ code: new lambda.InlineCode('exports.handler = async function(event, context) { return { statusCode: 200, body: JSON.stringify({ message: \'Hello from \' + event.requestContext.http.path }) }; };'),
20
+ });
21
+
22
+ // Add several routes
23
+ for (let i = 1; i <= 10; i++) {
24
+ new HttpRoute(stack, `Route${i}`, {
25
+ httpApi: httpApi,
26
+ integration: new HttpLambdaIntegration(`Integration${i}`, lambdaHandler, {
27
+ scopePermissionToRoute: false,
28
+ }),
29
+ routeKey: HttpRouteKey.with(`/path${i}`, HttpMethod.GET),
30
+ });
31
+ }
32
+
33
+ // Integ Test Assertions
34
+ const integ = new IntegTest(app, 'Integ', { testCases: [stack] });
35
+
36
+ // Test that routes work after consolidation
37
+ integ.assertions.httpApiCall(httpApi.apiEndpoint + '/path1').expect(ExpectedResult.objectLike({
38
+ body: { message: 'Hello from /path1' },
39
+ status: 200,
40
+ }));
41
+
42
+ integ.assertions.httpApiCall(httpApi.apiEndpoint + '/path12').expect(ExpectedResult.objectLike({
43
+ body: { message: 'Hello from /path10' },
44
+ status: 200,
45
+ }));
@@ -17,7 +17,7 @@ const app = new App({
17
17
  const stack = new Stack(app, 'integ-lambda-proxy');
18
18
 
19
19
  const handler = new lambda.Function(stack, 'AlwaysSuccess', {
20
- runtime: lambda.Runtime.NODEJS_18_X,
20
+ runtime: lambda.Runtime.NODEJS_20_X,
21
21
  handler: 'index.handler',
22
22
  code: new lambda.InlineCode('exports.handler = async function(event, context) { return { statusCode: 200, body: "success" }; };'),
23
23
  });
@@ -19,25 +19,25 @@ const app = new App({
19
19
  const stack = new Stack(app, 'WebSocketApiInteg');
20
20
 
21
21
  const connectHandler = new lambda.Function(stack, 'ConnectHandler', {
22
- runtime: lambda.Runtime.NODEJS_18_X,
22
+ runtime: lambda.Runtime.NODEJS_20_X,
23
23
  handler: 'index.handler',
24
24
  code: new lambda.InlineCode('exports.handler = async function(event, context) { console.log(event); return { statusCode: 200, body: "connected" }; };'),
25
25
  });
26
26
 
27
27
  const disconnetHandler = new lambda.Function(stack, 'DisconnectHandler', {
28
- runtime: lambda.Runtime.NODEJS_18_X,
28
+ runtime: lambda.Runtime.NODEJS_20_X,
29
29
  handler: 'index.handler',
30
30
  code: new lambda.InlineCode('exports.handler = async function(event, context) { console.log(event); return { statusCode: 200, body: "disconnected" }; };'),
31
31
  });
32
32
 
33
33
  const defaultHandler = new lambda.Function(stack, 'DefaultHandler', {
34
- runtime: lambda.Runtime.NODEJS_18_X,
34
+ runtime: lambda.Runtime.NODEJS_20_X,
35
35
  handler: 'index.handler',
36
36
  code: new lambda.InlineCode('exports.handler = async function(event, context) { console.log(event); return { statusCode: 200, body: "default" }; };'),
37
37
  });
38
38
 
39
39
  const messageHandler = new lambda.Function(stack, 'MessageHandler', {
40
- runtime: lambda.Runtime.NODEJS_18_X,
40
+ runtime: lambda.Runtime.NODEJS_20_X,
41
41
  handler: 'index.handler',
42
42
  code: new lambda.InlineCode('exports.handler = async function(event, context) { console.log(event); return { statusCode: 200, body: "received" }; };'),
43
43
  });
@@ -1,85 +1,72 @@
1
- import * as apigwv2 from 'aws-cdk-lib/aws-apigatewayv2';
1
+ import { HttpMethod, PassthroughBehavior, WebSocketApi, WebSocketStage } from 'aws-cdk-lib/aws-apigatewayv2';
2
2
  import * as sqs from 'aws-cdk-lib/aws-sqs';
3
- import { App, Stack } from 'aws-cdk-lib';
4
- import { HttpSqsIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';
5
- import * as integ from '@aws-cdk/integ-tests-alpha';
3
+ import * as iam from 'aws-cdk-lib/aws-iam';
4
+ import { App, Stack, Aws } from 'aws-cdk-lib';
5
+ import { WebSocketAwsIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';
6
+ import { IntegTest } from '@aws-cdk/integ-tests-alpha';
6
7
 
7
- const app = new App();
8
- const stack = new Stack(app, 'sqs-integration');
8
+ /*
9
+ * Stack verification steps:
10
+ * 1. Verify manually that the integration has type "AWS"
11
+ */
9
12
 
10
- const queue = new sqs.Queue(stack, 'Queue');
13
+ const app = new App();
14
+ const stack = new Stack(app, 'integ-aws-websocket-sqs-integration');
11
15
 
12
- const httpApi = new apigwv2.HttpApi(stack, 'Api');
13
- httpApi.addRoutes({
14
- path: '/default',
15
- methods: [apigwv2.HttpMethod.POST],
16
- integration: new HttpSqsIntegration('defaultIntegration', {
17
- queue,
18
- }),
19
- });
20
- httpApi.addRoutes({
21
- path: '/send-message',
22
- methods: [apigwv2.HttpMethod.POST],
23
- integration: new HttpSqsIntegration('sendMessageIntegration', {
24
- queue,
25
- subtype: apigwv2.HttpIntegrationSubtype.SQS_SEND_MESSAGE,
26
- }),
27
- });
28
- httpApi.addRoutes({
29
- path: '/receive-message',
30
- methods: [apigwv2.HttpMethod.POST],
31
- integration: new HttpSqsIntegration('receiveMessageIntegration', {
32
- queue,
33
- subtype: apigwv2.HttpIntegrationSubtype.SQS_RECEIVE_MESSAGE,
34
- }),
35
- });
36
- httpApi.addRoutes({
37
- path: '/delete-message',
38
- methods: [apigwv2.HttpMethod.POST],
39
- integration: new HttpSqsIntegration('deleteMessageIntegration', {
40
- queue,
41
- subtype: apigwv2.HttpIntegrationSubtype.SQS_DELETE_MESSAGE,
42
- }),
16
+ const sqsMessageQueue = new sqs.Queue(stack, 'MessageSQSQueue', {
17
+ fifo: true,
18
+ queueName: 'MessageSQSQueue.fifo',
43
19
  });
44
- httpApi.addRoutes({
45
- path: '/purge-queue',
46
- methods: [apigwv2.HttpMethod.POST],
47
- integration: new HttpSqsIntegration('purgeQueueIntegration', {
48
- queue,
49
- subtype: apigwv2.HttpIntegrationSubtype.SQS_PURGE_QUEUE,
50
- }),
20
+
21
+ // API Gateway WebSocket API
22
+ const webSocketApi = new WebSocketApi(stack, 'webSocketApi', {
23
+ description: 'Send websocket data to SQS which is then processed by a Lambda 2',
24
+ routeSelectionExpression: '$request.body.action',
51
25
  });
52
26
 
53
- const integTest = new integ.IntegTest(app, 'SqsIntegrationIntegTest', {
54
- testCases: [stack],
27
+ // Optionally, create a WebSocket stage
28
+ new WebSocketStage(stack, 'DevStage', {
29
+ webSocketApi: webSocketApi,
30
+ stageName: 'dev',
31
+ autoDeploy: true,
55
32
  });
56
33
 
57
- const defaultAssertion = integTest.assertions.httpApiCall(
58
- `${httpApi.apiEndpoint}/default`, {
59
- body: JSON.stringify({ MessageBody: 'Hello World!' }),
60
- method: 'POST',
61
- },
62
- );
63
- defaultAssertion.expect(integ.ExpectedResult.objectLike({ status: 200, statusText: 'OK' }));
34
+ // IAM Role for API Gateway
35
+ const webSocketApiRole = new iam.Role(stack, 'webSocketApiRole', {
36
+ assumedBy: new iam.ServicePrincipal('apigateway.amazonaws.com'),
37
+ });
64
38
 
65
- const sendMessageAssertion = integTest.assertions.httpApiCall(
66
- `${httpApi.apiEndpoint}/send-message`, {
67
- body: JSON.stringify({ MessageBody: 'Hello World!' }),
68
- method: 'POST',
69
- },
39
+ webSocketApiRole.addToPolicy(
40
+ new iam.PolicyStatement({
41
+ actions: ['sqs:SendMessage'],
42
+ effect: iam.Effect.ALLOW,
43
+ resources: [sqsMessageQueue.queueArn],
44
+ }),
70
45
  );
71
- sendMessageAssertion.expect(integ.ExpectedResult.objectLike({ status: 200, statusText: 'OK' }));
72
46
 
73
- const receiveMessageAssertion = integTest.assertions.httpApiCall(
74
- `${httpApi.apiEndpoint}/receive-message`, {
75
- method: 'POST',
76
- },
77
- );
78
- receiveMessageAssertion.expect(integ.ExpectedResult.objectLike({ status: 200, statusText: 'OK' }));
47
+ webSocketApi.addRoute('$default', {
48
+ integration: new WebSocketAwsIntegration('SQSSendMessage', {
49
+ integrationUri: `arn:aws:apigateway:${Aws.REGION}:sqs:path/${Aws.ACCOUNT_ID}/${sqsMessageQueue.queueName}`,
50
+ integrationMethod: HttpMethod.POST,
51
+ credentialsRole: webSocketApiRole,
52
+ passthroughBehavior: PassthroughBehavior.NEVER,
53
+ templateSelectionExpression: '\\$default',
54
+ requestTemplates: {
55
+ $default: 'Action=SendMessage&MessageGroupId=$input.path(\'$.MessageGroupId\')&MessageDeduplicationId=$context.requestId&MessageAttribute.1.Name=connectionId&MessageAttribute.1.Value.StringValue=$context.connectionId&MessageAttribute.1.Value.DataType=String&MessageAttribute.2.Name=requestId&MessageAttribute.2.Value.StringValue=$context.requestId&MessageAttribute.2.Value.DataType=String&MessageBody=$input.json(\'$\')',
56
+ },
57
+ requestParameters: {
58
+ 'integration.request.header.Content-Type': '\'application/x-www-form-urlencoded\'',
59
+ },
60
+ }),
61
+ });
79
62
 
80
- const purgeQueueAssertion = integTest.assertions.httpApiCall(
81
- `${httpApi.apiEndpoint}/purge-queue`, {
82
- method: 'POST',
63
+ new IntegTest(app, 'apigatewayv2-aws-integration-sqs-integ-test', {
64
+ testCases: [stack],
65
+ cdkCommandOptions: {
66
+ deploy: {
67
+ args: {
68
+ rollback: true,
69
+ },
70
+ },
83
71
  },
84
- );
85
- purgeQueueAssertion.expect(integ.ExpectedResult.objectLike({ status: 200, statusText: 'OK' }));
72
+ });
@@ -16,7 +16,7 @@ const app = new cdk.App({
16
16
  const stack = new cdk.Stack(app, 'aws-graphql-lambda-permissions');
17
17
 
18
18
  const authorizer = new lambda.Function(stack, 'AuthorizerFunction', {
19
- runtime: lambda.Runtime.NODEJS_18_X,
19
+ runtime: lambda.Runtime.NODEJS_20_X,
20
20
  code: lambda.Code.fromInline(`
21
21
  exports.handler = async (event) => {
22
22
  console.log("Authorization event:", JSON.stringify(event));
@@ -64,7 +64,7 @@ const integ = new IntegTest(app, 'JsResolverIntegTest', { testCases: [stack] });
64
64
  const invoke = new lambda.Function(stack, 'InvokeApi', {
65
65
  code: lambda.Code.fromAsset(path.join(__dirname, 'integ-assets', 'js-resolver-assertion')),
66
66
  handler: 'index.handler',
67
- runtime: lambda.Runtime.NODEJS_18_X,
67
+ runtime: lambda.Runtime.NODEJS_20_X,
68
68
  });
69
69
 
70
70
  const addTestInvoke = integ.assertions.invokeFunction({
@@ -531,7 +531,7 @@ about allowing connections between resources backed by instances.
531
531
  ## Max Instance Lifetime
532
532
 
533
533
  To enable the max instance lifetime support, specify `maxInstanceLifetime` property
534
- for the `AutoscalingGroup` resource. The value must be between 7 and 365 days(inclusive).
534
+ for the `AutoscalingGroup` resource. The value must be between 1 and 365 days(inclusive).
535
535
  To clear a previously set value, leave this property undefined.
536
536
 
537
537
  ## Instance Monitoring
@@ -129,4 +129,11 @@ new autoscaling.AutoScalingGroup(stack, 'AsgWithIMDSv2', {
129
129
  vpc,
130
130
  });
131
131
 
132
+ new autoscaling.AutoScalingGroup(stack, 'AsgFromMigrationToLT', {
133
+ vpc,
134
+ launchTemplate: lt,
135
+ migrateToLaunchTemplate: true,
136
+ updatePolicy: autoscaling.UpdatePolicy.rollingUpdate(),
137
+ });
138
+
132
139
  app.synth();
@@ -65,7 +65,18 @@ For stateful or otherwise non-interruption-tolerant workflows, omit `spot` or se
65
65
 
66
66
  #### Choosing Your Instance Types
67
67
 
68
- Batch allows you to choose the instance types or classes that will run your workload.
68
+ Batch allows you to choose most up-to-date instance classes based on your region.
69
+ This example configures your `ComputeEnvironment` to use only ARM64 instance:
70
+
71
+ ```ts
72
+ const vpc = new ec2.Vpc(this, 'VPC');
73
+
74
+ new batch.ManagedEc2EcsComputeEnvironment(this, 'myEc2ComputeEnv', {
75
+ vpc,
76
+ defaultInstanceClasses: [batch.DefaultInstanceClass.ARM64],
77
+ });
78
+ ```
79
+
69
80
  This example configures your `ComputeEnvironment` to use only the `M5AD.large` instance:
70
81
 
71
82
  ```ts
@@ -91,6 +102,9 @@ new batch.ManagedEc2EcsComputeEnvironment(this, 'myEc2ComputeEnv', {
91
102
  });
92
103
  ```
93
104
 
105
+ > [!WARNING]
106
+ > `useOptimalInstanceClasses` is deprecated! Use `defaultInstanceClasses` instead.
107
+
94
108
  Unless you explicitly specify `useOptimalInstanceClasses: false`, this compute environment will use `'optimal'` instances,
95
109
  which tells Batch to pick an instance from the C4, M4, and R4 instance families.
96
110
  *Note*: Batch does not allow specifying instance types or classes with different architectures.
@@ -532,6 +546,40 @@ const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
532
546
  });
533
547
  ```
534
548
 
549
+ ### Enable Execute Command (ECS Exec)
550
+
551
+ You can enable [ECS Exec](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html) for interactive debugging and troubleshooting by setting `enableExecuteCommand` to `true`.
552
+ When enabled, you'll be able to execute commands interactively in running containers.
553
+
554
+ ```ts
555
+ const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
556
+ container: new batch.EcsEc2ContainerDefinition(this, 'Ec2Container', {
557
+ image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
558
+ memory: cdk.Size.mebibytes(2048),
559
+ cpu: 256,
560
+ enableExecuteCommand: true, // Enable ECS Exec
561
+ }),
562
+ });
563
+ ```
564
+
565
+ The same functionality is available for Fargate containers:
566
+
567
+ ```ts
568
+ const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
569
+ container: new batch.EcsFargateContainerDefinition(this, 'FargateContainer', {
570
+ image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
571
+ memory: cdk.Size.mebibytes(2048),
572
+ cpu: 256,
573
+ enableExecuteCommand: true, // Enable ECS Exec for Fargate
574
+ }),
575
+ });
576
+ ```
577
+
578
+ When `enableExecuteCommand` is set to `true`:
579
+
580
+ - If no `jobRole` is provided, a new IAM role will be automatically created with the required SSM permissions
581
+ - If a `jobRole` is already provided, the necessary SSM permissions will be added to the existing role
582
+
535
583
  ### Secrets
536
584
 
537
585
  You can expose SecretsManager Secret ARNs or SSM Parameters to your container as environment variables.
@@ -0,0 +1,148 @@
1
+ import * as batch from 'aws-cdk-lib/aws-batch';
2
+ import * as ec2 from 'aws-cdk-lib/aws-ec2';
3
+ import * as ecs from 'aws-cdk-lib/aws-ecs';
4
+ import * as cdk from 'aws-cdk-lib';
5
+ import { IntegTest, ExpectedResult } from '@aws-cdk/integ-tests-alpha';
6
+
7
+ class EcsExecBatchStack extends cdk.Stack {
8
+ public readonly ec2ComputeEnvironment: batch.ManagedEc2EcsComputeEnvironment;
9
+ public readonly fargateComputeEnvironment: batch.FargateComputeEnvironment;
10
+ public readonly ec2JobQueue: batch.JobQueue;
11
+ public readonly fargateJobQueue: batch.JobQueue;
12
+ public readonly ec2JobDefinition: batch.EcsJobDefinition;
13
+ public readonly fargateJobDefinition: batch.EcsJobDefinition;
14
+
15
+ constructor(scope: cdk.App, id: string, props: cdk.StackProps = {}) {
16
+ super(scope, id, props);
17
+
18
+ const vpc = new ec2.Vpc(this, 'Vpc', {
19
+ maxAzs: 2,
20
+ });
21
+
22
+ this.ec2ComputeEnvironment = new batch.ManagedEc2EcsComputeEnvironment(this, 'ComputeEnv', {
23
+ vpc,
24
+ instanceTypes: [ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.LARGE)],
25
+ minvCpus: 0,
26
+ maxvCpus: 256,
27
+ });
28
+
29
+ this.ec2JobQueue = new batch.JobQueue(this, 'JobQueue', {
30
+ computeEnvironments: [
31
+ {
32
+ order: 1,
33
+ computeEnvironment: this.ec2ComputeEnvironment,
34
+ },
35
+ ],
36
+ });
37
+
38
+ this.ec2JobDefinition = new batch.EcsJobDefinition(this, 'EcsExecEc2JobDefinition', {
39
+ jobDefinitionName: 'EcsExecEc2TestJob',
40
+ container: new batch.EcsEc2ContainerDefinition(this, 'Ec2Container', {
41
+ image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
42
+ cpu: 2,
43
+ memory: cdk.Size.mebibytes(2048),
44
+ enableExecuteCommand: true,
45
+ command: ['sh', '-c', 'echo "Job started with ECS Exec enabled"; sleep 300'], // Keep container running
46
+ }),
47
+ });
48
+
49
+ this.fargateJobDefinition = new batch.EcsJobDefinition(this, 'EcsExecFargateJobDefinition', {
50
+ container: new batch.EcsFargateContainerDefinition(this, 'FargateContainer', {
51
+ image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
52
+ cpu: 0.25,
53
+ memory: cdk.Size.gibibytes(1),
54
+ enableExecuteCommand: true, // Enable ECS Exec
55
+ command: ['sh', '-c', 'echo "Fargate Job started with ECS Exec enabled"; sleep 300'], // Keep container running
56
+ }),
57
+ });
58
+
59
+ // Create Fargate compute environment
60
+ this.fargateComputeEnvironment = new batch.FargateComputeEnvironment(this, 'FargateComputeEnv', {
61
+ vpc,
62
+ });
63
+
64
+ this.fargateJobQueue = new batch.JobQueue(this, 'FargateJobQueue', {
65
+ computeEnvironments: [
66
+ {
67
+ order: 1,
68
+ computeEnvironment: this.fargateComputeEnvironment,
69
+ },
70
+ ],
71
+ });
72
+ }
73
+ }
74
+
75
+ const app = new cdk.App();
76
+ const stack = new EcsExecBatchStack(app, 'EcsExecBatchStack');
77
+
78
+ const integ = new IntegTest(app, 'EcsExecBatchTest', {
79
+ testCases: [stack],
80
+ });
81
+
82
+ // Helper function to test ECS Exec for a job
83
+ function testEcsExecForJob(
84
+ jobName: string,
85
+ jobQueue: batch.JobQueue,
86
+ jobDefinition: batch.EcsJobDefinition,
87
+ computeEnvironment: batch.IManagedComputeEnvironment,
88
+ ) {
89
+ // Get cluster ARN from compute environment
90
+ const describeComputeEnv = integ.assertions.awsApiCall('Batch', 'describeComputeEnvironments', {
91
+ computeEnvironments: [computeEnvironment.computeEnvironmentArn],
92
+ });
93
+
94
+ const clusterArn = describeComputeEnv.getAttString('computeEnvironments.0.ecsClusterArn');
95
+
96
+ // Submit the job
97
+ const submitJobResult = describeComputeEnv.next(
98
+ integ.assertions.awsApiCall('Batch', 'submitJob', {
99
+ jobName,
100
+ jobQueue: jobQueue.jobQueueArn,
101
+ jobDefinition: jobDefinition.jobDefinitionArn,
102
+ }),
103
+ ).waitForAssertions();
104
+
105
+ // Get the job ID from the submit response
106
+ const jobId = submitJobResult.getAttString('jobId');
107
+
108
+ // Wait for job to reach RUNNING state and have a task ARN
109
+ const waitForJobRunning = integ.assertions.awsApiCall('Batch', 'describeJobs', {
110
+ jobs: [jobId],
111
+ }).assertAtPath('jobs.0.status', ExpectedResult.stringLikeRegexp('RUNNING'))
112
+ .waitForAssertions({
113
+ totalTimeout: cdk.Duration.minutes(10),
114
+ interval: cdk.Duration.seconds(30),
115
+ });
116
+
117
+ const taskArn = waitForJobRunning.getAttString('jobs.0.container.taskArn');
118
+
119
+ // Execute ECS command to verify ECS Exec is enabled
120
+ waitForJobRunning.next(
121
+ integ.assertions.awsApiCall('ECS', 'executeCommand', {
122
+ cluster: clusterArn,
123
+ task: taskArn,
124
+ container: 'default',
125
+ interactive: true,
126
+ command: '/bin/bash',
127
+ }).waitForAssertions({
128
+ totalTimeout: cdk.Duration.minutes(10),
129
+ interval: cdk.Duration.seconds(30),
130
+ }),
131
+ );
132
+ }
133
+
134
+ // Test EC2 job
135
+ testEcsExecForJob(
136
+ 'test-ecs-exec-ec2-job',
137
+ stack.ec2JobQueue,
138
+ stack.ec2JobDefinition,
139
+ stack.ec2ComputeEnvironment,
140
+ );
141
+
142
+ // Test Fargate job
143
+ testEcsExecForJob(
144
+ 'test-ecs-exec-fargate-job',
145
+ stack.fargateJobQueue,
146
+ stack.fargateJobDefinition,
147
+ stack.fargateComputeEnvironment,
148
+ );
@@ -0,0 +1,20 @@
1
+ import * as ec2 from 'aws-cdk-lib/aws-ec2';
2
+ import { App, Stack } from 'aws-cdk-lib';
3
+ import * as integ from '@aws-cdk/integ-tests-alpha';
4
+ import { ManagedEc2EcsComputeEnvironment, EcsMachineImageType, DefaultInstanceClass } from 'aws-cdk-lib/aws-batch';
5
+
6
+ const app = new App();
7
+ const stack = new Stack(app, 'managed-compute-environment-default-instance-class');
8
+ const vpc = new ec2.Vpc(stack, 'vpc', { restrictDefaultSecurityGroup: false });
9
+
10
+ new ManagedEc2EcsComputeEnvironment(stack, 'ECS', {
11
+ vpc,
12
+ images: [{
13
+ imageType: EcsMachineImageType.ECS_AL2023,
14
+ }],
15
+ defaultInstanceClasses: [DefaultInstanceClass.ARM64],
16
+ });
17
+
18
+ new integ.IntegTest(app, 'integ-managed-compute-environment-default-instance-class', {
19
+ testCases: [stack],
20
+ });
@@ -146,6 +146,17 @@ new acm.PrivateCertificate(this, 'PrivateCertificate', {
146
146
  });
147
147
  ```
148
148
 
149
+ ## Requesting public SSL/TLS certificates exportable to use anywhere
150
+
151
+ AWS Certificate Manager can issue an exportable public certificate. There is a charge at certificate issuance and again when the certificate renews. See [opting out of certificate transparency logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html) for details.
152
+
153
+ ```ts
154
+ new acm.Certificate(this, 'Certificate', {
155
+ domainName: 'test.example.com',
156
+ allowExport: true,
157
+ });
158
+ ```
159
+
149
160
  ## Requesting certificates without transparency logging
150
161
 
151
162
  Transparency logging can be opted out of for AWS Certificate Manager certificates. See [opting out of certificate transparency logging](https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency) for limits.
@@ -21,7 +21,7 @@ class TestStack extends Stack {
21
21
 
22
22
  const serviceToken = CustomResourceProvider.getOrCreate(this, resourceType, {
23
23
  codeDirectory: `${__dirname}/core-custom-resource-provider-fixture`,
24
- runtime: CustomResourceProviderRuntime.NODEJS_18_X,
24
+ runtime: CustomResourceProviderRuntime.NODEJS_20_X,
25
25
  description: 'veni vidi vici',
26
26
  });
27
27
 
@@ -16,7 +16,7 @@ class TestStack extends Stack {
16
16
 
17
17
  const serviceToken = CustomResourceProvider.getOrCreate(this, resourceType, {
18
18
  codeDirectory: `${__dirname}/core-custom-resource-provider-fixture`,
19
- runtime: CustomResourceProviderRuntime.NODEJS_18_X,
19
+ runtime: CustomResourceProviderRuntime.NODEJS_20_X,
20
20
  description: 'veni vidi vici',
21
21
  });
22
22