cdk-factory 0.15.4__tar.gz → 0.15.6__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.
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/PKG-INFO +1 -1
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/pyproject.toml +1 -1
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/ecs_service.py +4 -1
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/load_balancer.py +8 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/rds.py +3 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/security_group_full_stack.py +3 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +76 -8
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +92 -4
- cdk_factory-0.15.6/src/cdk_factory/version.py +1 -0
- cdk_factory-0.15.4/src/cdk_factory/version.py +0 -1
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/.gitignore +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/.windsurfrules +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/LICENSE +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/archive/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/archive/migrate_to_enhanced_ssm.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/examples/json-imports/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/examples/separate-api-gateway/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/examples/separate-api-gateway/config.json +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/examples/separate-api-gateway/lambda-stack.json +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/mypy.ini +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/publish_to_pypi.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/publish_to_pypi.sh +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/pysetup.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/pysetup.sh +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/requirements.dev.txt +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/requirements.tests.txt +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/requirements.txt +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/run-checks.sh +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/run-tests-clean-venv.sh +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/run-tests.sh +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/scripts/cloudfront-cleanup.sh +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/app.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/builds/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/cdk.json +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/cli.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/commands/command_loader.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/base_config.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/cdk_config.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/deployment.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/deployment_wave.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/devops.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/management.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/pipeline.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/_resources.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/cognito.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/docker.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/ecr.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/route53.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/rum.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/s3.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/security_group.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/sqs.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/vpc.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/workload.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/interfaces/istack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/interfaces/ssm_parameter_mixin.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/lambdas/health_handler.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/pipeline/path_utils.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/pipeline/security/policies.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/pipeline/security/roles.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/pipeline/stage.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack/istack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack/stack_factory.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack/stack_module_loader.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack/stack_module_registry.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack/stack_modules.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/buckets/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/ecr/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/stack_base.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/templates/README.md +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/templates/app.py.template +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/templates/cdk.json.template +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/commandline_args.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/configuration_loader.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/docker_utilities.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/environment_services.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/file_operations.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/git_utilities.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/os_execute.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/workload/workload_factory.py +0 -0
- {cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/handlers/test/handler.py +0 -0
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/ecs_service.py
RENAMED
|
@@ -129,8 +129,11 @@ class EcsServiceConfig:
|
|
|
129
129
|
return self._config.get("ssm_exports", {})
|
|
130
130
|
|
|
131
131
|
@property
|
|
132
|
-
def ssm_imports(self) -> Dict[str,
|
|
132
|
+
def ssm_imports(self) -> Dict[str, Any]:
|
|
133
133
|
"""SSM parameter imports"""
|
|
134
|
+
# Check both nested and flat structures for backwards compatibility
|
|
135
|
+
if "ssm" in self._config and "imports" in self._config["ssm"]:
|
|
136
|
+
return self._config["ssm"]["imports"]
|
|
134
137
|
return self._config.get("ssm_imports", {})
|
|
135
138
|
|
|
136
139
|
@property
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/load_balancer.py
RENAMED
|
@@ -143,3 +143,11 @@ class LoadBalancerConfig(EnhancedBaseConfig):
|
|
|
143
143
|
return self.__config.get("ip_whitelist", {}).get(
|
|
144
144
|
"block_response", default_response
|
|
145
145
|
)
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def ssm_imports(self) -> Dict[str, Any]:
|
|
149
|
+
"""SSM parameter imports for the Load Balancer"""
|
|
150
|
+
# Check both nested and flat structures for backwards compatibility
|
|
151
|
+
if "ssm" in self.__config and "imports" in self.__config["ssm"]:
|
|
152
|
+
return self.__config["ssm"]["imports"]
|
|
153
|
+
return self.__config.get("ssm_imports", {})
|
|
@@ -134,4 +134,7 @@ class RdsConfig(EnhancedBaseConfig):
|
|
|
134
134
|
@property
|
|
135
135
|
def ssm_imports(self) -> Dict[str, str]:
|
|
136
136
|
"""SSM parameter imports for the RDS instance"""
|
|
137
|
+
# Check both nested and flat structures for backwards compatibility
|
|
138
|
+
if "ssm" in self.__config and "imports" in self.__config["ssm"]:
|
|
139
|
+
return self.__config["ssm"]["imports"]
|
|
137
140
|
return self.__config.get("ssm_imports", {})
|
|
@@ -65,4 +65,7 @@ class SecurityGroupFullStackConfig:
|
|
|
65
65
|
@property
|
|
66
66
|
def ssm_imports(self) -> Dict[str, str]:
|
|
67
67
|
"""SSM parameter imports for the Security Group"""
|
|
68
|
+
# Check both nested and flat structures for backwards compatibility
|
|
69
|
+
if "ssm" in self.__config and "imports" in self.__config["ssm"]:
|
|
70
|
+
return self.__config["ssm"]["imports"]
|
|
68
71
|
return self.__config.get("ssm_imports", {})
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py
RENAMED
|
@@ -49,6 +49,8 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
|
|
|
49
49
|
self.service: Optional[ecs.FargateService] = None
|
|
50
50
|
self.task_definition: Optional[ecs.FargateTaskDefinition] = None
|
|
51
51
|
self._vpc: Optional[ec2.IVpc] = None
|
|
52
|
+
# SSM imported values
|
|
53
|
+
self.ssm_imported_values: Dict[str, Any] = {}
|
|
52
54
|
|
|
53
55
|
def build(
|
|
54
56
|
self,
|
|
@@ -77,6 +79,9 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
|
|
|
77
79
|
|
|
78
80
|
service_name = deployment.build_resource_name(self.ecs_config.name)
|
|
79
81
|
|
|
82
|
+
# Process SSM imports first
|
|
83
|
+
self._process_ssm_imports()
|
|
84
|
+
|
|
80
85
|
# Load VPC
|
|
81
86
|
self._load_vpc()
|
|
82
87
|
|
|
@@ -98,16 +103,79 @@ class EcsServiceStack(IStack, EnhancedSsmParameterMixin):
|
|
|
98
103
|
|
|
99
104
|
def _load_vpc(self) -> None:
|
|
100
105
|
"""Load VPC from configuration"""
|
|
101
|
-
|
|
106
|
+
# Check SSM imported values first
|
|
107
|
+
if "vpc_id" in self.ssm_imported_values:
|
|
108
|
+
vpc_id = self.ssm_imported_values["vpc_id"]
|
|
109
|
+
|
|
110
|
+
# Build VPC attributes
|
|
111
|
+
vpc_attrs = {
|
|
112
|
+
"vpc_id": vpc_id,
|
|
113
|
+
"availability_zones": ["us-east-1a", "us-east-1b"]
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
# Use from_vpc_attributes() for SSM tokens
|
|
117
|
+
self._vpc = ec2.Vpc.from_vpc_attributes(self, "VPC", **vpc_attrs)
|
|
118
|
+
else:
|
|
119
|
+
vpc_id = self.ecs_config.vpc_id or self.workload.vpc_id
|
|
120
|
+
|
|
121
|
+
if not vpc_id:
|
|
122
|
+
raise ValueError("VPC ID is required for ECS service")
|
|
123
|
+
|
|
124
|
+
self._vpc = ec2.Vpc.from_lookup(
|
|
125
|
+
self,
|
|
126
|
+
"VPC",
|
|
127
|
+
vpc_id=vpc_id
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
def _process_ssm_imports(self) -> None:
|
|
131
|
+
"""
|
|
132
|
+
Process SSM imports from configuration.
|
|
133
|
+
Follows the same pattern as RDS, Load Balancer, and Security Group stacks.
|
|
134
|
+
"""
|
|
135
|
+
from aws_cdk import aws_ssm as ssm
|
|
102
136
|
|
|
103
|
-
|
|
104
|
-
raise ValueError("VPC ID is required for ECS service")
|
|
137
|
+
ssm_imports = self.ecs_config.ssm_imports
|
|
105
138
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
)
|
|
139
|
+
if not ssm_imports:
|
|
140
|
+
logger.debug("No SSM imports configured for ECS Service")
|
|
141
|
+
return
|
|
142
|
+
|
|
143
|
+
logger.info(f"Processing {len(ssm_imports)} SSM imports for ECS Service")
|
|
144
|
+
|
|
145
|
+
for param_key, param_value in ssm_imports.items():
|
|
146
|
+
try:
|
|
147
|
+
# Handle list values (like security_group_ids)
|
|
148
|
+
if isinstance(param_value, list):
|
|
149
|
+
imported_list = []
|
|
150
|
+
for idx, param_path in enumerate(param_value):
|
|
151
|
+
if not param_path.startswith('/'):
|
|
152
|
+
param_path = f"/{param_path}"
|
|
153
|
+
|
|
154
|
+
construct_id = f"ssm-import-{param_key}-{idx}-{hash(param_path) % 10000}"
|
|
155
|
+
param = ssm.StringParameter.from_string_parameter_name(
|
|
156
|
+
self, construct_id, param_path
|
|
157
|
+
)
|
|
158
|
+
imported_list.append(param.string_value)
|
|
159
|
+
|
|
160
|
+
self.ssm_imported_values[param_key] = imported_list
|
|
161
|
+
logger.info(f"Imported SSM parameter list: {param_key} with {len(imported_list)} items")
|
|
162
|
+
else:
|
|
163
|
+
# Handle string values
|
|
164
|
+
param_path = param_value
|
|
165
|
+
if not param_path.startswith('/'):
|
|
166
|
+
param_path = f"/{param_path}"
|
|
167
|
+
|
|
168
|
+
construct_id = f"ssm-import-{param_key}-{hash(param_path) % 10000}"
|
|
169
|
+
param = ssm.StringParameter.from_string_parameter_name(
|
|
170
|
+
self, construct_id, param_path
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
self.ssm_imported_values[param_key] = param.string_value
|
|
174
|
+
logger.info(f"Imported SSM parameter: {param_key} from {param_path}")
|
|
175
|
+
|
|
176
|
+
except Exception as e:
|
|
177
|
+
logger.error(f"Failed to import SSM parameter {param_key}: {e}")
|
|
178
|
+
raise
|
|
111
179
|
|
|
112
180
|
def _create_or_load_cluster(self) -> None:
|
|
113
181
|
"""Create a new ECS cluster or load an existing one"""
|
|
@@ -48,6 +48,8 @@ class LoadBalancerStack(IStack, EnhancedSsmParameterMixin):
|
|
|
48
48
|
self._vpc = None
|
|
49
49
|
self._hosted_zone = None
|
|
50
50
|
self._record_names = None
|
|
51
|
+
# SSM imported values
|
|
52
|
+
self.ssm_imported_values: Dict[str, str] = {}
|
|
51
53
|
|
|
52
54
|
def build(
|
|
53
55
|
self,
|
|
@@ -74,6 +76,9 @@ class LoadBalancerStack(IStack, EnhancedSsmParameterMixin):
|
|
|
74
76
|
)
|
|
75
77
|
lb_name = deployment.build_resource_name(self.lb_config.name)
|
|
76
78
|
|
|
79
|
+
# Process SSM imports first
|
|
80
|
+
self._process_ssm_imports()
|
|
81
|
+
|
|
77
82
|
self._prep_dns()
|
|
78
83
|
|
|
79
84
|
# set up SSL certificate if configured
|
|
@@ -148,6 +153,18 @@ class LoadBalancerStack(IStack, EnhancedSsmParameterMixin):
|
|
|
148
153
|
if self._vpc:
|
|
149
154
|
return self._vpc
|
|
150
155
|
|
|
156
|
+
# Check SSM imported values first (tokens from SSM parameters)
|
|
157
|
+
if "vpc_id" in self.ssm_imported_values:
|
|
158
|
+
vpc_id = self.ssm_imported_values["vpc_id"]
|
|
159
|
+
|
|
160
|
+
# Build VPC attributes
|
|
161
|
+
vpc_attrs = {
|
|
162
|
+
"vpc_id": vpc_id,
|
|
163
|
+
"availability_zones": ["us-east-1a", "us-east-1b"]
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
# Use from_vpc_attributes() instead of from_lookup() because SSM imports return tokens
|
|
167
|
+
self._vpc = ec2.Vpc.from_vpc_attributes(self, "VPC", **vpc_attrs)
|
|
151
168
|
elif self.lb_config.vpc_id:
|
|
152
169
|
self._vpc = ec2.Vpc.from_lookup(self, "VPC", vpc_id=self.lb_config.vpc_id)
|
|
153
170
|
elif self.workload.vpc_id:
|
|
@@ -162,13 +179,72 @@ class LoadBalancerStack(IStack, EnhancedSsmParameterMixin):
|
|
|
162
179
|
|
|
163
180
|
return self._vpc
|
|
164
181
|
|
|
182
|
+
def _process_ssm_imports(self) -> None:
|
|
183
|
+
"""
|
|
184
|
+
Process SSM imports from configuration.
|
|
185
|
+
Follows the same pattern as RDS and Security Group stacks.
|
|
186
|
+
"""
|
|
187
|
+
from aws_cdk import aws_ssm as ssm
|
|
188
|
+
|
|
189
|
+
ssm_imports = self.lb_config.ssm_imports
|
|
190
|
+
|
|
191
|
+
if not ssm_imports:
|
|
192
|
+
logger.debug("No SSM imports configured for Load Balancer")
|
|
193
|
+
return
|
|
194
|
+
|
|
195
|
+
logger.info(f"Processing {len(ssm_imports)} SSM imports for Load Balancer")
|
|
196
|
+
|
|
197
|
+
for param_key, param_value in ssm_imports.items():
|
|
198
|
+
try:
|
|
199
|
+
# Handle list values (like security_groups)
|
|
200
|
+
if isinstance(param_value, list):
|
|
201
|
+
imported_list = []
|
|
202
|
+
for idx, param_path in enumerate(param_value):
|
|
203
|
+
if not param_path.startswith('/'):
|
|
204
|
+
param_path = f"/{param_path}"
|
|
205
|
+
|
|
206
|
+
construct_id = f"ssm-import-{param_key}-{idx}-{hash(param_path) % 10000}"
|
|
207
|
+
param = ssm.StringParameter.from_string_parameter_name(
|
|
208
|
+
self, construct_id, param_path
|
|
209
|
+
)
|
|
210
|
+
imported_list.append(param.string_value)
|
|
211
|
+
|
|
212
|
+
self.ssm_imported_values[param_key] = imported_list
|
|
213
|
+
logger.info(f"Imported SSM parameter list: {param_key} with {len(imported_list)} items")
|
|
214
|
+
else:
|
|
215
|
+
# Handle string values
|
|
216
|
+
param_path = param_value
|
|
217
|
+
if not param_path.startswith('/'):
|
|
218
|
+
param_path = f"/{param_path}"
|
|
219
|
+
|
|
220
|
+
construct_id = f"ssm-import-{param_key}-{hash(param_path) % 10000}"
|
|
221
|
+
param = ssm.StringParameter.from_string_parameter_name(
|
|
222
|
+
self, construct_id, param_path
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
self.ssm_imported_values[param_key] = param.string_value
|
|
226
|
+
logger.info(f"Imported SSM parameter: {param_key} from {param_path}")
|
|
227
|
+
|
|
228
|
+
except Exception as e:
|
|
229
|
+
logger.error(f"Failed to import SSM parameter {param_key}: {e}")
|
|
230
|
+
raise
|
|
231
|
+
|
|
165
232
|
def _get_security_groups(self) -> List[ec2.ISecurityGroup]:
|
|
166
233
|
"""Get security groups for the Load Balancer"""
|
|
167
234
|
security_groups = []
|
|
168
|
-
|
|
235
|
+
|
|
236
|
+
# Check SSM imported values first
|
|
237
|
+
if "security_groups" in self.ssm_imported_values:
|
|
238
|
+
sg_ids = self.ssm_imported_values["security_groups"]
|
|
239
|
+
if not isinstance(sg_ids, list):
|
|
240
|
+
sg_ids = [sg_ids]
|
|
241
|
+
else:
|
|
242
|
+
sg_ids = self.lb_config.security_groups
|
|
243
|
+
|
|
244
|
+
for idx, sg_id in enumerate(sg_ids):
|
|
169
245
|
security_groups.append(
|
|
170
246
|
ec2.SecurityGroup.from_security_group_id(
|
|
171
|
-
self, f"SecurityGroup-{
|
|
247
|
+
self, f"SecurityGroup-{idx}", sg_id
|
|
172
248
|
)
|
|
173
249
|
)
|
|
174
250
|
return security_groups
|
|
@@ -176,9 +252,21 @@ class LoadBalancerStack(IStack, EnhancedSsmParameterMixin):
|
|
|
176
252
|
def _get_subnets(self) -> List[ec2.ISubnet]:
|
|
177
253
|
"""Get subnets for the Load Balancer"""
|
|
178
254
|
subnets = []
|
|
179
|
-
|
|
255
|
+
|
|
256
|
+
# Check SSM imported values first
|
|
257
|
+
if "subnet_ids" in self.ssm_imported_values:
|
|
258
|
+
subnet_ids = self.ssm_imported_values["subnet_ids"]
|
|
259
|
+
# SSM returns comma-separated string for StringList, need to split
|
|
260
|
+
if isinstance(subnet_ids, str):
|
|
261
|
+
subnet_ids = [s.strip() for s in subnet_ids.split(',')]
|
|
262
|
+
elif not isinstance(subnet_ids, list):
|
|
263
|
+
subnet_ids = [subnet_ids]
|
|
264
|
+
else:
|
|
265
|
+
subnet_ids = self.lb_config.subnets
|
|
266
|
+
|
|
267
|
+
for idx, subnet_id in enumerate(subnet_ids):
|
|
180
268
|
subnets.append(
|
|
181
|
-
ec2.Subnet.from_subnet_id(self, f"Subnet-{
|
|
269
|
+
ec2.Subnet.from_subnet_id(self, f"Subnet-{idx}", subnet_id)
|
|
182
270
|
)
|
|
183
271
|
return subnets
|
|
184
272
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.15.6"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.15.4"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/examples/separate-api-gateway/api-gateway-stack.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/enhanced_base_config.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/enhanced_ssm_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/_resources.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/api_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/auto_scaling.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/cloudfront.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/code_artifact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/cognito.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/docker.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/dynamodb.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/exisiting.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/lambda_edge.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/lambda_layers.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/monitoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/resource_types.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/route53.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/configurations/resources/security_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/auto_scaling/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/buckets/bucket_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/cloudfront/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/cognito/cognito_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/lambda_edge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/load_balancer/__init__.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/monitoring/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/route53/route53_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stack_library/security_group/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/stages/websites/static_website_stage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.4 → cdk_factory-0.15.6}/src/cdk_factory/utilities/lambda_function_utilities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|