cdk-factory 0.17.0__tar.gz → 0.17.2__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.17.0 → cdk_factory-0.17.2}/PKG-INFO +1 -1
  2. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/pyproject.toml +1 -1
  3. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/interfaces/vpc_provider_mixin.py +13 -3
  4. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack_standardized.py +2 -2
  5. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/rum/rum_stack.py +17 -11
  6. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/vpc/vpc_stack_standardized.py +5 -28
  7. cdk_factory-0.17.2/src/cdk_factory/version.py +1 -0
  8. cdk_factory-0.17.0/src/cdk_factory/version.py +0 -1
  9. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/.gitignore +0 -0
  10. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/.windsurfrules +0 -0
  11. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/LICENSE +0 -0
  12. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/README.md +0 -0
  13. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/REFACTORING_PLAN.md +0 -0
  14. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/archive/README.md +0 -0
  15. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/archive/migrate_to_enhanced_ssm.py +0 -0
  16. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/examples/json-imports/README.md +0 -0
  17. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/examples/separate-api-gateway/README.md +0 -0
  18. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
  19. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/examples/separate-api-gateway/config.json +0 -0
  20. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/examples/separate-api-gateway/lambda-stack.json +0 -0
  21. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/mypy.ini +0 -0
  22. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/publish_to_pypi.py +0 -0
  23. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/publish_to_pypi.sh +0 -0
  24. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/pysetup.py +0 -0
  25. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/pysetup.sh +0 -0
  26. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/requirements.dev.txt +0 -0
  27. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/requirements.tests.txt +0 -0
  28. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/requirements.txt +0 -0
  29. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/run-checks.sh +0 -0
  30. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/run-tests-clean-venv.sh +0 -0
  31. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/run-tests.sh +0 -0
  32. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/scripts/cloudfront-cleanup.sh +0 -0
  33. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/__init__.py +0 -0
  34. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/app.py +0 -0
  35. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/builds/README.md +0 -0
  36. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/cdk.json +0 -0
  37. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/cli.py +0 -0
  38. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/commands/command_loader.py +0 -0
  39. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/base_config.py +0 -0
  40. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/cdk_config.py +0 -0
  41. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/deployment.py +0 -0
  42. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/deployment_wave.py +0 -0
  43. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/devops.py +0 -0
  44. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
  45. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
  46. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/management.py +0 -0
  47. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/pipeline.py +0 -0
  48. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
  49. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/_resources.py +0 -0
  50. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/acm.py +0 -0
  51. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
  52. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
  53. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
  54. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
  55. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
  56. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
  57. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
  58. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
  59. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/cognito.py +0 -0
  60. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/docker.py +0 -0
  61. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
  62. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/ecr.py +0 -0
  63. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/ecs_cluster.py +0 -0
  64. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/ecs_service.py +0 -0
  65. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
  66. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
  67. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
  68. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
  69. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
  70. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
  71. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
  72. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/rds.py +0 -0
  73. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
  74. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
  75. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
  76. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/route53.py +0 -0
  77. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
  78. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/rum.py +0 -0
  79. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/s3.py +0 -0
  80. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/security_group.py +0 -0
  81. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
  82. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/sqs.py +0 -0
  83. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/resources/vpc.py +0 -0
  84. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/stack.py +0 -0
  85. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/configurations/workload.py +0 -0
  86. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
  87. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
  88. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
  89. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
  90. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
  91. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
  92. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
  93. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
  94. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
  95. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
  96. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
  97. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/interfaces/istack.py +0 -0
  98. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
  99. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/interfaces/networked_stack_mixin.py +0 -0
  100. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/interfaces/standardized_ssm_mixin.py +0 -0
  101. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
  102. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/lambdas/health_handler.py +0 -0
  103. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/pipeline/path_utils.py +0 -0
  104. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
  105. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/pipeline/security/policies.py +0 -0
  106. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/pipeline/security/roles.py +0 -0
  107. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/pipeline/stage.py +0 -0
  108. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack/istack.py +0 -0
  109. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack/stack_factory.py +0 -0
  110. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack/stack_module_loader.py +0 -0
  111. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack/stack_module_registry.py +0 -0
  112. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack/stack_modules.py +0 -0
  113. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/__init__.py +0 -0
  114. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
  115. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
  116. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
  117. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
  118. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
  119. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/buckets/README.md +0 -0
  120. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
  121. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
  122. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
  123. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
  124. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
  125. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
  126. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/ecr/README.md +0 -0
  127. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
  128. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
  129. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack_standardized.py +0 -0
  130. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +0 -0
  131. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
  132. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
  133. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
  134. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
  135. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
  136. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
  137. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
  138. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
  139. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
  140. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
  141. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
  142. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
  143. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
  144. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
  145. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
  146. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/stack_base.py +0 -0
  147. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
  148. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
  149. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
  150. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/templates/README.md +0 -0
  151. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/templates/app.py.template +0 -0
  152. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/templates/cdk.json.template +0 -0
  153. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
  154. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/commandline_args.py +0 -0
  155. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/configuration_loader.py +0 -0
  156. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/docker_utilities.py +0 -0
  157. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/environment_services.py +0 -0
  158. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/file_operations.py +0 -0
  159. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/git_utilities.py +0 -0
  160. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
  161. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
  162. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utilities/os_execute.py +0 -0
  163. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
  164. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/validation/config_validator.py +0 -0
  165. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/src/cdk_factory/workload/workload_factory.py +0 -0
  166. {cdk_factory-0.17.0 → cdk_factory-0.17.2}/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.17.0
3
+ Version: 0.17.2
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.17.0"
36
+ version = "0.17.2"
37
37
  authors = [
38
38
  { name="Eric Wilson", email="eric.wilson@geekcafe.com" }
39
39
  ]
@@ -6,7 +6,7 @@ MIT License. See Project Root for license information.
6
6
 
7
7
  from typing import Optional, List, Any
8
8
  from aws_lambda_powertools import Logger
9
- from aws_cdk import aws_ec2 as ec2
9
+ from aws_cdk import aws_ec2 as ec2, aws_ssm as ssm
10
10
  from constructs import Construct
11
11
 
12
12
  logger = Logger(__name__)
@@ -113,16 +113,26 @@ class VPCProviderMixin:
113
113
  Create VPC reference from SSM imported VPC ID.
114
114
 
115
115
  Args:
116
- vpc_id: The VPC ID from SSM
116
+ vpc_id: The VPC ID from SSM (can be SSM path or actual VPC ID)
117
117
  availability_zones: List of availability zones
118
118
  subnet_ids: Optional list of subnet IDs from SSM
119
119
 
120
120
  Returns:
121
121
  VPC reference created from attributes
122
122
  """
123
+ # Check if vpc_id is an SSM path (starts with /) or actual VPC ID
124
+ if vpc_id.startswith('/'):
125
+ # Create CDK token for VPC ID from SSM parameter
126
+ vpc_id_token = ssm.StringParameter.from_string_parameter_name(
127
+ self, f"{self.stack_name}-VPC-ID-Token", vpc_id
128
+ ).string_value
129
+ else:
130
+ # Use the VPC ID directly (for testing or direct configuration)
131
+ vpc_id_token = vpc_id
132
+
123
133
  # Build VPC attributes
124
134
  vpc_attrs = {
125
- "vpc_id": vpc_id,
135
+ "vpc_id": vpc_id_token,
126
136
  "availability_zones": availability_zones,
127
137
  }
128
138
 
@@ -137,8 +137,8 @@ class AutoScalingStack(IStack, VPCProviderMixin, StandardizedSsmMixin):
137
137
  logger.info(f"Auto Scaling Group {asg_name} built successfully")
138
138
 
139
139
  def _get_ssm_imports(self) -> Dict[str, Any]:
140
- """Get SSM imports from configuration"""
141
- return self.asg_config.ssm_imports
140
+ """Get SSM imports from standardized mixin processing"""
141
+ return self.get_all_ssm_imports()
142
142
 
143
143
  def _get_security_groups(self) -> List[ec2.ISecurityGroup]:
144
144
  """
