cdk-factory 0.16.3__tar.gz → 0.16.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.
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/PKG-INFO +1 -1
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/pyproject.toml +1 -1
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/auto_scaling.py +5 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/rds.py +11 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +75 -22
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/rds/rds_stack.py +9 -0
- cdk_factory-0.16.5/src/cdk_factory/version.py +1 -0
- cdk_factory-0.16.3/src/cdk_factory/version.py +0 -1
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/.gitignore +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/.windsurfrules +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/LICENSE +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/archive/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/archive/migrate_to_enhanced_ssm.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/examples/json-imports/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/examples/separate-api-gateway/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/examples/separate-api-gateway/config.json +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/examples/separate-api-gateway/lambda-stack.json +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/mypy.ini +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/publish_to_pypi.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/publish_to_pypi.sh +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/pysetup.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/pysetup.sh +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/requirements.dev.txt +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/requirements.tests.txt +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/requirements.txt +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/run-checks.sh +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/run-tests-clean-venv.sh +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/run-tests.sh +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/scripts/cloudfront-cleanup.sh +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/app.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/builds/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/cdk.json +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/cli.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/commands/command_loader.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/base_config.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/cdk_config.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/deployment.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/deployment_wave.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/devops.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/management.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/pipeline.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/_resources.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/acm.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/cognito.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/docker.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/ecr.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/ecs_service.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/route53.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/rum.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/s3.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/security_group.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/sqs.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/vpc.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/workload.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/interfaces/istack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/interfaces/ssm_parameter_mixin.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/lambdas/health_handler.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/pipeline/path_utils.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/pipeline/security/policies.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/pipeline/security/roles.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/pipeline/stage.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack/istack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack/stack_factory.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack/stack_module_loader.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack/stack_module_registry.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack/stack_modules.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/acm/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/acm/acm_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/buckets/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/ecr/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/stack_base.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/websites/static_website_stack.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/templates/README.md +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/templates/app.py.template +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/templates/cdk.json.template +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/commandline_args.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/configuration_loader.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/docker_utilities.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/environment_services.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/file_operations.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/git_utilities.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/os_execute.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/workload/workload_factory.py +0 -0
- {cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/handlers/test/handler.py +0 -0
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/auto_scaling.py
RENAMED
|
@@ -175,3 +175,8 @@ class AutoScalingConfig(EnhancedBaseConfig):
|
|
|
175
175
|
def key_name(self) -> Optional[str]:
|
|
176
176
|
"""EC2 key pair name for SSH access"""
|
|
177
177
|
return self.__config.get("key_name")
|
|
178
|
+
|
|
179
|
+
@property
|
|
180
|
+
def ssm_imports(self) -> Dict[str, Any]:
|
|
181
|
+
"""SSM imports for the Auto Scaling Group"""
|
|
182
|
+
return self.__config.get("ssm", {}).get("imports", {})
|
|
@@ -155,6 +155,12 @@ class RdsConfig(EnhancedBaseConfig):
|
|
|
155
155
|
"""Allocated storage in GB"""
|
|
156
156
|
# Ensure we return an integer
|
|
157
157
|
return int(self.__config.get("allocated_storage", 20))
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
def max_allocated_storage(self) -> Optional[int]:
|
|
161
|
+
"""Maximum storage for auto-scaling in GB (enables storage auto-scaling if set)"""
|
|
162
|
+
max_storage = self.__config.get("max_allocated_storage")
|
|
163
|
+
return int(max_storage) if max_storage is not None else None
|
|
158
164
|
|
|
159
165
|
@property
|
|
160
166
|
def storage_encrypted(self) -> bool:
|
|
@@ -180,6 +186,11 @@ class RdsConfig(EnhancedBaseConfig):
|
|
|
180
186
|
def enable_performance_insights(self) -> bool:
|
|
181
187
|
"""Whether to enable Performance Insights"""
|
|
182
188
|
return self.__config.get("enable_performance_insights", True)
|
|
189
|
+
|
|
190
|
+
@property
|
|
191
|
+
def allow_major_version_upgrade(self) -> bool:
|
|
192
|
+
"""Whether to allow major version upgrades"""
|
|
193
|
+
return self.__config.get("allow_major_version_upgrade", False)
|
|
183
194
|
|
|
184
195
|
@property
|
|
185
196
|
def subnet_group_name(self) -> str:
|
|
@@ -47,6 +47,8 @@ class AutoScalingStack(IStack, EnhancedSsmParameterMixin):
|
|
|
47
47
|
self.instance_role = None
|
|
48
48
|
self.user_data = None
|
|
49
49
|
self._vpc = None
|
|
50
|
+
# SSM imported values
|
|
51
|
+
self.ssm_imported_values: Dict[str, str] = {}
|
|
50
52
|
|
|
51
53
|
def build(
|
|
52
54
|
self,
|
|
@@ -73,6 +75,9 @@ class AutoScalingStack(IStack, EnhancedSsmParameterMixin):
|
|
|
73
75
|
)
|
|
74
76
|
asg_name = deployment.build_resource_name(self.asg_config.name)
|
|
75
77
|
|
|
78
|
+
# Process SSM imports
|
|
79
|
+
self._process_ssm_imports()
|
|
80
|
+
|
|
76
81
|
# Get VPC and security groups
|
|
77
82
|
self.security_groups = self._get_security_groups()
|
|
78
83
|
|
|
@@ -97,11 +102,28 @@ class AutoScalingStack(IStack, EnhancedSsmParameterMixin):
|
|
|
97
102
|
@property
|
|
98
103
|
def vpc(self) -> ec2.IVpc:
|
|
99
104
|
"""Get the VPC for the Auto Scaling Group"""
|
|
100
|
-
# Assuming VPC is provided by the workload
|
|
101
|
-
|
|
102
105
|
if self._vpc:
|
|
103
106
|
return self._vpc
|
|
104
107
|
|
|
108
|
+
# Check SSM imported values first (tokens from SSM parameters)
|
|
109
|
+
if "vpc_id" in self.ssm_imported_values:
|
|
110
|
+
vpc_id = self.ssm_imported_values["vpc_id"]
|
|
111
|
+
|
|
112
|
+
# Build VPC attributes
|
|
113
|
+
vpc_attrs = {
|
|
114
|
+
"vpc_id": vpc_id,
|
|
115
|
+
"availability_zones": ["us-east-1a", "us-east-1b"],
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
# If we have subnet_ids from SSM, provide dummy subnets
|
|
119
|
+
# The actual subnets will be set via CloudFormation escape hatch
|
|
120
|
+
if "subnet_ids" in self.ssm_imported_values:
|
|
121
|
+
# Provide dummy subnet IDs - these will be overridden by the escape hatch
|
|
122
|
+
# We need at least one dummy subnet per AZ to satisfy CDK's validation
|
|
123
|
+
vpc_attrs["public_subnet_ids"] = ["subnet-dummy1", "subnet-dummy2"]
|
|
124
|
+
|
|
125
|
+
# Use from_vpc_attributes() for SSM tokens
|
|
126
|
+
self._vpc = ec2.Vpc.from_vpc_attributes(self, "VPC", **vpc_attrs)
|
|
105
127
|
elif self.asg_config.vpc_id:
|
|
106
128
|
self._vpc = ec2.Vpc.from_lookup(self, "VPC", vpc_id=self.asg_config.vpc_id)
|
|
107
129
|
elif self.workload.vpc_id:
|
|
@@ -120,18 +142,13 @@ class AutoScalingStack(IStack, EnhancedSsmParameterMixin):
|
|
|
120
142
|
"""Get target group ARNs from SSM imports"""
|
|
121
143
|
target_group_arns = []
|
|
122
144
|
|
|
123
|
-
#
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
# Look for target group ARN imports
|
|
132
|
-
for key, value in imported_values.items():
|
|
133
|
-
if "target_group" in key and "arn" in key:
|
|
134
|
-
target_group_arns.append(value)
|
|
145
|
+
# Check if we have SSM imports for target groups
|
|
146
|
+
if "target_group_arns" in self.ssm_imported_values:
|
|
147
|
+
imported_tg_arns = self.ssm_imported_values["target_group_arns"]
|
|
148
|
+
if isinstance(imported_tg_arns, list):
|
|
149
|
+
target_group_arns.extend(imported_tg_arns)
|
|
150
|
+
else:
|
|
151
|
+
target_group_arns.append(imported_tg_arns)
|
|
135
152
|
|
|
136
153
|
# see if we have any directly defined in the config
|
|
137
154
|
if self.asg_config.target_group_arns:
|
|
@@ -562,11 +579,47 @@ class AutoScalingStack(IStack, EnhancedSsmParameterMixin):
|
|
|
562
579
|
export_name=f"{self.deployment.build_resource_name(asg_name)}-launch-template-id",
|
|
563
580
|
)
|
|
564
581
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
582
|
+
def _process_ssm_imports(self) -> None:
|
|
583
|
+
"""
|
|
584
|
+
Process SSM imports from configuration.
|
|
585
|
+
|
|
586
|
+
This method handles importing SSM parameters that are specified in the
|
|
587
|
+
auto_scaling configuration under the 'ssm.imports' section.
|
|
588
|
+
"""
|
|
589
|
+
logger.info(f"Processing {len(self.asg_config.ssm_imports)} SSM imports for Auto Scaling Group")
|
|
590
|
+
|
|
591
|
+
for param_key, param_value in self.asg_config.ssm_imports.items():
|
|
592
|
+
try:
|
|
593
|
+
if isinstance(param_value, list):
|
|
594
|
+
# Handle list imports (like security_group_ids)
|
|
595
|
+
imported_list = []
|
|
596
|
+
for item in param_value:
|
|
597
|
+
param_path = item
|
|
598
|
+
if not param_path.startswith('/'):
|
|
599
|
+
param_path = f"/{self.deployment.environment}/{self.deployment.workload_name}/{item}"
|
|
600
|
+
|
|
601
|
+
construct_id = f"ssm-import-{param_key}-{hash(param_path) % 10000}"
|
|
602
|
+
param = ssm.StringParameter.from_string_parameter_name(
|
|
603
|
+
self, construct_id, param_path
|
|
604
|
+
)
|
|
605
|
+
imported_list.append(param.string_value)
|
|
606
|
+
|
|
607
|
+
self.ssm_imported_values[param_key] = imported_list
|
|
608
|
+
logger.info(f"Imported SSM parameter list: {param_key} with {len(imported_list)} items")
|
|
609
|
+
else:
|
|
610
|
+
# Handle string values
|
|
611
|
+
param_path = param_value
|
|
612
|
+
if not param_path.startswith('/'):
|
|
613
|
+
param_path = f"/{self.deployment.environment}/{self.deployment.workload_name}/{param_path}"
|
|
614
|
+
|
|
615
|
+
construct_id = f"ssm-import-{param_key}-{hash(param_path) % 10000}"
|
|
616
|
+
param = ssm.StringParameter.from_string_parameter_name(
|
|
617
|
+
self, construct_id, param_path
|
|
618
|
+
)
|
|
619
|
+
|
|
620
|
+
self.ssm_imported_values[param_key] = param.string_value
|
|
621
|
+
logger.info(f"Imported SSM parameter: {param_key} from {param_path}")
|
|
622
|
+
|
|
623
|
+
except Exception as e:
|
|
624
|
+
logger.error(f"Failed to import SSM parameter {param_key}: {e}")
|
|
625
|
+
raise
|
|
@@ -244,9 +244,18 @@ class RdsStack(IStack, EnhancedSsmParameterMixin):
|
|
|
244
244
|
"backup_retention": Duration.days(self.rds_config.backup_retention),
|
|
245
245
|
"cloudwatch_logs_exports": self.rds_config.cloudwatch_logs_exports,
|
|
246
246
|
"enable_performance_insights": self.rds_config.enable_performance_insights,
|
|
247
|
+
"allow_major_version_upgrade": self.rds_config.allow_major_version_upgrade,
|
|
247
248
|
"removal_policy": removal_policy,
|
|
248
249
|
}
|
|
249
250
|
|
|
251
|
+
# Add storage auto-scaling if max_allocated_storage is configured
|
|
252
|
+
if self.rds_config.max_allocated_storage:
|
|
253
|
+
db_props["max_allocated_storage"] = self.rds_config.max_allocated_storage
|
|
254
|
+
logger.info(
|
|
255
|
+
f"Storage auto-scaling enabled: {self.rds_config.allocated_storage}GB "
|
|
256
|
+
f"-> {self.rds_config.max_allocated_storage}GB"
|
|
257
|
+
)
|
|
258
|
+
|
|
250
259
|
# Use either subnet group or vpc_subnets depending on what's available
|
|
251
260
|
if db_subnet_group:
|
|
252
261
|
db_props["subnet_group"] = rds.SubnetGroup.from_subnet_group_name(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.16.5"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.16.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
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/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.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/enhanced_base_config.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/enhanced_ssm_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/_resources.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/api_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/cloudfront.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/code_artifact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/cognito.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/docker.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/dynamodb.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/ecs_service.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/exisiting.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/lambda_edge.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/lambda_layers.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/load_balancer.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/monitoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/resource_types.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/configurations/resources/route53.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/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
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/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.16.3 → cdk_factory-0.16.5}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/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
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/auto_scaling/__init__.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/buckets/bucket_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/cloudfront/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/cognito/cognito_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/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.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/lambda_edge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/load_balancer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/monitoring/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/src/cdk_factory/stack_library/route53/route53_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.16.3 → cdk_factory-0.16.5}/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.16.3 → cdk_factory-0.16.5}/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.16.3 → cdk_factory-0.16.5}/src/cdk_factory/utilities/lambda_function_utilities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|