cdk-factory 0.19.9__tar.gz → 0.19.10__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.19.9 → cdk_factory-0.19.10}/PKG-INFO +1 -1
  2. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/pyproject.toml +1 -1
  3. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +14 -11
  4. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +34 -0
  5. cdk_factory-0.19.10/src/cdk_factory/version.py +1 -0
  6. cdk_factory-0.19.9/src/cdk_factory/version.py +0 -1
  7. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/.gitignore +0 -0
  8. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/.windsurfrules +0 -0
  9. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/LICENSE +0 -0
  10. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/README.md +0 -0
  11. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/REFACTORING_PLAN.md +0 -0
  12. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/archive/README.md +0 -0
  13. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/archive/migrate_to_enhanced_ssm.py +0 -0
  14. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/examples/json-imports/README.md +0 -0
  15. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/examples/separate-api-gateway/README.md +0 -0
  16. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
  17. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/examples/separate-api-gateway/config.json +0 -0
  18. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/examples/separate-api-gateway/lambda-stack.json +0 -0
  19. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/mypy.ini +0 -0
  20. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/publish_to_pypi.py +0 -0
  21. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/publish_to_pypi.sh +0 -0
  22. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/pysetup.py +0 -0
  23. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/pysetup.sh +0 -0
  24. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/requirements.dev.txt +0 -0
  25. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/requirements.tests.txt +0 -0
  26. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/requirements.txt +0 -0
  27. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/run-checks.sh +0 -0
  28. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/run-tests-clean-venv.sh +0 -0
  29. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/run-tests.sh +0 -0
  30. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/scripts/cloudfront-cleanup.sh +0 -0
  31. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/__init__.py +0 -0
  32. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/app.py +0 -0
  33. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/builds/README.md +0 -0
  34. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/cdk.json +0 -0
  35. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/cli.py +0 -0
  36. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/commands/command_loader.py +0 -0
  37. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/base_config.py +0 -0
  38. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/cdk_config.py +0 -0
  39. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/deployment.py +0 -0
  40. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/deployment_wave.py +0 -0
  41. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/devops.py +0 -0
  42. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
  43. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
  44. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/management.py +0 -0
  45. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/pipeline.py +0 -0
  46. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
  47. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/_resources.py +0 -0
  48. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/acm.py +0 -0
  49. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
  50. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
  51. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
  52. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
  53. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
  54. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
  55. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
  56. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
  57. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cognito.py +0 -0
  58. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/docker.py +0 -0
  59. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
  60. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecr.py +0 -0
  61. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecs_cluster.py +0 -0
  62. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecs_service.py +0 -0
  63. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
  64. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
  65. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
  66. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
  67. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
  68. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
  69. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
  70. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/rds.py +0 -0
  71. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
  72. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
  73. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
  74. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/route53.py +0 -0
  75. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
  76. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/rum.py +0 -0
  77. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/s3.py +0 -0
  78. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/security_group.py +0 -0
  79. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
  80. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/sqs.py +0 -0
  81. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/vpc.py +0 -0
  82. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/stack.py +0 -0
  83. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/configurations/workload.py +0 -0
  84. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
  85. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
  86. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
  87. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
  88. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
  89. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
  90. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
  91. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
  92. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
  93. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
  94. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
  95. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/istack.py +0 -0
  96. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
  97. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/networked_stack_mixin.py +0 -0
  98. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/standardized_ssm_mixin.py +0 -0
  99. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/vpc_provider_mixin.py +0 -0
  100. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
  101. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/lambdas/health_handler.py +0 -0
  102. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/path_utils.py +0 -0
  103. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
  104. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/security/policies.py +0 -0
  105. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/security/roles.py +0 -0
  106. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/stage.py +0 -0
  107. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack/istack.py +0 -0
  108. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_factory.py +0 -0
  109. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_module_loader.py +0 -0
  110. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_module_registry.py +0 -0
  111. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_modules.py +0 -0
  112. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/__init__.py +0 -0
  113. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
  114. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
  115. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
  116. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
  117. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +0 -0
  118. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
  119. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/buckets/README.md +0 -0
  120. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
  121. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
  122. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
  123. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
  124. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
  125. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecr/README.md +0 -0
  126. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
  127. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
  128. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack.py +0 -0
  129. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
  130. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
  131. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
  132. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
  133. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
  134. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
  135. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
  136. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
  137. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
  138. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
  139. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
  140. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
  141. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
  142. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
  143. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
  144. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
  145. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/stack_base.py +0 -0
  146. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
  147. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
  148. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
  149. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
  150. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/templates/README.md +0 -0
  151. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/templates/app.py.template +0 -0
  152. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/templates/cdk.json.template +0 -0
  153. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
  154. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/commandline_args.py +0 -0
  155. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/configuration_loader.py +0 -0
  156. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/docker_utilities.py +0 -0
  157. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/environment_services.py +0 -0
  158. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/file_operations.py +0 -0
  159. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/git_utilities.py +0 -0
  160. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
  161. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
  162. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utilities/os_execute.py +0 -0
  163. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
  164. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/validation/config_validator.py +0 -0
  165. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/src/cdk_factory/workload/workload_factory.py +0 -0
  166. {cdk_factory-0.19.9 → cdk_factory-0.19.10}/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.19.9
3
+ Version: 0.19.10
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.19.9"
36
+ version = "0.19.10"
37
37
  authors = [
38
38
  { name="Eric Wilson", email="eric.wilson@geekcafe.com" }
39
39
  ]
@@ -145,7 +145,7 @@ class CloudFrontStack(IStack):
145
145
  return
146
146
 
147
147
  # Check if certificate ARN is provided
148
- cert_arn = cert_config.get("arn")
148
+ cert_arn = self.resolve_ssm_value(self, cert_config.get("arn"), "CertificateARN")
149
149
  if cert_arn:
150
150
  self.certificate = acm.Certificate.from_certificate_arn(
151
151
  self, "Certificate", certificate_arn=cert_arn
@@ -173,14 +173,14 @@ class CloudFrontStack(IStack):
173
173
  "CloudFront certificates must be created in us-east-1"
174
174
  )
175
175
  return
176
-
176
+
177
177
  # Create the certificate
178
178
  # Get hosted zone from SSM imports
179
179
  hosted_zone_id = cert_config.get("hosted_zone_id")
180
180
  hosted_zone = route53.HostedZone.from_hosted_zone_id(
181
181
  self, "HostedZone", hosted_zone_id
182
182
  )
183
-
183
+
184
184
  self.certificate = acm.Certificate(
185
185
  self,
186
186
  "Certificate",
@@ -223,7 +223,9 @@ class CloudFrontStack(IStack):
223
223
 
224
224
  def _create_custom_origin(self, config: Dict[str, Any]) -> cloudfront.IOrigin:
225
225
  """Create custom origin (ALB, API Gateway, etc.)"""
226
- domain_name = self.resolve_ssm_value(self, config.get("domain_name"), config.get("domain_name"))
226
+ domain_name = self.resolve_ssm_value(
227
+ self, config.get("domain_name"), config.get("domain_name")
228
+ )
227
229
  origin_id = config.get("id")
228
230
 
229
231
  if not domain_name:
@@ -297,21 +299,22 @@ class CloudFrontStack(IStack):
297
299
 
298
300
  def _create_s3_origin(self, config: Dict[str, Any]) -> cloudfront.IOrigin:
299
301
  """Create S3 origin"""
300
- bucket_name = self.resolve_ssm_value(self, config.get("bucket_name"), config.get("bucket_name"))
301
-
302
+ bucket_name = self.resolve_ssm_value(
303
+ self, config.get("bucket_name"), config.get("bucket_name")
304
+ )
302
305
 
303
306
  origin_path = config.get("origin_path", "")
304
-
307
+
305
308
  if not bucket_name:
306
309
  raise ValueError("S3 origin requires 'bucket_name' configuration")
307
-
310
+
308
311
  # For S3 origins, we need to import the bucket by name
309
312
  bucket = s3.Bucket.from_bucket_name(
310
313
  self,
311
314
  id=f"S3OriginBucket-{config.get('id', 'unknown')}",
312
- bucket_name=bucket_name
315
+ bucket_name=bucket_name,
313
316
  )
314
-
317
+
315
318
  # Create S3 origin with OAC (Origin Access Control) for security
316
319
  origin = origins.S3BucketOrigin.with_origin_access_control(
317
320
  bucket,
@@ -321,7 +324,7 @@ class CloudFrontStack(IStack):
321
324
  cloudfront.AccessLevel.LIST,
322
325
  ],
323
326
  )
324
-
327
+
325
328
  return origin
326
329
 
327
330
  def _create_distribution(self) -> None:
@@ -226,6 +226,9 @@ class EcsServiceStack(IStack, VPCProviderMixin, StandardizedSsmMixin):
226
226
  "CloudWatchAgentServerPolicy"
227
227
  )
228
228
  )
229
+
230
+ # add any custom policies
231
+ self._add_custom_task_policies(task_role)
229
232
 
230
233
  # Create task definition based on launch type
231
234
  if self.ecs_config.launch_type == "EC2":
@@ -257,6 +260,37 @@ class EcsServiceStack(IStack, VPCProviderMixin, StandardizedSsmMixin):
257
260
  # Add containers
258
261
  self._add_containers_to_task()
259
262
 
263
+ def _add_custom_task_policies(self, task_role: iam.Role) -> None:
264
+ """
265
+ Add custom task policies to the task definition.
266
+ """
267
+ for policy in self.ecs_config.task_definition.get("policies", []):
268
+
269
+ effect = policy.get("effect", "Allow")
270
+ action = policy.get("action", None)
271
+ actions = policy.get("actions", [])
272
+ if action:
273
+ actions.append(action)
274
+ resources = policy.get("resources", [])
275
+ resource = policy.get("resource", None)
276
+ if resource:
277
+ resources.append(resource)
278
+
279
+ if effect == "Allow" and actions:
280
+ effect = iam.Effect.ALLOW
281
+ if effect == "Deny" and actions:
282
+ effect = iam.Effect.DENY
283
+
284
+ sid = policy.get("sid", None)
285
+ task_role.add_to_policy(
286
+ iam.PolicyStatement(
287
+ effect=effect,
288
+ actions=actions,
289
+ resources=resources,
290
+ sid=sid,
291
+ )
292
+ )
293
+
260
294
  def _add_volumes_to_task(self) -> None:
261
295
  """
262
296
  Add volumes to the task definition.
@@ -0,0 +1 @@
1
+ __version__ = "0.19.10"
@@ -1 +0,0 @@
1
- __version__ = "0.19.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes