cdk-factory 0.17.3__tar.gz → 0.17.5__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.3 → cdk_factory-0.17.5}/PKG-INFO +1 -1
  2. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/pyproject.toml +1 -1
  3. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/interfaces/vpc_provider_mixin.py +1 -4
  4. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/vpc/vpc_stack_standardized.py +49 -1
  5. cdk_factory-0.17.5/src/cdk_factory/version.py +1 -0
  6. cdk_factory-0.17.3/src/cdk_factory/version.py +0 -1
  7. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/.gitignore +0 -0
  8. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/.windsurfrules +0 -0
  9. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/LICENSE +0 -0
  10. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/README.md +0 -0
  11. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/REFACTORING_PLAN.md +0 -0
  12. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/archive/README.md +0 -0
  13. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/archive/migrate_to_enhanced_ssm.py +0 -0
  14. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/examples/json-imports/README.md +0 -0
  15. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/examples/separate-api-gateway/README.md +0 -0
  16. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
  17. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/examples/separate-api-gateway/config.json +0 -0
  18. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/examples/separate-api-gateway/lambda-stack.json +0 -0
  19. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/mypy.ini +0 -0
  20. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/publish_to_pypi.py +0 -0
  21. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/publish_to_pypi.sh +0 -0
  22. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/pysetup.py +0 -0
  23. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/pysetup.sh +0 -0
  24. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/requirements.dev.txt +0 -0
  25. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/requirements.tests.txt +0 -0
  26. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/requirements.txt +0 -0
  27. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/run-checks.sh +0 -0
  28. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/run-tests-clean-venv.sh +0 -0
  29. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/run-tests.sh +0 -0
  30. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/scripts/cloudfront-cleanup.sh +0 -0
  31. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/__init__.py +0 -0
  32. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/app.py +0 -0
  33. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/builds/README.md +0 -0
  34. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/cdk.json +0 -0
  35. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/cli.py +0 -0
  36. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/commands/command_loader.py +0 -0
  37. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/base_config.py +0 -0
  38. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/cdk_config.py +0 -0
  39. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/deployment.py +0 -0
  40. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/deployment_wave.py +0 -0
  41. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/devops.py +0 -0
  42. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
  43. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
  44. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/management.py +0 -0
  45. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/pipeline.py +0 -0
  46. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
  47. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/_resources.py +0 -0
  48. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/acm.py +0 -0
  49. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
  50. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
  51. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
  52. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
  53. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
  54. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
  55. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
  56. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
  57. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/cognito.py +0 -0
  58. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/docker.py +0 -0
  59. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
  60. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/ecr.py +0 -0
  61. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/ecs_cluster.py +0 -0
  62. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/ecs_service.py +0 -0
  63. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
  64. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
  65. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
  66. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
  67. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
  68. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
  69. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
  70. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/rds.py +0 -0
  71. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
  72. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
  73. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
  74. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/route53.py +0 -0
  75. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
  76. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/rum.py +0 -0
  77. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/s3.py +0 -0
  78. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/security_group.py +0 -0
  79. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
  80. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/sqs.py +0 -0
  81. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/resources/vpc.py +0 -0
  82. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/stack.py +0 -0
  83. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/configurations/workload.py +0 -0
  84. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
  85. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
  86. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
  87. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
  88. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
  89. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
  90. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
  91. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
  92. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
  93. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
  94. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
  95. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/interfaces/istack.py +0 -0
  96. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
  97. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/interfaces/networked_stack_mixin.py +0 -0
  98. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/interfaces/standardized_ssm_mixin.py +0 -0
  99. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
  100. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/lambdas/health_handler.py +0 -0
  101. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/pipeline/path_utils.py +0 -0
  102. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
  103. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/pipeline/security/policies.py +0 -0
  104. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/pipeline/security/roles.py +0 -0
  105. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/pipeline/stage.py +0 -0
  106. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack/istack.py +0 -0
  107. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack/stack_factory.py +0 -0
  108. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack/stack_module_loader.py +0 -0
  109. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack/stack_module_registry.py +0 -0
  110. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack/stack_modules.py +0 -0
  111. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/__init__.py +0 -0
  112. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
  113. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
  114. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
  115. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
  116. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack_standardized.py +0 -0
  117. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
  118. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/buckets/README.md +0 -0
  119. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
  120. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
  121. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
  122. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
  123. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
  124. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
  125. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/ecr/README.md +0 -0
  126. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
  127. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
  128. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack_standardized.py +0 -0
  129. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +0 -0
  130. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
  131. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
  132. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
  133. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
  134. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
  135. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
  136. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
  137. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
  138. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
  139. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
  140. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
  141. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
  142. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
  143. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
  144. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
  145. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
  146. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/stack_base.py +0 -0
  147. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
  148. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
  149. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
  150. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/templates/README.md +0 -0
  151. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/templates/app.py.template +0 -0
  152. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/templates/cdk.json.template +0 -0
  153. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
  154. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/commandline_args.py +0 -0
  155. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/configuration_loader.py +0 -0
  156. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/docker_utilities.py +0 -0
  157. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/environment_services.py +0 -0
  158. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/file_operations.py +0 -0
  159. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/git_utilities.py +0 -0
  160. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
  161. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
  162. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utilities/os_execute.py +0 -0
  163. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
  164. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/validation/config_validator.py +0 -0
  165. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/src/cdk_factory/workload/workload_factory.py +0 -0
  166. {cdk_factory-0.17.3 → cdk_factory-0.17.5}/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.3
3
+ Version: 0.17.5
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.3"
36
+ version = "0.17.5"
37
37
  authors = [
38
38
  { name="Eric Wilson", email="eric.wilson@geekcafe.com" }
39
39
  ]
@@ -136,13 +136,10 @@ class VPCProviderMixin:
136
136
  "availability_zones": availability_zones,
137
137
  }
138
138
 
139
- # If we have subnet_ids from SSM, use the actual subnet IDs
139
+ # If we have subnet_ids from SSM, add them to the attributes
140
140
  if subnet_ids:
141
141
  # Use the actual subnet IDs from SSM
142
142
  vpc_attrs["public_subnet_ids"] = subnet_ids
143
- else:
144
- # Fallback to dummy subnets if no valid subnet IDs
145
- vpc_attrs["public_subnet_ids"] = ["subnet-dummy1", "subnet-dummy2"]
146
143
 
147
144
  # Use from_vpc_attributes() for SSM tokens with unique construct name
148
145
  self._vpc = ec2.Vpc.from_vpc_attributes(self, f"{self.stack_name}-VPC", **vpc_attrs)
@@ -111,6 +111,23 @@ 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 = ["us-east-1a", "us-east-1b", "us-east-1c"][:max_azs]
124
+ elif region == "us-east-2":
125
+ availability_zones = ["us-east-2a", "us-east-2b", "us-east-2c"][:max_azs]
126
+ elif region == "us-west-1":
127
+ availability_zones = ["us-west-1a", "us-west-1c"][:max_azs]
128
+ elif region == "us-west-2":
129
+ availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"][:max_azs]
130
+
114
131
  # Build VPC properties
115
132
  vpc_props = {
116
133
  "vpc_name": vpc_name,
@@ -119,7 +136,9 @@ class VpcStack(IStack, StandardizedSsmMixin):
119
136
  "subnet_configuration": subnet_configuration,
120
137
  "enable_dns_hostnames": self.vpc_config.enable_dns_hostnames,
121
138
  "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
139
+ "max_azs": self.vpc_config.max_azs if not availability_zones else None,
140
+ "availability_zones": availability_zones, # Use explicit AZs when available
141
+ "restrict_default_security_group": self.vpc_config.get("restrict_default_security_group", False),
123
142
  "gateway_endpoints": (
124
143
  {
125
144
  "S3": ec2.GatewayVpcEndpointOptions(
@@ -134,6 +153,10 @@ class VpcStack(IStack, StandardizedSsmMixin):
134
153
  # Create the VPC
135
154
  vpc = ec2.Vpc(self, vpc_name, **vpc_props)
136
155
 
156
+ # Add IAM permissions for default security group restriction if enabled
157
+ if self.vpc_config.get("restrict_default_security_group", False):
158
+ self._add_default_sg_restriction_permissions(vpc)
159
+
137
160
  # Add interface endpoints if specified
138
161
  if self.vpc_config.enable_interface_endpoints:
139
162
  self._add_interface_endpoints(vpc, self.vpc_config.interface_endpoints)
@@ -374,6 +397,31 @@ class VpcStack(IStack, StandardizedSsmMixin):
374
397
 
375
398
  logger.info(f"Exported SSM parameters: {exported_params}")
376
399
 
400
+ def _add_default_sg_restriction_permissions(self, vpc: ec2.Vpc) -> None:
401
+ """
402
+ Add IAM permissions required for default security group restriction.
403
+
404
+ CDK creates a custom resource that needs ec2:AuthorizeSecurityGroupIngress
405
+ permission to restrict the default security group.
406
+ """
407
+ from aws_cdk import aws_iam as iam
408
+
409
+ # Find the custom resource role that CDK creates for default SG restriction
410
+ # The role follows a naming pattern: {VpcName}-CustomVpcRestrictDefaultSGCustomResource*
411
+
412
+ # Grant the required permissions to all roles in this stack that might need it
413
+ # This is a broad approach since we can't easily predict the exact role name
414
+ for child in self.node.children:
415
+ if hasattr(child, 'role') and hasattr(child.role, 'add_to_policy'):
416
+ child.role.add_to_policy(iam.PolicyStatement(
417
+ actions=[
418
+ "ec2:AuthorizeSecurityGroupIngress",
419
+ "ec2:RevokeSecurityGroupIngress",
420
+ "ec2:UpdateSecurityGroupRuleDescriptionsIngress"
421
+ ],
422
+ resources=[vpc.vpc_default_security_group.security_group_arn]
423
+ ))
424
+
377
425
  # Backward compatibility methods
378
426
  def auto_export_resources(self, resource_values: Dict[str, Any], context: Dict[str, Any] = None) -> Dict[str, str]:
379
427
  """Backward compatibility method for existing modules."""
@@ -0,0 +1 @@
1
+ __version__ = "0.17.5"
@@ -1 +0,0 @@
1
- __version__ = "0.17.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes