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
@@ -3,50 +3,31 @@ import * as sqs from 'aws-cdk-lib/aws-sqs';
3
3
  import * as cdk from 'aws-cdk-lib';
4
4
  import { IntegTest, ExpectedResult } from '@aws-cdk/integ-tests-alpha';
5
5
  import * as subs from 'aws-cdk-lib/aws-sns-subscriptions';
6
- class SnsToSqsStack extends cdk.Stack {
7
- topic: sns.Topic;
8
- queue: sqs.Queue;
9
- constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
10
- super(scope, id, props);
11
- this.topic = new sns.Topic(this, 'MyTopic');
12
- const queueStack = new cdk.Stack(app, 'QueueStack');
13
- this.queue = new sqs.Queue(queueStack, 'MyQueue');
14
- this.topic.addSubscription(new subs.SqsSubscription(this.queue, {
15
- filterPolicyWithMessageBody: {
16
- background: sns.Policy.policy({
17
- color: sns.Filter.filter(sns.SubscriptionFilter.stringFilter({
18
- allowlist: ['red', 'green'],
19
- denylist: ['white', 'orange'],
20
- })),
21
- }),
22
- price: sns.Filter.filter(sns.SubscriptionFilter.numericFilter({
23
- allowlist: [100, 200],
24
- between: { start: 300, stop: 350 },
25
- greaterThan: 500,
26
- lessThan: 1000,
27
- betweenStrict: { start: 2000, stop: 3000 },
28
- })),
29
- },
30
- }));
31
- }
32
- }
33
- // Beginning of the test suite
6
+
34
7
  const app = new cdk.App();
35
- const stack = new SnsToSqsStack(app, 'SnsToSqsStack');
8
+
9
+ const stack = new cdk.Stack(app, 'SnsToSqsStack');
10
+
11
+ const topic = new sns.Topic(stack, 'MyTopic');
12
+
13
+ const queue = new sqs.Queue(stack, 'MyQueue');
14
+
15
+ topic.addSubscription(new subs.SqsSubscription(queue, { rawMessageDelivery: true }));
16
+
36
17
  const integTest = new IntegTest(app, 'SNS Subscriptions', {
37
- testCases: [
38
- stack,
39
- ],
18
+ testCases: [stack],
40
19
  });
20
+
21
+ const message = JSON.stringify({ color: 'green', price: 200 });
22
+
41
23
  integTest.assertions.awsApiCall('SNS', 'publish', {
42
- Message: '{ background: { color: \'green\' }, price: 200 }',
43
- TopicArn: stack.topic.topicArn,
24
+ Message: message,
25
+ TopicArn: topic.topicArn,
44
26
  });