@@ -59,14 +59,18 @@ class RumStack(IStack, StandardizedSsmMixin):
59
59
 
60
60
  # Configure SSM imports for cognito resources if needed
61
61
  if not self.rum_config.cognito_identity_pool_id:
62
- # Add explicit import path for cognito identity pool using new pattern
63
- if "ssm" not in rum_config:
64
- rum_config["ssm"] = {}
65
- if "imports" not in rum_config["ssm"]:
66
- rum_config["ssm"]["imports"] = {}
67
- rum_config["ssm"]["imports"][
68
- "cognito_identity_pool_id"
69
- ] = "/{{ORGANIZATION}}/{{ENVIRONMENT}}/cognito/user-pool/identity-pool-id"
62
+ # Only add SSM imports if we have the required template variables
63
+ # Check if deployment has organization info for template resolution
64
+ if (hasattr(deployment, 'organization') and deployment.organization and
65
+ hasattr(deployment, 'environment') and deployment.environment):
66
+ # Add explicit import path for cognito identity pool using new pattern
67
+ if "ssm" not in rum_config:
68
+ rum_config["ssm"] = {}
69
+ if "imports" not in rum_config["ssm"]:
70
+ rum_config["ssm"]["imports"] = {}
71
+ rum_config["ssm"]["imports"][
72
+ "cognito_identity_pool_id"
73
+ ] = "/{{ORGANIZATION}}/{{ENVIRONMENT}}/cognito/user-pool/identity-pool-id"
70
74
 
71
75
  self.setup_standardized_ssm_integration(
72
76
  scope=self,
@@ -75,6 +79,9 @@ class RumStack(IStack, StandardizedSsmMixin):
75
79
  resource_name=self.rum_config.name,
76
80
  )
77
81
 
82
+ # Process SSM imports using standardized method
83
+ self.process_standardized_ssm_imports()
84
+
78
85
  # Import or create Cognito resources
79
86
  identity_pool_id, guest_role_arn = self._setup_cognito_integration()
80
87
 
@@ -97,9 +104,8 @@ class RumStack(IStack, StandardizedSsmMixin):
97
104
  identity_pool_id = self.rum_config.cognito_identity_pool_id
98
105
  logger.info(f"Using existing Cognito Identity Pool: {identity_pool_id}")
99
106
  else:
100
- # Try to import from SSM using new pattern - read directly from config
101
- ssm_imports = self.rum_config.ssm_imports
102
- cognito_identity_pool_id = ssm_imports.get("cognito_identity_pool_id")
107
+ # Try to import from SSM using standardized approach
108
+ cognito_identity_pool_id = self.get_ssm_imported_value("cognito_identity_pool_id")
103
109
 
104
110
  if cognito_identity_pool_id:
105
111
  identity_pool_id = cognito_identity_pool_id
@@ -111,25 +111,7 @@ class VpcStack(IStack, StandardizedSsmMixin):
111
111
  # Configure NAT gateways
112
112
  nat_gateway_count = self.vpc_config.nat_gateways.get("count", 1)
113
113
 
