cdk-factory 0.16.13__tar.gz → 0.16.15__tar.gz

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 (166) hide show
  1. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/.gitignore +2 -0
  2. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/PKG-INFO +1 -1
  3. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/pyproject.toml +1 -1
  4. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/ecs_service.py +10 -0
  5. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack.py +28 -42
  6. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +9 -12
  7. cdk_factory-0.16.15/src/cdk_factory/version.py +1 -0
  8. cdk_factory-0.16.13/src/cdk_factory/version.py +0 -1
  9. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/.windsurfrules +0 -0
  10. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/LICENSE +0 -0
  11. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/README.md +0 -0
  12. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/REFACTORING_PLAN.md +0 -0
  13. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/archive/README.md +0 -0
  14. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/archive/migrate_to_enhanced_ssm.py +0 -0
  15. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/examples/json-imports/README.md +0 -0
  16. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/examples/separate-api-gateway/README.md +0 -0
  17. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
  18. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/examples/separate-api-gateway/config.json +0 -0
  19. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/examples/separate-api-gateway/lambda-stack.json +0 -0
  20. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/mypy.ini +0 -0
  21. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/publish_to_pypi.py +0 -0
  22. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/publish_to_pypi.sh +0 -0
  23. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/pysetup.py +0 -0
  24. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/pysetup.sh +0 -0
  25. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/requirements.dev.txt +0 -0
  26. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/requirements.tests.txt +0 -0
  27. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/requirements.txt +0 -0
  28. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/run-checks.sh +0 -0
  29. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/run-tests-clean-venv.sh +0 -0
  30. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/run-tests.sh +0 -0
  31. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/scripts/cloudfront-cleanup.sh +0 -0
  32. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/__init__.py +0 -0
  33. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/app.py +0 -0
  34. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/builds/README.md +0 -0
  35. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/cdk.json +0 -0
  36. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/cli.py +0 -0
  37. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/commands/command_loader.py +0 -0
  38. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/base_config.py +0 -0
  39. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/cdk_config.py +0 -0
  40. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/deployment.py +0 -0
  41. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/deployment_wave.py +0 -0
  42. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/devops.py +0 -0
  43. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
  44. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
  45. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/management.py +0 -0
  46. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/pipeline.py +0 -0
  47. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
  48. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/_resources.py +0 -0
  49. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/acm.py +0 -0
  50. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
  51. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
  52. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
  53. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
  54. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
  55. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
  56. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
  57. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
  58. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/cognito.py +0 -0
  59. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/docker.py +0 -0
  60. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
  61. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/ecr.py +0 -0
  62. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/ecs_cluster.py +0 -0
  63. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
  64. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
  65. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
  66. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
  67. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
  68. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
  69. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
  70. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/rds.py +0 -0
  71. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
  72. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
  73. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
  74. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/route53.py +0 -0
  75. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
  76. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/rum.py +0 -0
  77. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/s3.py +0 -0
  78. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/security_group.py +0 -0
  79. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
  80. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/sqs.py +0 -0
  81. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/resources/vpc.py +0 -0
  82. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/stack.py +0 -0
  83. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/configurations/workload.py +0 -0
  84. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
  85. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
  86. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
  87. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
  88. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
  89. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
  90. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
  91. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
  92. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
  93. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
  94. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
  95. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py +0 -0
  96. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/interfaces/istack.py +0 -0
  97. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
  98. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/interfaces/networked_stack_mixin.py +0 -0
  99. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/interfaces/ssm_parameter_mixin.py +0 -0
  100. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/interfaces/vpc_provider_mixin.py +0 -0
  101. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
  102. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/lambdas/health_handler.py +0 -0
  103. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/pipeline/path_utils.py +0 -0
  104. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
  105. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/pipeline/security/policies.py +0 -0
  106. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/pipeline/security/roles.py +0 -0
  107. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/pipeline/stage.py +0 -0
  108. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack/istack.py +0 -0
  109. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack/stack_factory.py +0 -0
  110. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack/stack_module_loader.py +0 -0
  111. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack/stack_module_registry.py +0 -0
  112. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack/stack_modules.py +0 -0
  113. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/__init__.py +0 -0
  114. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
  115. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
  116. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
  117. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
  118. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +0 -0
  119. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
  120. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/buckets/README.md +0 -0
  121. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
  122. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
  123. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
  124. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
  125. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
  126. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
  127. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/ecr/README.md +0 -0
  128. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
  129. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
  130. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
  131. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
  132. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
  133. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
  134. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
  135. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
  136. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
  137. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
  138. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
  139. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
  140. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
  141. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
  142. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
  143. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
  144. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
  145. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
  146. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/stack_base.py +0 -0
  147. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
  148. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
  149. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
  150. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
  151. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/templates/README.md +0 -0
  152. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/templates/app.py.template +0 -0
  153. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/templates/cdk.json.template +0 -0
  154. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
  155. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/commandline_args.py +0 -0
  156. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/configuration_loader.py +0 -0
  157. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/docker_utilities.py +0 -0
  158. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/environment_services.py +0 -0
  159. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/file_operations.py +0 -0
  160. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/git_utilities.py +0 -0
  161. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
  162. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
  163. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utilities/os_execute.py +0 -0
  164. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
  165. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/cdk_factory/workload/workload_factory.py +0 -0
  166. {cdk_factory-0.16.13 → cdk_factory-0.16.15}/src/handlers/test/handler.py +0 -0
@@ -199,3 +199,5 @@ activate.sh
199
199
  # Lambda runtime config (generated during CDK deployment)
200
200
  **/runtime_config.json
201
201
  .pip/
202
+ **/.debug/*
203
+ **/.dynamic/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cdk_factory
3
- Version: 0.16.13
3
+ Version: 0.16.15
4
4
  Summary: CDK Factory. A QuickStarter and best practices setup for CDK projects
5
5
  Author-email: Eric Wilson <eric.wilson@geekcafe.com>
6
6
  License: MIT License
@@ -33,7 +33,7 @@ markers = [
33
33
  [project]
34
34
 
35
35
  name = "cdk_factory"
36
- version = "0.16.13"
36
+ version = "0.16.15"
37
37
  authors = [
38
38
  { name="Eric Wilson", email="eric.wilson@geekcafe.com" }
39
39
  ]
@@ -141,6 +141,16 @@ class EcsServiceConfig:
141
141
  """Deployment type: production, maintenance, or blue-green"""
142
142
  return self._config.get("deployment_type", "production")
143
143
 
144
+ @property
145
+ def deployment_circuit_breaker(self) -> Dict[str, Any]:
146
+ """Deployment circuit breaker configuration"""
147
+ return self._config.get("deployment_circuit_breaker", {})
148
+
149
+ @property
150
+ def deployment_configuration(self) -> Dict[str, Any]:
151
+ """Deployment configuration (maximum_percent, minimum_healthy_percent)"""
152
+ return self._config.get("deployment_configuration", {})
153
+
144
154
  @property
145
155
  def is_maintenance_mode(self) -> bool:
146
156
  """Whether this is a maintenance mode deployment"""
@@ -194,53 +194,39 @@ class EcsClusterStack(IStack, VPCProviderMixin):
194
194
  """Export cluster information via SSM parameters and CloudFormation outputs."""
195
195
  logger.info("Exporting ECS cluster information")
196
196
 
197
- # Export cluster name
198
- self.export_ssm_parameter(
199
- self, "ClusterNameParameter",
200
- self.ecs_config.name,
201
- f"/{self.deployment.name}/{self.workload.name}/ecs/cluster/name",
202
- "ECS Cluster Name",
203
- )
197
+ ssm_exports = self.ecs_config.ssm_exports
198
+
199
+ if not ssm_exports:
200
+ logger.info("No SSM exports configured for ECS Cluster")
201
+ return
204
202
 
205
- # Export cluster ARN
206
- self.export_ssm_parameter(
207
- self, "ClusterArnParameter",
208
- self.ecs_cluster.cluster_arn,
209
- f"/{self.deployment.name}/{self.workload.name}/ecs/cluster/arn",
210
- "ECS Cluster ARN",
211
- )
203
+ logger.info(f"Processing {len(ssm_exports)} SSM exports for ECS Cluster")
212
204
 
213
- # Export instance role ARN if created
214
- if hasattr(self, "instance_role"):
205
+ if "cluster_name" in ssm_exports:
215
206
  self.export_ssm_parameter(
216
- self, "InstanceRoleArnParameter",
217
- self.instance_role.role_arn,
218
- f"/{self.deployment.name}/{self.workload.name}/ecs/instance-role/arn",
219
- "ECS Instance Role ARN",
207
+ scope=self,
208
+ id="ClusterNameParam",
209
+ value=self.ecs_config.name,
210
+ parameter_name=ssm_exports["cluster_name"],
211
+ description=f"ECS Cluster Name: {self.ecs_config.name}",
220
212
  )
221
213
 
222
- # CloudFormation outputs
223
- CfnOutput(
224
- self,
225
- "cluster-name",
226
- value=self.ecs_config.name,
227
- description=f"Name of the ECS cluster: {self.ecs_config.name}",
228
- export_name=f"{self.deployment.name}-ecs-cluster-name",
229
- )
230
-
231
- CfnOutput(
232
- self,
233
- "cluster-arn",
234
- value=self.ecs_cluster.cluster_arn,
235
- description=f"ARN of the ECS cluster: {self.ecs_config.name}",
236
- export_name=f"{self.deployment.name}-ecs-cluster-arn",
237
- )
214
+ if "cluster_arn" in ssm_exports:
215
+ self.export_ssm_parameter(
216
+ scope=self,
217
+ id="ClusterArnParam",
218
+ value=self.ecs_cluster.cluster_arn,
219
+ parameter_name=ssm_exports["cluster_arn"],
220
+ description=f"ECS Cluster ARN: {self.ecs_cluster.cluster_arn}",
221
+ )
238
222
 
239
- if hasattr(self, "instance_role"):
240
- CfnOutput(
241
- self,
242
- "instance-role-arn",
223
+ if "instance_role_arn" in ssm_exports:
224
+ self.export_ssm_parameter(
225
+ scope=self,
226
+ id="InstanceRoleArnParam",
243
227
  value=self.instance_role.role_arn,
244
- description=f"ARN of the ECS instance role: {self.ecs_config.name}",
245
- export_name=f"{self.deployment.name}-ecs-instance-role-arn",
228
+ parameter_name=ssm_exports["instance_role_arn"],
229
+ description=f"ECS Instance Role ARN: {self.instance_role.role_arn}",
246
230
  )
231
+
232
+
@@ -47,7 +47,7 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
47
47
  self.workload: Optional[WorkloadConfig] = None
48
48
  self.cluster: Optional[ecs.ICluster] = None
49
49
  self.service: Optional[ecs.FargateService] = None
50
- self.task_definition: Optional[ecs.FargateTaskDefinition] = None
50
+ self.task_definition: Optional[ecs.FargateTaskDefinition] | Optional[ecs.EcsTaskDefinition] = None
51
51
  self._vpc: Optional[ec2.IVpc] = None
52
52
  # SSM imported values
53
53
  self.ssm_imported_values: Dict[str, Any] = {}
@@ -450,7 +450,10 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
450
450
  health_check_grace_period=cdk.Duration.seconds(
451
451
  self.ecs_config.health_check_grace_period
452
452
  ) if self.ecs_config.target_group_arns else None,
453
- circuit_breaker=ecs.DeploymentCircuitBreaker(rollback=True),
453
+ circuit_breaker=ecs.DeploymentCircuitBreaker(
454
+ enable=self.ecs_config.deployment_circuit_breaker.get("enable", True),
455
+ rollback=self.ecs_config.deployment_circuit_breaker.get("rollback", True)
456
+ ) if self.ecs_config.deployment_circuit_breaker else None,
454
457
  placement_strategies=self._get_placement_strategies(),
455
458
  placement_constraints=self._get_placement_constraints(),
456
459
  )
@@ -470,7 +473,10 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
470
473
  health_check_grace_period=cdk.Duration.seconds(
471
474
  self.ecs_config.health_check_grace_period
472
475
  ) if self.ecs_config.target_group_arns else None,
473
- circuit_breaker=ecs.DeploymentCircuitBreaker(rollback=True),
476
+ circuit_breaker=ecs.DeploymentCircuitBreaker(
477
+ enable=self.ecs_config.deployment_circuit_breaker.get("enable", True),
478
+ rollback=self.ecs_config.deployment_circuit_breaker.get("rollback", True)
479
+ ) if self.ecs_config.deployment_circuit_breaker else None,
474
480
  )
475
481
 
476
482
  # Attach to load balancer target groups
@@ -662,15 +668,6 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
662
668
  description=f"ECS Service ARN: {service_name}",
663
669
  )
664
670
 
665
- # Cluster name
666
- if "cluster_name" in ssm_exports:
667
- self.export_ssm_parameter(
668
- scope=self,
669
- id="ClusterNameParam",
670
- value=self.cluster.cluster_name,
671
- parameter_name=ssm_exports["cluster_name"],
672
- description=f"ECS Cluster Name for {service_name}",
673
- )
674
671
 
675
672
  # Task definition ARN
676
673
  if "task_definition_arn" in ssm_exports:
@@ -0,0 +1 @@
1
+ __version__ = "0.16.15"
@@ -1 +0,0 @@
1
- __version__ = "0.16.13"
File without changes
File without changes
File without changes
File without changes
File without changes