45
- const message = integTest.assertions.awsApiCall('SQS', 'receiveMessage', {
46
- QueueUrl: stack.queue.queueUrl,
27
+
28
+ integTest.assertions.awsApiCall('SQS', 'receiveMessage', {
29
+ QueueUrl: queue.queueUrl,
47
30
  WaitTimeSeconds: 20,
48
- });
49
- message.expect(ExpectedResult.objectLike({
50
- Messages: [{ Body: '{color: "green", price: 200}' }],
31
+ }).expect(ExpectedResult.objectLike({
32
+ Messages: [{ Body: message }],
51
33
  }));
52
- app.synth();
@@ -0,0 +1,82 @@
1
+ import * as s3 from 'aws-cdk-lib/aws-s3';
2
+ import * as cdk from 'aws-cdk-lib/core';
3
+ import * as integ from '@aws-cdk/integ-tests-alpha';
4
+ import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
5
+
6
+ const CSV_KEY = 'my-key.csv';
7
+
8
+ class DistributedMapParallelStack extends cdk.Stack {
9
+ readonly bucket: s3.Bucket;
10
+ readonly stateMachine: sfn.StateMachine;
11
+
12
+ constructor(scope: cdk.App, id: string) {
13
+ super(scope, id);
14
+
15
+ this.bucket = new s3.Bucket(this, 'Bucket', {
16
+ autoDeleteObjects: true,
17
+ removalPolicy: cdk.RemovalPolicy.DESTROY,
18
+ });
19
+
20
+ const parallel = new sfn.Parallel(this, 'Parallel');
21
+
22
+ const distributedMap = new sfn.DistributedMap(this, 'DistributedMap', {
23
+ itemReader: new sfn.S3CsvItemReader({
24
+ bucket: this.bucket,
25
+ key: CSV_KEY,
26
+ csvHeaders: sfn.CsvHeaders.useFirstRow(),
27
+ }),
28
+ }).itemProcessor(new sfn.Pass(this, 'Pass'));
29
+
30
+ this.stateMachine = new sfn.StateMachine(this, 'StateMachine', {
31
+ definitionBody: sfn.ChainDefinitionBody.fromChainable(parallel.branch(distributedMap)),
32
+ });
33
+ }
34
+ }
35
+
36
+ function setupAssertions(testCaseStack: DistributedMapParallelStack, assertions: integ.IDeployAssert) {
37
+ const waitForStateMachineActive = assertions
38
+ .awsApiCall('StepFunctions', 'describeStateMachine', {
39
+ stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
40
+ })
41
+ .expect(integ.ExpectedResult.objectLike({ status: 'ACTIVE' }))
42
+ .waitForAssertions({
43
+ interval: cdk.Duration.seconds(10),
44
+ totalTimeout: cdk.Duration.minutes(5),
45
+ });
46
+
47
+ // Upload the input to the DistributedMap
48
+ const uploadInput = assertions.awsApiCall('S3', 'putObject', {
49
+ Bucket: testCaseStack.bucket.bucketName,
50
+ Key: CSV_KEY,
51
+ Body: 'a,b,c\n1,2,3\n4,5,6',
52
+ });
53
+
54
+ // Start an execution
55
+ const startExecution = assertions.awsApiCall('StepFunctions', 'startExecution', {
56
+ stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
57
+ });
58
+
59
+ const executionArn = startExecution.getAttString('executionArn');
60
+
61
+ const expectSucceededExecution = assertions
62
+ .awsApiCall('StepFunctions', 'describeExecution', { executionArn: executionArn })
63
+ .expect(integ.ExpectedResult.objectLike({ status: 'SUCCEEDED' }))
64
+ .waitForAssertions({
65
+ interval: cdk.Duration.seconds(10),
66
+ totalTimeout: cdk.Duration.minutes(1),
67
+ });
68
+
69
+ waitForStateMachineActive
70
+ .next(uploadInput)
71
+ .next(startExecution)
72
+ .next(expectSucceededExecution);
73
+ }
74
+
75
+ const app = new cdk.App();
76
+ const parallelStack = new DistributedMapParallelStack(app, 'DistributedMapParallelStack');
77
+
78
+ const testCase = new integ.IntegTest(app, 'DistributedMapParallel', {
79
+ testCases: [parallelStack],
80
+ });
81
+
82
+ setupAssertions(parallelStack, testCase.assertions);
@@ -0,0 +1,130 @@
1
+ import * as s3 from 'aws-cdk-lib/aws-s3';
2
+ import * as cdk from 'aws-cdk-lib/core';
3
+ import * as integ from '@aws-cdk/integ-tests-alpha';
4
+ import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
5
+ import * as aws_stepfunction_tasks from 'aws-cdk-lib/aws-stepfunctions-tasks';
6
+
7
+ const CSV_KEY = 'my-key.csv';
8
+ const SUCCESS_MARKER_KEY = 'pass-flag.txt';
9
+
10
+ interface DistributedMapRedriveStackProps extends cdk.StackProps {
11
+ readonly mapRunLabel?: string;
12
+ }
13
+
14
+ class DistributedMapRedriveStack extends cdk.Stack {
15
+ readonly bucket: s3.Bucket;
16
+ readonly stateMachine: sfn.StateMachine;
17
+
18
+ constructor(scope: cdk.App, id: string, props?: DistributedMapRedriveStackProps) {
19
+ super(scope, id, props);
20
+
21
+ this.bucket = new s3.Bucket(this, 'Bucket', {
22
+ autoDeleteObjects: true,
23
+ removalPolicy: cdk.RemovalPolicy.DESTROY,
24
+ });
25
+
26
+ const distributedMap = new sfn.DistributedMap(this, 'DistributedMap', {
27
+ label: props?.mapRunLabel,
28
+ itemReader: new sfn.S3CsvItemReader({
29
+ bucket: this.bucket,
30
+ key: CSV_KEY,
31
+ csvHeaders: sfn.CsvHeaders.useFirstRow(),
32
+ }),
33
+ });
34
+
35
+ // Existence of the success marker object determines if the distributed map succeeds or fails
36
+ const getSuccessMarker = new aws_stepfunction_tasks.CallAwsService(this, 'GetData', {
37
+ action: 'getObject',
38
+ iamResources: [this.bucket.arnForObjects('*')],
39
+ parameters: {
40
+ Bucket: this.bucket.bucketName,
41
+ Key: SUCCESS_MARKER_KEY,
42
+ },
43
+ service: 's3',
44
+ });
45
+
46
+ distributedMap.itemProcessor(getSuccessMarker);
47
+
48
+ this.stateMachine = new sfn.StateMachine(this, 'StateMachine', {
49
+ definitionBody: sfn.ChainDefinitionBody.fromChainable(distributedMap),
50
+ });
51
+ }
52
+ }
53
+
54
+ function setupAssertions(testCaseStack: DistributedMapRedriveStack, assertions: integ.IDeployAssert) {
55
+ const waitForStateMachineActive = assertions
56
+ .awsApiCall('StepFunctions', 'describeStateMachine', {
57
+ stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
58
+ })
59
+ .expect(integ.ExpectedResult.objectLike({ status: 'ACTIVE' }))
60
+ .waitForAssertions({
61
+ interval: cdk.Duration.seconds(10),
62
+ totalTimeout: cdk.Duration.minutes(5),
63
+ });
64
+
65
+ // Upload the input to the DistributedMap
66
+ const uploadInput = assertions.awsApiCall('S3', 'putObject', {
67
+ Bucket: testCaseStack.bucket.bucketName,
68
+ Key: CSV_KEY,
69
+ Body: 'a,b,c\n1,2,3\n4,5,6',
70
+ });
71
+
72
+ // Start an execution
73
+ const startExecution = assertions.awsApiCall('StepFunctions', 'startExecution', {
74
+ stateMachineArn: testCaseStack.stateMachine.stateMachineArn,
75
+ });
76
+
77
+ const executionArn = startExecution.getAttString('executionArn');
78
+
79
+ // describe the results of the execution
80
+ const expectFailedExecution = assertions
81
+ .awsApiCall('StepFunctions', 'describeExecution', {
82
+ executionArn: executionArn,
83
+ })
84
+ .expect(integ.ExpectedResult.objectLike({ status: 'FAILED' }))
85
+ .waitForAssertions({
86
+ interval: cdk.Duration.seconds(10),
87
+ totalTimeout: cdk.Duration.minutes(1),
88
+ });
89
+
90
+ // Upload the success marker, so that the next execution succeeds
91
+ const uploadSucceedMarker = assertions.awsApiCall('S3', 'putObject', {
92
+ Bucket: testCaseStack.bucket.bucketName,
93
+ Key: SUCCESS_MARKER_KEY,
94
+ Body: '',
95
+ });
96
+
97
+ const redriveExecution = assertions.awsApiCall('StepFunctions', 'redriveExecution', {
98
+ executionArn: executionArn,
99
+ });
100
+
101
+ const expectRedrivenExecution = assertions
102
+ .awsApiCall('StepFunctions', 'describeExecution', { executionArn: executionArn })
103
+ .expect(integ.ExpectedResult.objectLike({ status: 'SUCCEEDED' }))
104
+ .waitForAssertions({
105
+ interval: cdk.Duration.seconds(10),
106
+ totalTimeout: cdk.Duration.minutes(1),
107
+ });
108
+
109
+ waitForStateMachineActive
110
+ .next(uploadInput)
111
+ .next(startExecution)
112
+ .next(expectFailedExecution)
113
+ .next(uploadSucceedMarker)
114
+ .next(redriveExecution)
115
+ .next(expectRedrivenExecution);
116
+ }
117
+
118
+ const app = new cdk.App();
119
+
120
+ const unlabeledDistributedMapStack = new DistributedMapRedriveStack(app, 'UnlabeledDistributedMapRedrive');
121
+ const labeledDistributedMapStack = new DistributedMapRedriveStack(app, 'LabeledDistributedMapRedrive', {
122
+ mapRunLabel: 'myLabel',
123
+ });
124
+
125
+ const testCase = new integ.IntegTest(app, 'DistributedMap', {
126
+ testCases: [unlabeledDistributedMapStack, labeledDistributedMapStack],
127
+ });
128
+
129
+ setupAssertions(labeledDistributedMapStack, testCase.assertions);
130
+ setupAssertions(unlabeledDistributedMapStack, testCase.assertions);
@@ -13,6 +13,7 @@ class DistributedMapStack extends cdk.Stack {
13
13
  super(scope, id, props);
14
14
 
15
15
  this.bucket = new s3.Bucket(this, 'Bucket', {
16
+ autoDeleteObjects: true,
16
17
  removalPolicy: cdk.RemovalPolicy.DESTROY,
17
18
  });
18
19
 
@@ -0,0 +1,105 @@
1
+ import * as cdk from 'aws-cdk-lib/core';
2
+ import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
3
+ import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
4
+ import * as s3 from 'aws-cdk-lib/aws-s3';
5
+ import { STEPFUNCTIONS_USE_DISTRIBUTED_MAP_RESULT_WRITER_V2 } from 'aws-cdk-lib/cx-api';
6
+
7
+ const CSV_KEY = 'my-key.csv';
8
+ const RESULT_BUCKET_PREFIX = 'my-prefix';
9
+
10
+ class DistributedMapStack extends cdk.Stack {
11
+ readonly stateMachine: sfn.StateMachine;
12
+ readonly bucket: s3.Bucket;
13
+
14
+ constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
15
+ super(scope, id, props);
16
+
17
+ this.bucket = new s3.Bucket(this, 'Bucket', {
18
+ autoDeleteObjects: true,
19
+ removalPolicy: cdk.RemovalPolicy.DESTROY,
20
+ });
21
+
22
+ const distributedMap = sfn.DistributedMap.jsonata(this, 'DistributedMap', {
23
+ itemReader: new sfn.S3CsvItemReader({
24
+ bucket: this.bucket,
25
+ key: CSV_KEY,
26
+ csvHeaders: sfn.CsvHeaders.useFirstRow(),
27
+ }),
28
+ resultWriterV2: new sfn.ResultWriterV2({
29
+ bucket: this.bucket,
30
+ prefix: RESULT_BUCKET_PREFIX,
31
+ }),
32
+ });
33
+
34
+ distributedMap.itemProcessor(sfn.Pass.jsonata(this, 'Pass'), {
35
+ mode: sfn.ProcessorMode.DISTRIBUTED,
36
+ executionType: sfn.ProcessorType.STANDARD,
37
+ });
38
+
39
+ this.stateMachine = new sfn.StateMachine(this, 'StateMachine', {
40
+ definition: distributedMap,
41
+ });
42
+ }
43
+ }
44
+
45
+ const app = new cdk.App({
46
+ context: {
47
+ [STEPFUNCTIONS_USE_DISTRIBUTED_MAP_RESULT_WRITER_V2]: true,
48
+ },
49
+ });
50
+ const stack = new DistributedMapStack(app, 'sm-jsonpath-with-distributed-map-jsonata');
51
+
52
+ const testCase = new IntegTest(app, 'integ-sm-jsonpath-with-distributed-map-jsonata', {
53
+ testCases: [stack],
54
+ });
55
+
56
+ testCase.assertions
57
+ .awsApiCall('StepFunctions', 'describeStateMachine', {
58
+ stateMachineArn: stack.stateMachine.stateMachineArn,
59
+ })
60
+ .expect(ExpectedResult.objectLike({ status: 'ACTIVE' }))
61
+ .waitForAssertions({
62
+ interval: cdk.Duration.seconds(10),
63
+ totalTimeout: cdk.Duration.minutes(5),
64
+ });
65
+
66
+ // Put an object in the bucket
67
+ const putObject = testCase.assertions.awsApiCall('S3', 'putObject', {
68
+ Bucket: stack.bucket.bucketName,
69
+ Key: CSV_KEY,
70
+ Body: 'a,b,c\n1,2,3\n4,5,6',
71
+ });
72
+
73
+ // Start an execution
74
+ const start = testCase.assertions.awsApiCall('StepFunctions', 'startExecution', {
75
+ stateMachineArn: stack.stateMachine.stateMachineArn,
76
+ });
77
+ putObject.next(start);
78
+
79
+ // describe the results of the execution
80
+ const describe = testCase.assertions.awsApiCall('StepFunctions', 'describeExecution', {
81
+ executionArn: start.getAttString('executionArn'),
82
+ });
83
+ start.next(describe);
84
+
85
+ // assert the results
86
+ const describeExecution = describe.expect(ExpectedResult.objectLike({
87
+ status: 'SUCCEEDED',
88
+ })).waitForAssertions({
89
+ interval: cdk.Duration.seconds(10),
90
+ totalTimeout: cdk.Duration.minutes(5),
91
+ });
92
+
93
+ const s3ApiCall = testCase.assertions.awsApiCall('S3', 'listObjectsV2', {
94
+ Bucket: stack.bucket.bucketName,
95
+ MaxKeys: 2,
96
+ Prefix: RESULT_BUCKET_PREFIX,
97
+ }).expect(ExpectedResult.objectLike({
98
+ KeyCount: 2,
99
+ }));
100
+ s3ApiCall.provider.addToRolePolicy({
101
+ Effect: 'Allow',
102
+ Action: ['s3:GetObject', 's3:ListBucket'],
103
+ Resource: ['*'],
104
+ });
105
+ describeExecution.next(s3ApiCall);
@@ -34,6 +34,8 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
34
34
  - [SubmitJob](#submitjob)
35
35
  - [Bedrock](#bedrock)
36
36
  - [InvokeModel](#invokemodel)
37
+ - [Using Input Path for S3 URI](#using-input-path-for-s3-uri)
38
+ - [Using Input Path](#using-input-path)
37
39
  - [createModelCustomizationJob](#createmodelcustomizationjob)
38
40
  - [CodeBuild](#codebuild)
39
41
  - [StartBuild](#startbuild)
@@ -47,6 +49,7 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
47
49
  - [RunTask](#runtask)
48
50
  - [EC2](#ec2)
49
51
  - [Fargate](#fargate)
52
+ - [Override CPU and Memory Parameter](#override-cpu-and-memory-parameter)
50
53
  - [ECS enable Exec](#ecs-enable-exec)
51
54
  - [EMR](#emr)
52
55
  - [Create Cluster](#create-cluster)
@@ -64,15 +67,18 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
64
67
  - [Call](#call)
65
68
  - [EventBridge](#eventbridge)
66
69
  - [Put Events](#put-events)
70
+ - [EventBridge Scheduler](#eventbridge-scheduler)
71
+ - [Create Scheduler](#create-scheduler)
67
72
  - [Glue](#glue)
68
73
  - [StartJobRun](#startjobrun)
69
74
  - [StartCrawlerRun](#startcrawlerrun)
70
75
  - [Glue DataBrew](#glue-databrew)
71
76
  - [Start Job Run](#start-job-run-1)
77
+ - [Invoke HTTP API](#invoke-http-api)
72
78
  - [Lambda](#lambda)
73
79
  - [Invoke](#invoke)
74
80
  - [MediaConvert](#mediaconvert)
75
- - [Create Job](#create-job)
81
+ - [CreateJob](#createjob)
76
82
  - [SageMaker](#sagemaker)
77
83
  - [Create Training Job](#create-training-job)
78
84
  - [Create Transform Job](#create-transform-job)
@@ -135,6 +141,17 @@ The `EvaluateExpression` supports a `runtime` prop to specify the Lambda
135
141
  runtime to use to evaluate the expression. Currently, only runtimes
136
142
  of the Node.js family are supported.
137
143
 
144
+ The `EvaluateExpression` also supports an `architecture` prop to specify the Lambda
145
+ architecture. This can be useful when migrating to ARM64 or when running integration
146
+ tests on ARM64 systems.
147
+
148
+ ```ts
149
+ const convertToSecondsArm64 = new tasks.EvaluateExpression(this, 'Convert to seconds', {
150
+ expression: '$.waitMilliseconds / 1000',
151
+ architecture: lambda.Architecture.ARM_64,
152
+ });
153
+ ```
154
+
138
155
  ## API Gateway
139
156
 
140
157
  Step Functions supports [API Gateway](https://docs.aws.amazon.com/step-functions/latest/dg/connect-api-gateway.html) through the service integration pattern.
@@ -956,6 +973,18 @@ new tasks.EmrCreateCluster(this, 'SpotSpecification', {
956
973
  });
957
974
  ```
958
975
 
976
+ You can [customize EBS root device volume](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami-root-volume-size.html).
977
+
978
+ ```ts
979
+ new tasks.EmrCreateCluster(this, 'Create Cluster', {
980
+ instances: {},
981
+ name: 'ClusterName',
982
+ ebsRootVolumeIops: 4000,
983
+ ebsRootVolumeSize: Size.gibibytes(20),
984
+ ebsRootVolumeThroughput: 200,
985
+ });
986
+ ```
987
+
959
988
  If you want to run multiple steps in [parallel](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-concurrent-steps.html),
960
989
  you can specify the `stepConcurrencyLevel` property. The concurrency range is between 1
961
990
  and 256 inclusive, where the default concurrency of 1 means no step concurrency is allowed.
@@ -981,6 +1010,47 @@ new tasks.EmrCreateCluster(this, 'Create Cluster', {
981
1010
  });
982
1011
  ```
983
1012
 
1013
+ If you want to use [managed scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html),
1014
+ you can specify the `managedScalingPolicy` property.
1015
+
1016
+ ```ts
1017
+ new tasks.EmrCreateCluster(this, 'CreateCluster', {
1018
+ instances: {
1019
+ instanceFleets: [
1020
+ {
1021
+ instanceFleetType: tasks.EmrCreateCluster.InstanceRoleType.CORE,
1022
+ instanceTypeConfigs: [
1023
+ {
1024
+ instanceType: 'm5.xlarge',
1025
+ },
1026
+ ],
1027
+ targetOnDemandCapacity: 1,
1028
+ },
1029
+ {
1030
+ instanceFleetType: tasks.EmrCreateCluster.InstanceRoleType.MASTER,
1031
+ instanceTypeConfigs: [
1032
+ {
1033
+ instanceType: 'm5.xlarge',
1034
+ },
1035
+ ],
1036
+ targetOnDemandCapacity: 1,
1037
+ },
1038
+ ],
1039
+ },
1040
+ name: 'ClusterName',
1041
+ releaseLabel: 'emr-7.9.0',
1042
+ managedScalingPolicy: {
1043
+ computeLimits: {
1044
+ unitType: tasks.EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS,
1045
+ maximumCapacityUnits: 4,
1046
+ minimumCapacityUnits: 1,
1047
+ maximumOnDemandCapacityUnits: 4,
1048
+ maximumCoreCapacityUnits: 2,
1049
+ },
1050
+ },
1051
+ });
1052
+ ```
1053
+
984
1054
  ### Termination Protection
985
1055
 
986
1056
  Locks a cluster (job flow) so the EC2 instances in the cluster cannot be
@@ -1315,12 +1385,12 @@ The following code snippet includes a Task state that uses eks:call to list the
1315
1385
 
1316
1386
  ```ts
1317
1387
  import * as eks from 'aws-cdk-lib/aws-eks';
1318
- import { KubectlV32Layer } from '@aws-cdk/lambda-layer-kubectl-v32';
1388
+ import { KubectlV34Layer } from '@aws-cdk/lambda-layer-kubectl-v34';
1319
1389
 
1320
1390
  const myEksCluster = new eks.Cluster(this, 'my sample cluster', {
1321
- version: eks.KubernetesVersion.V1_32,
1391
+ version: eks.KubernetesVersion.V1_34,
1322
1392
  clusterName: 'myEksCluster',
1323
- kubectlLayer: new KubectlV32Layer(this, 'kubectl'),
1393
+ kubectlLayer: new KubectlV34Layer(this, 'kubectl'),
1324
1394
  });
1325
1395
 
1326
1396
  new tasks.EksCall(this, 'Call a EKS Endpoint', {
@@ -1523,7 +1593,7 @@ const connection = new events.Connection(this, 'Connection', {
1523
1593
 
1524
1594
  new tasks.HttpInvoke(this, 'Invoke HTTP API', {
1525
1595
  apiRoot: 'https://api.example.com',
1526
- apiEndpoint: sfn.TaskInput.fromText('path/to/resource'),
1596
+ apiEndpoint: sfn.TaskInput.fromText(sfn.JsonPath.format('resource/{}/details', sfn.JsonPath.stringAt('$.resourceId'))),
1527
1597
  body: sfn.TaskInput.fromObject({ foo: 'bar' }),
1528
1598
  connection,
1529
1599
  headers: sfn.TaskInput.fromObject({ 'Content-Type': 'application/json' }),
@@ -10,7 +10,7 @@ class TestStack extends cdk.Stack {
10
10
  super(scope, id, props);
11
11
  // Create a target Lambda function that returns JSON response
12
12
  const targetLambda = new lambda.Function(this, 'TargetLambda', {
13
- runtime: lambda.Runtime.NODEJS_18_X,
13
+ runtime: lambda.Runtime.NODEJS_20_X,
14
14
  handler: 'index.handler',
15
15
  code: lambda.Code.fromInline(`
16
16
  exports.handler = async (event) => {
@@ -0,0 +1,126 @@
1
+ import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
2
+ import { App, Duration, Size, Stack, Tags } from 'aws-cdk-lib';
3
+ import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
4
+ import { EmrCreateCluster } from 'aws-cdk-lib/aws-stepfunctions-tasks';
5
+ import { Vpc } from 'aws-cdk-lib/aws-ec2';
6
+
7
+ const app = new App();
8
+
9
+ const stack = new Stack(app, 'emr-create-cluster-ebs');
10
+ const vpc = new Vpc(stack, 'Vpc', { restrictDefaultSecurityGroup: false });
11
+
12
+ const releaseLabel = 'emr-7.10.0';
13
+ const ebsRootVolumeIops = 4000;
14
+ const ebsRootVolumeSize = 20;
15
+ const ebsRootVolumeThroughput = 200;
16
+ const unitType = EmrCreateCluster.ComputeLimitsUnitType.INSTANCE_FLEET_UNITS;
17
+ const maximumCapacityUnits = 4;
18
+ const minimumCapacityUnits = 1;
19
+ const maximumOnDemandCapacityUnits = 4;
20
+ const maximumCoreCapacityUnits = 2;
21
+
22
+ // https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-iam-policies.html#manually-tagged-resources
23
+ Tags.of(vpc).add('for-use-with-amazon-emr-managed-policies', 'true');
24
+
25
+ const step = new EmrCreateCluster(stack, 'EmrCreateCluster', {
26
+ instances: {
27
+ instanceFleets: [
28
+ {
29
+ instanceFleetType: EmrCreateCluster.InstanceRoleType.CORE,
30
+ instanceTypeConfigs: [
31
+ {
32
+ instanceType: 'm5.xlarge',
33
+ },
34
+ ],
35
+ targetOnDemandCapacity: 1,
36
+ },
37
+ {
38
+ instanceFleetType: EmrCreateCluster.InstanceRoleType.MASTER,
39
+ instanceTypeConfigs: [
40
+ {
41
+ instanceType: 'm5.xlarge',
42
+ },
43
+ ],
44
+ targetOnDemandCapacity: 1,
45
+ },
46
+ ],
47
+ ec2SubnetId: vpc.publicSubnets[0].subnetId,
48
+ },
49
+ name: 'Cluster',
50
+ releaseLabel,
51
+ integrationPattern: sfn.IntegrationPattern.RUN_JOB,
52
+ ebsRootVolumeIops,
53
+ ebsRootVolumeSize: Size.gibibytes(ebsRootVolumeSize),
54
+ ebsRootVolumeThroughput,
55
+ managedScalingPolicy: {
56
+ computeLimits: {
57
+ unitType,
58
+ maximumCapacityUnits,
59
+ minimumCapacityUnits,
60
+ maximumOnDemandCapacityUnits,
61
+ maximumCoreCapacityUnits,
62
+ },
63
+ },
64
+ });
65
+
66
+ const sm = new sfn.StateMachine(stack, 'SM', {
67
+ definition: step,
68
+ });
69
+
70
+ const integTest = new IntegTest(app, 'emr-create-cluster-ebs-integ', {
71
+ testCases: [stack],
72
+ });
73
+
74
+ const start = integTest.assertions.awsApiCall('StepFunctions', 'startExecution', {
75
+ stateMachineArn: sm.stateMachineArn,
76
+ });
77
+
78
+ const describeExecution = integTest.assertions.awsApiCall('StepFunctions', 'describeExecution', {
79
+ executionArn: start.getAttString('executionArn'),
80
+ });
81
+ start.next(describeExecution);
82
+
83
+ const waitForExecution = describeExecution.expect(ExpectedResult.objectLike({
84
+ status: 'SUCCEEDED',
85
+ })).waitForAssertions({
86
+ interval: Duration.seconds(30),
87
+ totalTimeout: Duration.minutes(5),
88
+ });
89
+
90
+ const getClusterId = integTest.assertions.awsApiCall('StepFunctions', 'describeExecution', {
91
+ executionArn: start.getAttString('executionArn'),
92
+ });
93
+ waitForExecution.next(getClusterId);
94
+
95
+ const clusterId = getClusterId.getAttString('output.ClusterId');
96
+
97
+ const describeCluster = integTest.assertions.awsApiCall('Emr', 'describeCluster', {
98
+ ClusterId: clusterId,
99
+ });
100
+ getClusterId.next(describeCluster);
101
+
102
+ describeCluster.expect(ExpectedResult.objectLike({
103
+ Cluster: {
104
+ ReleaseLabel: releaseLabel,
105
+ EbsRootVolumeIops: ebsRootVolumeIops,
106
+ EbsRootVolumeSize: ebsRootVolumeSize,
107
+ EbsRootVolumeThroughput: ebsRootVolumeThroughput,
108
+ },
109
+ }));
110
+
111
+ const getManagedScalingPolicy = integTest.assertions.awsApiCall('Emr', 'getManagedScalingPolicy', {
112
+ ClusterId: clusterId,
113
+ });
114
+ describeCluster.next(getManagedScalingPolicy);
115
+
116
+ getManagedScalingPolicy.expect(ExpectedResult.objectLike({
117
+ ManagedScalingPolicy: {
118
+ ComputeLimits: {
119
+ UnitType: unitType,
120
+ MaximumCapacityUnits: maximumCapacityUnits,
121
+ MinimumCapacityUnits: minimumCapacityUnits,
122
+ MaximumOnDemandCapacityUnits: maximumOnDemandCapacityUnits,
123
+ MaximumCoreCapacityUnits: maximumCoreCapacityUnits,
124
+ },
125
+ },
126
+ }));