cdk-factory 0.19.8__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.
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/PKG-INFO +1 -1
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/pyproject.toml +1 -1
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +14 -11
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +34 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +29 -2
- cdk_factory-0.19.10/src/cdk_factory/version.py +1 -0
- cdk_factory-0.19.8/src/cdk_factory/version.py +0 -1
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/.gitignore +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/.windsurfrules +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/LICENSE +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/REFACTORING_PLAN.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/archive/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/archive/migrate_to_enhanced_ssm.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/examples/json-imports/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/examples/separate-api-gateway/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/examples/separate-api-gateway/config.json +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/examples/separate-api-gateway/lambda-stack.json +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/mypy.ini +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/publish_to_pypi.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/publish_to_pypi.sh +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/pysetup.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/pysetup.sh +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/requirements.dev.txt +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/requirements.tests.txt +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/requirements.txt +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/run-checks.sh +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/run-tests-clean-venv.sh +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/run-tests.sh +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/scripts/cloudfront-cleanup.sh +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/app.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/builds/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/cdk.json +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/cli.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/commands/command_loader.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/base_config.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/cdk_config.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/deployment.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/deployment_wave.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/devops.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/management.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/pipeline.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/_resources.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/acm.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cognito.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/docker.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecr.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecs_cluster.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecs_service.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/rds.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/route53.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/rum.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/s3.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/security_group.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/sqs.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/vpc.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/workload.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/istack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/networked_stack_mixin.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/standardized_ssm_mixin.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/vpc_provider_mixin.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/lambdas/health_handler.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/path_utils.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/security/policies.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/security/roles.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/pipeline/stage.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack/istack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_factory.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_module_loader.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_module_registry.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack/stack_modules.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/buckets/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecr/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/stack_base.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/templates/README.md +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/templates/app.py.template +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/templates/cdk.json.template +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/commandline_args.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/configuration_loader.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/docker_utilities.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/environment_services.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/file_operations.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/git_utilities.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/os_execute.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/validation/config_validator.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/workload/workload_factory.py +0 -0
- {cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/handlers/test/handler.py +0 -0
|
@@ -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(
|
|
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(
|
|
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:
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py
RENAMED
|
@@ -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.
|
|
@@ -53,6 +53,8 @@ class LambdaEdgeStack(IStack, StandardizedSsmMixin):
|
|
|
53
53
|
self.workload: Optional[WorkloadConfig] = None
|
|
54
54
|
self.function: Optional[_lambda.Function] = None
|
|
55
55
|
self.function_version: Optional[_lambda.Version] = None
|
|
56
|
+
# Cache for resolved environment variables to prevent duplicate construct creation
|
|
57
|
+
self._resolved_env_cache: Optional[Dict[str, str]] = None
|
|
56
58
|
|
|
57
59
|
def build(
|
|
58
60
|
self,
|
|
@@ -101,12 +103,32 @@ class LambdaEdgeStack(IStack, StandardizedSsmMixin):
|
|
|
101
103
|
# Add outputs
|
|
102
104
|
self._add_outputs(function_name)
|
|
103
105
|
|
|
106
|
+
def _sanitize_construct_name(self, name: str) -> str:
|
|
107
|
+
"""
|
|
108
|
+
Create a deterministic, valid CDK construct name from any string.
|
|
109
|
+
Replaces non-alphanumeric characters with dashes and limits length.
|
|
110
|
+
"""
|
|
111
|
+
# Replace non-alphanumeric characters with dashes
|
|
112
|
+
sanitized = ''.join(c if c.isalnum() else '-' for c in name)
|
|
113
|
+
# Remove consecutive dashes
|
|
114
|
+
while '--' in sanitized:
|
|
115
|
+
sanitized = sanitized.replace('--', '-')
|
|
116
|
+
# Remove leading/trailing dashes
|
|
117
|
+
sanitized = sanitized.strip('-')
|
|
118
|
+
# Limit to 255 characters (CDK limit)
|
|
119
|
+
return sanitized[:255]
|
|
120
|
+
|
|
104
121
|
def _resolve_environment_variables(self) -> Dict[str, str]:
|
|
105
122
|
"""
|
|
106
123
|
Resolve environment variables, including SSM parameter references.
|
|
107
124
|
Supports {{ssm:parameter-path}} syntax for dynamic SSM lookups.
|
|
108
125
|
Uses CDK tokens that resolve at deployment time, not synthesis time.
|
|
126
|
+
Caches results to prevent duplicate construct creation.
|
|
109
127
|
"""
|
|
128
|
+
# Return cached result if available
|
|
129
|
+
if self._resolved_env_cache is not None:
|
|
130
|
+
return self._resolved_env_cache
|
|
131
|
+
|
|
110
132
|
resolved_env = {}
|
|
111
133
|
|
|
112
134
|
for key, value in self.edge_config.environment.items():
|
|
@@ -115,18 +137,23 @@ class LambdaEdgeStack(IStack, StandardizedSsmMixin):
|
|
|
115
137
|
# Extract SSM parameter path
|
|
116
138
|
ssm_param_path = value[6:-2] # Remove {{ssm: and }}
|
|
117
139
|
|
|
140
|
+
# Create deterministic construct name from parameter path
|
|
141
|
+
construct_name = self._sanitize_construct_name(f"env-{key}-{ssm_param_path}")
|
|
142
|
+
|
|
118
143
|
# Import SSM parameter - this creates a token that resolves at deployment time
|
|
119
144
|
param = ssm.StringParameter.from_string_parameter_name(
|
|
120
145
|
self,
|
|
121
|
-
|
|
146
|
+
construct_name,
|
|
122
147
|
ssm_param_path
|
|
123
148
|
)
|
|
124
149
|
resolved_value = param.string_value
|
|
125
|
-
logger.info(f"Resolved environment variable {key} from SSM {ssm_param_path}")
|
|
150
|
+
logger.info(f"Resolved environment variable {key} from SSM {ssm_param_path} as {construct_name}")
|
|
126
151
|
resolved_env[key] = resolved_value
|
|
127
152
|
else:
|
|
128
153
|
resolved_env[key] = value
|
|
129
154
|
|
|
155
|
+
# Cache the result
|
|
156
|
+
self._resolved_env_cache = resolved_env
|
|
130
157
|
return resolved_env
|
|
131
158
|
|
|
132
159
|
def _create_lambda_function(self, function_name: str) -> None:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.19.10"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.19.8"
|
|
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.19.8 → cdk_factory-0.19.10}/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
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/deployment_wave.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/enhanced_base_config.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/enhanced_ssm_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/_resources.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/api_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/auto_scaling.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cloudfront.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/code_artifact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/cognito.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/docker.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/dynamodb.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecs_cluster.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/ecs_service.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/exisiting.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_edge.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/lambda_layers.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/load_balancer.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/monitoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/configurations/resources/route53.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
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/networked_stack_mixin.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/interfaces/standardized_ssm_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.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/auto_scaling/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/buckets/bucket_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cloudfront/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/cognito/cognito_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/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.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/ecs/ecs_cluster_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/lambda_edge/__init__.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/load_balancer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/monitoring/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/route53/__init__.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/stack_library/route53/route53_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/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.19.8 → cdk_factory-0.19.10}/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
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/configuration_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/environment_services.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/json_loading_utility.py
RENAMED
|
File without changes
|
{cdk_factory-0.19.8 → cdk_factory-0.19.10}/src/cdk_factory/utilities/lambda_function_utilities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|