114
- # Get explicit availability zones to avoid dummy AZs in pipeline synthesis
115
- # When CDK synthesizes in a pipeline context, it doesn't have access to real AZs
116
- # So we explicitly specify them based on the deployment region
117
- availability_zones = None
118
- if self.deployment:
119
- region = self.deployment.region or "us-east-1"
120
- # Explicitly list AZs for the region to avoid dummy values
121
- max_azs = self.vpc_config.max_azs or 2
122
- if region == "us-east-1":
123
- availability_zones = [f"us-east-1{chr(97+i)}" for i in range(max_azs)] # us-east-1a, us-east-1b, etc.
124
- elif region == "us-east-2":
125
- availability_zones = [f"us-east-2{chr(97+i)}" for i in range(max_azs)]
126
- elif region == "us-west-1":
127
- availability_zones = [f"us-west-1{chr(97+i)}" for i in range(max_azs)]
128
- elif region == "us-west-2":
129
- availability_zones = [f"us-west-2{chr(97+i)}" for i in range(max_azs)]
130
-
131
114
  # Build VPC properties
132
- # Note: CDK doesn't allow both 'availability_zones' and 'max_azs' - use one or the other
133
115
  vpc_props = {
134
116
  "vpc_name": vpc_name,
135
117
  "cidr": self.vpc_config.cidr,
@@ -137,6 +119,7 @@ class VpcStack(IStack, StandardizedSsmMixin):
137
119
  "subnet_configuration": subnet_configuration,
138
120
  "enable_dns_hostnames": self.vpc_config.enable_dns_hostnames,
139
121
  "enable_dns_support": self.vpc_config.enable_dns_support,
122
+ "max_azs": self.vpc_config.max_azs, # Use max_azs instead of explicit availability_zones
140
123
  "gateway_endpoints": (
141
124
  {
142
125
  "S3": ec2.GatewayVpcEndpointOptions(
@@ -148,12 +131,6 @@ class VpcStack(IStack, StandardizedSsmMixin):
148
131
  ),
149
132
  }
150
133
 
151
- # Use either availability_zones or max_azs, not both
152
- if availability_zones:
153
- vpc_props["availability_zones"] = availability_zones
154
- else:
155
- vpc_props["max_azs"] = self.vpc_config.max_azs
156
-
157
134
  # Create the VPC
158
135
  vpc = ec2.Vpc(self, vpc_name, **vpc_props)
159
136
 
@@ -350,9 +327,9 @@ class VpcStack(IStack, StandardizedSsmMixin):
350
327
  # Prepare resource values for export
351
328
  resource_values = {
352
329
  "vpc_id": self.vpc.vpc_id,
353
- "public_subnet_ids": [subnet.subnet_id for subnet in self.vpc.public_subnets],
354
- "private_subnet_ids": [subnet.subnet_id for subnet in self.vpc.private_subnets],
355
- "isolated_subnet_ids": [subnet.subnet_id for subnet in self.vpc.isolated_subnets],
330
+ "public_subnet_ids": ",".join([subnet.subnet_id for subnet in self.vpc.public_subnets]) if self.vpc.public_subnets else "",
331
+ "private_subnet_ids": ",".join([subnet.subnet_id for subnet in self.vpc.private_subnets]) if self.vpc.private_subnets else "",
332
+ "isolated_subnet_ids": ",".join([subnet.subnet_id for subnet in self.vpc.isolated_subnets]) if self.vpc.isolated_subnets else "",
356
333
  }
357
334
 
358
335
  # Add route table IDs if available - commented out due to CDK API issues
@@ -386,7 +363,7 @@ class VpcStack(IStack, StandardizedSsmMixin):
386
363
  if hasattr(child, 'nat_gateway_id') and child.nat_gateway_id:
387
364
  nat_gateway_ids.append(child.nat_gateway_id)
388
365
  if nat_gateway_ids:
389
- resource_values["nat_gateway_ids"] = nat_gateway_ids
366
+ resource_values["nat_gateway_ids"] = ",".join(nat_gateway_ids)
390
367
 
391
368
  # Add Internet Gateway ID if available
392
369
  if hasattr(self.vpc, 'internet_gateway_id') and self.vpc.internet_gateway_id:
@@ -0,0 +1 @@
1
+ __version__ = "0.17.2"
@@ -1 +0,0 @@
1
- __version__ = "0.17.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes