cdk-factory 0.16.14__tar.gz → 0.16.16__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.

Potentially problematic release.


This version of cdk-factory might be problematic. Click here for more details.

Files changed (166) hide show
  1. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/PKG-INFO +1 -1
  2. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/pyproject.toml +1 -1
  3. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/ecs_service.py +10 -0
  4. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +35 -8
  5. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +8 -2
  6. cdk_factory-0.16.16/src/cdk_factory/version.py +1 -0
  7. cdk_factory-0.16.14/src/cdk_factory/version.py +0 -1
  8. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/.gitignore +0 -0
  9. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/.windsurfrules +0 -0
  10. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/LICENSE +0 -0
  11. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/README.md +0 -0
  12. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/REFACTORING_PLAN.md +0 -0
  13. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/archive/README.md +0 -0
  14. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/archive/migrate_to_enhanced_ssm.py +0 -0
  15. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/examples/json-imports/README.md +0 -0
  16. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/examples/separate-api-gateway/README.md +0 -0
  17. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
  18. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/examples/separate-api-gateway/config.json +0 -0
  19. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/examples/separate-api-gateway/lambda-stack.json +0 -0
  20. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/mypy.ini +0 -0
  21. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/publish_to_pypi.py +0 -0
  22. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/publish_to_pypi.sh +0 -0
  23. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/pysetup.py +0 -0
  24. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/pysetup.sh +0 -0
  25. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/requirements.dev.txt +0 -0
  26. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/requirements.tests.txt +0 -0
  27. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/requirements.txt +0 -0
  28. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/run-checks.sh +0 -0
  29. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/run-tests-clean-venv.sh +0 -0
  30. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/run-tests.sh +0 -0
  31. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/scripts/cloudfront-cleanup.sh +0 -0
  32. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/__init__.py +0 -0
  33. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/app.py +0 -0
  34. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/builds/README.md +0 -0
  35. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/cdk.json +0 -0
  36. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/cli.py +0 -0
  37. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/commands/command_loader.py +0 -0
  38. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/base_config.py +0 -0
  39. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/cdk_config.py +0 -0
  40. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/deployment.py +0 -0
  41. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/deployment_wave.py +0 -0
  42. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/devops.py +0 -0
  43. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
  44. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
  45. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/management.py +0 -0
  46. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/pipeline.py +0 -0
  47. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
  48. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/_resources.py +0 -0
  49. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/acm.py +0 -0
  50. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
  51. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
  52. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
  53. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
  54. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
  55. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
  56. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
  57. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
  58. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/cognito.py +0 -0
  59. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/docker.py +0 -0
  60. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
  61. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/ecr.py +0 -0
  62. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/ecs_cluster.py +0 -0
  63. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
  64. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
  65. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
  66. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
  67. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
  68. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
  69. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
  70. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/rds.py +0 -0
  71. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
  72. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
  73. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
  74. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/route53.py +0 -0
  75. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
  76. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/rum.py +0 -0
  77. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/s3.py +0 -0
  78. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/security_group.py +0 -0
  79. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
  80. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/sqs.py +0 -0
  81. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/resources/vpc.py +0 -0
  82. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/stack.py +0 -0
  83. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/configurations/workload.py +0 -0
  84. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
  85. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
  86. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
  87. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
  88. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
  89. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
  90. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
  91. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
  92. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
  93. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
  94. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
  95. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py +0 -0
  96. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/interfaces/istack.py +0 -0
  97. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
  98. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/interfaces/networked_stack_mixin.py +0 -0
  99. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/interfaces/ssm_parameter_mixin.py +0 -0
  100. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/interfaces/vpc_provider_mixin.py +0 -0
  101. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
  102. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/lambdas/health_handler.py +0 -0
  103. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/pipeline/path_utils.py +0 -0
  104. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
  105. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/pipeline/security/policies.py +0 -0
  106. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/pipeline/security/roles.py +0 -0
  107. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/pipeline/stage.py +0 -0
  108. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack/istack.py +0 -0
  109. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack/stack_factory.py +0 -0
  110. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack/stack_module_loader.py +0 -0
  111. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack/stack_module_registry.py +0 -0
  112. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack/stack_modules.py +0 -0
  113. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/__init__.py +0 -0
  114. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
  115. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
  116. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
  117. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
  118. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
  119. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/buckets/README.md +0 -0
  120. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
  121. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
  122. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
  123. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
  124. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
  125. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
  126. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/ecr/README.md +0 -0
  127. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
  128. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
  129. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack.py +0 -0
  130. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
  131. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
  132. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
  133. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
  134. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
  135. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
  136. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
  137. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
  138. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
  139. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
  140. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
  141. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
  142. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
  143. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
  144. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
  145. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
  146. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/stack_base.py +0 -0
  147. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
  148. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
  149. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
  150. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
  151. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/templates/README.md +0 -0
  152. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/templates/app.py.template +0 -0
  153. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/templates/cdk.json.template +0 -0
  154. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
  155. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/commandline_args.py +0 -0
  156. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/configuration_loader.py +0 -0
  157. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/docker_utilities.py +0 -0
  158. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/environment_services.py +0 -0
  159. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/file_operations.py +0 -0
  160. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/git_utilities.py +0 -0
  161. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
  162. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
  163. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utilities/os_execute.py +0 -0
  164. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
  165. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/cdk_factory/workload/workload_factory.py +0 -0
  166. {cdk_factory-0.16.14 → cdk_factory-0.16.16}/src/handlers/test/handler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cdk_factory
3
- Version: 0.16.14
3
+ Version: 0.16.16
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.14"
36
+ version = "0.16.16"
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"""
@@ -167,23 +167,50 @@ class AutoScalingStack(IStack, VPCProviderMixin):
167
167
  def _get_security_groups(self) -> List[ec2.ISecurityGroup]:
168
168
  """Get security groups for the Auto Scaling Group"""
169
169
  security_groups = []
170
- for sg_id in self.asg_config.security_group_ids:
171
- # if the security group id contains a comma, it is a list of security group ids
172
- if "," in sg_id:
173
- blocks = sg_id.split(",")
174
- for block in blocks:
170
+
171
+ # Check if we have SSM imports for security groups using enhanced mixin
172
+ if self.has_ssm_import("security_group_ids"):
173
+ imported_sg_ids = self.get_ssm_imported_value("security_group_ids", [])
174
+ if isinstance(imported_sg_ids, list):
175
+ for idx, sg_id in enumerate(imported_sg_ids):
175
176
  security_groups.append(
176
177
  ec2.SecurityGroup.from_security_group_id(
177
- self, f"SecurityGroup-{block}", block
178
+ self, f"SecurityGroup-SSM-{idx}", sg_id
178
179
  )
179
180
  )
181
+ logger.info(f"Added {len(imported_sg_ids)} security groups from SSM imports")
180
182
  else:
181
- # TODO: add some additional checks to make it more robust
182
183
  security_groups.append(
183
184
  ec2.SecurityGroup.from_security_group_id(
184
- self, f"SecurityGroup-{sg_id}", sg_id
185
+ self, f"SecurityGroup-SSM-0", imported_sg_ids
185
186
  )
186
187
  )
188
+ logger.info(f"Added security group from SSM imports")
189
+
190
+ # Also check if we have any directly defined in the config
191
+ if self.asg_config.security_group_ids:
192
+ for idx, sg_id in enumerate(self.asg_config.security_group_ids):
193
+ logger.info(f"Adding security group from direct config: {sg_id}")
194
+ # if the security group id contains a comma, it is a list of security group ids
195
+ if "," in sg_id:
196
+ blocks = sg_id.split(",")
197
+ for block_idx, block in enumerate(blocks):
198
+ security_groups.append(
199
+ ec2.SecurityGroup.from_security_group_id(
200
+ self, f"SecurityGroup-Direct-{idx}-{block_idx}", block
201
+ )
202
+ )
203
+ else:
204
+ # TODO: add some additional checks to make it more robust
205
+ security_groups.append(
206
+ ec2.SecurityGroup.from_security_group_id(
207
+ self, f"SecurityGroup-Direct-{idx}", sg_id
208
+ )
209
+ )
210
+
211
+ if not security_groups:
212
+ logger.warning("No security groups found from SSM imports or direct configuration")
213
+
187
214
  return security_groups
188
215
 
189
216
  def _create_instance_role(self, asg_name: str) -> iam.Role:
@@ -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
@@ -0,0 +1 @@
1
+ __version__ = "0.16.16"
@@ -1 +0,0 @@
1
- __version__ = "0.16.14"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes