cdk-factory 0.13.6__py3-none-any.whl → 0.14.1__py3-none-any.whl
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/configurations/enhanced_base_config.py +2 -2
- cdk_factory/configurations/enhanced_ssm_config.py +62 -4
- cdk_factory/configurations/resources/rds.py +3 -1
- cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +39 -9
- cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +3 -2
- cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py +20 -2
- cdk_factory/stack_library/websites/static_website_stack.py +2 -3
- cdk_factory/utilities/docker_utilities.py +7 -2
- cdk_factory/version.py +1 -1
- {cdk_factory-0.13.6.dist-info → cdk_factory-0.14.1.dist-info}/METADATA +1 -1
- {cdk_factory-0.13.6.dist-info → cdk_factory-0.14.1.dist-info}/RECORD +14 -14
- {cdk_factory-0.13.6.dist-info → cdk_factory-0.14.1.dist-info}/WHEEL +0 -0
- {cdk_factory-0.13.6.dist-info → cdk_factory-0.14.1.dist-info}/entry_points.txt +0 -0
- {cdk_factory-0.13.6.dist-info → cdk_factory-0.14.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -66,9 +66,9 @@ class EnhancedBaseConfig(BaseConfig):
|
|
|
66
66
|
return self.ssm_workload
|
|
67
67
|
|
|
68
68
|
@property
|
|
69
|
-
def ssm_environment(self) -> str:
|
|
69
|
+
def ssm_environment(self) -> str | None:
|
|
70
70
|
"""Get the environment name for SSM parameter paths"""
|
|
71
|
-
return self._enhanced_ssm.environment if self._enhanced_ssm else
|
|
71
|
+
return self._enhanced_ssm.environment if self._enhanced_ssm else None
|
|
72
72
|
|
|
73
73
|
@property
|
|
74
74
|
def ssm_pattern(self) -> str:
|
|
@@ -32,10 +32,14 @@ class EnhancedSsmConfig:
|
|
|
32
32
|
config: Dict,
|
|
33
33
|
resource_type: str,
|
|
34
34
|
resource_name: str,
|
|
35
|
+
workload_config: Optional[Dict] = None,
|
|
36
|
+
deployment_config: Optional[Dict] = None,
|
|
35
37
|
):
|
|
36
38
|
self.config = config.get("ssm", {})
|
|
37
39
|
self.resource_type = resource_type
|
|
38
40
|
self.resource_name = resource_name
|
|
41
|
+
self._workload_config = workload_config or {}
|
|
42
|
+
self._deployment_config = deployment_config or {} # Deprecated, for backward compatibility
|
|
39
43
|
|
|
40
44
|
@property
|
|
41
45
|
def enabled(self) -> bool:
|
|
@@ -49,11 +53,65 @@ class EnhancedSsmConfig:
|
|
|
49
53
|
|
|
50
54
|
@property
|
|
51
55
|
def environment(self) -> str:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
"""
|
|
57
|
+
Get environment - MUST be at workload level.
|
|
58
|
+
|
|
59
|
+
Architecture: One workload deployment = One environment
|
|
60
|
+
|
|
61
|
+
Priority:
|
|
62
|
+
1. workload_config["environment"] - **STANDARD LOCATION** (required)
|
|
63
|
+
2. workload_config["deployment"]["environment"] - Legacy (backward compatibility)
|
|
64
|
+
3. deployment_config["environment"] - Legacy (backward compatibility)
|
|
65
|
+
4. config["ssm"]["environment"] - Legacy (backward compatibility)
|
|
66
|
+
5. ${ENVIRONMENT} - Environment variable (with validation)
|
|
67
|
+
|
|
68
|
+
NO DEFAULT to 'dev' - fails explicitly to prevent cross-environment contamination
|
|
69
|
+
|
|
70
|
+
Best Practice:
|
|
71
|
+
{
|
|
72
|
+
"workload": {
|
|
73
|
+
"name": "my-app",
|
|
74
|
+
"environment": "dev" ← Single source of truth
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
"""
|
|
78
|
+
# 1. Try workload config first (STANDARD LOCATION)
|
|
79
|
+
env = self._workload_config.get("environment")
|
|
80
|
+
|
|
81
|
+
# 2. Try workload["deployment"]["environment"] (backward compatibility)
|
|
82
|
+
if not env:
|
|
83
|
+
env = self._workload_config.get("deployment", {}).get("environment")
|
|
84
|
+
|
|
85
|
+
# 3. Try deployment config (backward compatibility)
|
|
86
|
+
if not env:
|
|
87
|
+
env = self._deployment_config.get("environment")
|
|
88
|
+
|
|
89
|
+
# 4. Fall back to SSM config (backward compatibility)
|
|
90
|
+
if not env:
|
|
91
|
+
env = self.config.get("environment", "${ENVIRONMENT}")
|
|
92
|
+
|
|
93
|
+
# 5. Resolve environment variables
|
|
94
|
+
if isinstance(env, str) and env.startswith("${") and env.endswith("}"):
|
|
55
95
|
env_var = env[2:-1]
|
|
56
|
-
|
|
96
|
+
env_value = os.getenv(env_var)
|
|
97
|
+
if not env_value:
|
|
98
|
+
raise ValueError(
|
|
99
|
+
f"Environment variable '{env_var}' is not set. "
|
|
100
|
+
f"Cannot default to 'dev' as this may cause cross-environment contamination. "
|
|
101
|
+
f"Best practice: Set 'environment' at workload level in your config. "
|
|
102
|
+
f"Alternatively, set the {env_var} environment variable."
|
|
103
|
+
)
|
|
104
|
+
return env_value
|
|
105
|
+
|
|
106
|
+
# If still no environment, fail explicitly
|
|
107
|
+
if not env:
|
|
108
|
+
raise ValueError(
|
|
109
|
+
"Environment must be explicitly specified at workload level. "
|
|
110
|
+
"Cannot default to 'dev' as this may cause cross-environment resource contamination. "
|
|
111
|
+
"Best practice: Add 'environment' to your workload config:\n"
|
|
112
|
+
' {"workload": {"name": "...", "environment": "dev|prod"}}'
|
|
113
|
+
)
|
|
114
|
+
|
|
57
115
|
return env
|
|
58
116
|
|
|
59
117
|
@property
|
|
@@ -55,7 +55,9 @@ class RdsConfig(EnhancedBaseConfig):
|
|
|
55
55
|
@property
|
|
56
56
|
def secret_name(self) -> str:
|
|
57
57
|
"""Name of the secret to store credentials"""
|
|
58
|
-
env_name = self.__deployment.environment if self.__deployment else
|
|
58
|
+
env_name = self.__deployment.environment if self.__deployment else None
|
|
59
|
+
if not env_name:
|
|
60
|
+
raise ValueError("No environment found for RDS secret name. Please add an environment to the deployment.")
|
|
59
61
|
return self.__config.get("secret_name", f"/{env_name}/db/creds")
|
|
60
62
|
|
|
61
63
|
@property
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from typing import Any, List, Mapping, Optional
|
|
2
2
|
|
|
3
|
+
import aws_cdk as cdk
|
|
3
4
|
from aws_cdk import Duration
|
|
4
5
|
from aws_cdk import aws_certificatemanager as acm
|
|
5
6
|
from aws_cdk import aws_cloudfront as cloudfront
|
|
@@ -257,10 +258,32 @@ class CloudFrontDistributionConstruct(Construct):
|
|
|
257
258
|
logger.info("IP gating enabled via convenience flag - adding Lambda@Edge association")
|
|
258
259
|
|
|
259
260
|
# Extract environment and workload name from config
|
|
260
|
-
#
|
|
261
|
+
# Architecture: One workload deployment = One environment
|
|
261
262
|
workload_dict = self.stack_config.workload
|
|
262
|
-
|
|
263
|
-
|
|
263
|
+
|
|
264
|
+
# CRITICAL: Environment must be at workload level - no defaults!
|
|
265
|
+
# Defaulting to "dev" is dangerous and can cause cross-environment contamination
|
|
266
|
+
# Try workload["environment"] first (STANDARD), then workload["deployment"]["environment"] (legacy)
|
|
267
|
+
environment = workload_dict.get("environment")
|
|
268
|
+
if not environment:
|
|
269
|
+
# Backward compatibility: try deployment.environment
|
|
270
|
+
environment = workload_dict.get("deployment", {}).get("environment")
|
|
271
|
+
|
|
272
|
+
if not environment:
|
|
273
|
+
raise ValueError(
|
|
274
|
+
"Environment must be explicitly specified at workload level. "
|
|
275
|
+
"Cannot default to 'dev' as this may cause cross-environment resource contamination. "
|
|
276
|
+
"Best practice: Add 'environment' to your workload config:\n"
|
|
277
|
+
' {\"workload\": {\"name\": \"...\", \"environment\": \"dev|prod\"}}\n'
|
|
278
|
+
"Legacy: 'deployment.environment' is also supported for backward compatibility."
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
workload_name = workload_dict.get("name")
|
|
282
|
+
if not workload_name:
|
|
283
|
+
raise ValueError(
|
|
284
|
+
"Workload name must be specified in configuration. "
|
|
285
|
+
"Please set 'name' in your workload config."
|
|
286
|
+
)
|
|
264
287
|
|
|
265
288
|
# Auto-derive SSM parameter path or use override
|
|
266
289
|
default_ssm_path = f"/{environment}/{workload_name}/lambda-edge/version-arn"
|
|
@@ -291,14 +314,21 @@ class CloudFrontDistributionConstruct(Construct):
|
|
|
291
314
|
ssm_param_path = lambda_arn[6:-2] # Extract parameter path
|
|
292
315
|
logger.info(f"Importing Lambda ARN from SSM parameter: {ssm_param_path}")
|
|
293
316
|
|
|
294
|
-
# Import SSM parameter
|
|
295
|
-
|
|
317
|
+
# CRITICAL: Import SSM parameter using CloudFormation parameter type
|
|
318
|
+
# This ensures CloudFormation validates the parameter EXISTS at deployment time
|
|
319
|
+
# If the parameter is missing, CloudFormation will FAIL the deployment
|
|
320
|
+
# This prevents accidentally using wrong/missing Lambda@Edge functions
|
|
321
|
+
|
|
322
|
+
# Create CloudFormation parameter that resolves SSM value
|
|
323
|
+
cfn_param = cdk.CfnParameter(
|
|
296
324
|
self,
|
|
297
|
-
f"lambda-edge-arn-{hash(ssm_param_path) % 10000}",
|
|
298
|
-
|
|
325
|
+
f"lambda-edge-arn-{hash(ssm_param_path) % 10000}-param",
|
|
326
|
+
type="AWS::SSM::Parameter::Value<String>",
|
|
327
|
+
default=ssm_param_path,
|
|
328
|
+
description=f"Lambda@Edge function ARN from SSM: {ssm_param_path}"
|
|
299
329
|
)
|
|
300
|
-
lambda_arn =
|
|
301
|
-
logger.info(f"Lambda ARN will be resolved from SSM: {ssm_param_path}")
|
|
330
|
+
lambda_arn = cfn_param.value_as_string
|
|
331
|
+
logger.info(f"Lambda ARN will be resolved from SSM (validated at deploy): {ssm_param_path}")
|
|
302
332
|
|
|
303
333
|
# Map event type string to CloudFront enum
|
|
304
334
|
event_type_map = {
|
|
@@ -54,7 +54,7 @@ class LambdaDockerConstruct(Construct):
|
|
|
54
54
|
scope: Construct,
|
|
55
55
|
deployment: Deployment,
|
|
56
56
|
lambda_config: LambdaFunctionConfig,
|
|
57
|
-
tag_or_digest: str | None =
|
|
57
|
+
tag_or_digest: str | None = None,
|
|
58
58
|
ecr_repo_name: str | None = None,
|
|
59
59
|
ecr_arn: str | None = None,
|
|
60
60
|
role: iam.Role | None = None,
|
|
@@ -70,7 +70,8 @@ class LambdaDockerConstruct(Construct):
|
|
|
70
70
|
Returns:
|
|
71
71
|
aws_lambda.DockerImageFunction: Docker Image Function Reference
|
|
72
72
|
"""
|
|
73
|
-
|
|
73
|
+
if not tag_or_digest:
|
|
74
|
+
raise ValueError("tag_or_digest is required for a docker image function")
|
|
74
75
|
|
|
75
76
|
if not role:
|
|
76
77
|
role = LambdaRoleConstruct.Role(
|
|
@@ -31,21 +31,39 @@ class EnhancedSsmParameterMixin:
|
|
|
31
31
|
- Enhanced error handling and logging
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
-
def setup_enhanced_ssm_integration(
|
|
34
|
+
def setup_enhanced_ssm_integration(
|
|
35
|
+
self,
|
|
36
|
+
scope: Construct,
|
|
37
|
+
config,
|
|
38
|
+
resource_type: str = None,
|
|
39
|
+
resource_name: str = None,
|
|
40
|
+
workload_config = None,
|
|
41
|
+
deployment_config = None # Deprecated, for backward compatibility
|
|
42
|
+
):
|
|
35
43
|
"""
|
|
36
44
|
Setup enhanced SSM integration for a resource.
|
|
37
45
|
|
|
46
|
+
Architecture: One workload deployment = One environment
|
|
47
|
+
Environment should be defined at workload level.
|
|
48
|
+
|
|
38
49
|
Args:
|
|
39
50
|
scope: The CDK construct scope
|
|
40
51
|
config: Configuration object with SSM settings
|
|
41
52
|
resource_type: Type of resource (e.g., 'api_gateway', 'cognito', 'dynamodb')
|
|
42
53
|
resource_name: Name of the resource instance
|
|
54
|
+
workload_config: Workload configuration (PRIMARY - contains environment)
|
|
55
|
+
deployment_config: Deployment configuration (DEPRECATED - for backward compatibility)
|
|
43
56
|
"""
|
|
44
57
|
config_dict = config if isinstance(config, dict) else config.dictionary
|
|
58
|
+
workload_dict = workload_config.dictionary if hasattr(workload_config, 'dictionary') else (workload_config or {})
|
|
59
|
+
deployment_dict = deployment_config.dictionary if hasattr(deployment_config, 'dictionary') else (deployment_config or {})
|
|
60
|
+
|
|
45
61
|
self.enhanced_ssm_config = EnhancedSsmConfig(
|
|
46
62
|
config=config_dict,
|
|
47
63
|
resource_type=resource_type or "unknown",
|
|
48
|
-
resource_name=resource_name or "default"
|
|
64
|
+
resource_name=resource_name or "default",
|
|
65
|
+
workload_config=workload_dict,
|
|
66
|
+
deployment_config=deployment_dict # For backward compatibility
|
|
49
67
|
)
|
|
50
68
|
self.scope = scope
|
|
51
69
|
|
|
@@ -95,9 +95,8 @@ class StaticWebSiteStack(IStack):
|
|
|
95
95
|
hosted_zone=hosted_zone,
|
|
96
96
|
)
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
self.add_dependency(deployment.build_resource_name(dependency))
|
|
98
|
+
# Note: Stack dependencies are handled by pipeline_factory, not here
|
|
99
|
+
# Dependencies are resolved after all stacks are created so we have stack objects
|
|
101
100
|
|
|
102
101
|
def __get_s3_website_bucket(
|
|
103
102
|
self, stack_config: StackConfig, deployment: DeploymentConfig
|
|
@@ -206,9 +206,8 @@ class DockerUtilities:
|
|
|
206
206
|
def main():
|
|
207
207
|
print("Starting docker build utilities")
|
|
208
208
|
ecr_uri: str | None = os.getenv("ECR_URI")
|
|
209
|
-
environment: str = os.getenv("ENVIRONMENT")
|
|
209
|
+
environment: str = os.getenv("ENVIRONMENT")
|
|
210
210
|
tag: str = os.getenv("DOCKER_TAG") or environment
|
|
211
|
-
branch: str = os.getenv("GIT_BRANCH") or "dev"
|
|
212
211
|
version: str = os.getenv("VERSION") or "0.0.0"
|
|
213
212
|
aws_profile: str | None = os.getenv("AWS_PROFILE")
|
|
214
213
|
aws_region: str | None = os.getenv("DEPLOYMENT_AWS_REGION") or os.getenv(
|
|
@@ -216,6 +215,8 @@ def main():
|
|
|
216
215
|
)
|
|
217
216
|
docker_file: str | None = os.getenv("DOCKER_FILE")
|
|
218
217
|
|
|
218
|
+
|
|
219
|
+
|
|
219
220
|
# print all environment vars
|
|
220
221
|
print("Printing all environment vars")
|
|
221
222
|
print("-----------------------------")
|
|
@@ -223,6 +224,10 @@ def main():
|
|
|
223
224
|
print(f"{key}: {value}")
|
|
224
225
|
print("-----------------------------")
|
|
225
226
|
|
|
227
|
+
if not environment:
|
|
228
|
+
raise RuntimeError("Missing environment. To fix add an environment var of ENVIRONMENT")
|
|
229
|
+
if not tag:
|
|
230
|
+
raise RuntimeError("Missing tag. To fix add an environment var of DOCKER_TAG")
|
|
226
231
|
if not ecr_uri:
|
|
227
232
|
raise RuntimeError("Missing ECR URI. To fix add an environment var of ECR_URI")
|
|
228
233
|
if not docker_file:
|
cdk_factory/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "0.14.1"
|
|
@@ -2,7 +2,7 @@ cdk_factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
2
2
|
cdk_factory/app.py,sha256=RnX0-pwdTAPAdKJK_j13Zl8anf9zYKBwboR0KA8K8xM,10346
|
|
3
3
|
cdk_factory/cdk.json,sha256=SKZKhJ2PBpFH78j-F8S3VDYW-lf76--Q2I3ON-ZIQfw,3106
|
|
4
4
|
cdk_factory/cli.py,sha256=FGbCTS5dYCNsfp-etshzvFlGDCjC28r6rtzYbe7KoHI,6407
|
|
5
|
-
cdk_factory/version.py,sha256=
|
|
5
|
+
cdk_factory/version.py,sha256=DcrUHmqhXJJz-Sh-CsHfn9W6Q5OL-VL2FalGEX5hy6E,23
|
|
6
6
|
cdk_factory/builds/README.md,sha256=9BBWd7bXpyKdMU_g2UljhQwrC9i5O_Tvkb6oPvndoZk,90
|
|
7
7
|
cdk_factory/commands/command_loader.py,sha256=QbLquuP_AdxtlxlDy-2IWCQ6D-7qa58aphnDPtp_uTs,3744
|
|
8
8
|
cdk_factory/configurations/base_config.py,sha256=JKjhNsy0RCUZy1s8n5D_aXXI-upR9izaLtCTfKYiV9k,9624
|
|
@@ -10,8 +10,8 @@ cdk_factory/configurations/cdk_config.py,sha256=eYboaXcz9CUx4rJbEagX8ppgtIERUlop
|
|
|
10
10
|
cdk_factory/configurations/deployment.py,sha256=LO2gd1yv1nqlX_2MIjRXptylFybWiTKsMKZU0N58rSM,12110
|
|
11
11
|
cdk_factory/configurations/deployment_wave.py,sha256=TFX7CYgr5SmLyziEb-R_OTteFWtlMHB4pT53ekV3d1Y,233
|
|
12
12
|
cdk_factory/configurations/devops.py,sha256=PG-s2ldZmMULheWdKf2lf2LSugLoKiOKyLELTZJJxu8,2506
|
|
13
|
-
cdk_factory/configurations/enhanced_base_config.py,sha256=
|
|
14
|
-
cdk_factory/configurations/enhanced_ssm_config.py,sha256=
|
|
13
|
+
cdk_factory/configurations/enhanced_base_config.py,sha256=LQQBn_99n41vkqvpU3NhY_baizCwPz2Di-V3iFBL6oE,6660
|
|
14
|
+
cdk_factory/configurations/enhanced_ssm_config.py,sha256=J23PCinDTlji1XzsjOhIk9C8PubZc5ICpSWqPf3B0Vw,15873
|
|
15
15
|
cdk_factory/configurations/management.py,sha256=TSOIyxO9hGNxbgiTsS8a3pz03ungXiNqPPtZtfOpr8M,1373
|
|
16
16
|
cdk_factory/configurations/pipeline.py,sha256=3RmRP1GIk42rjYZ-A9H3357RcO13IA47N-2IQcBkySQ,4939
|
|
17
17
|
cdk_factory/configurations/pipeline_stage.py,sha256=eAT-FoIepIuv5tObk4TXlCN47FaatQO2rrFchgbMdXU,3415
|
|
@@ -38,7 +38,7 @@ cdk_factory/configurations/resources/lambda_layers.py,sha256=gVeP_-LC3Eq0lkPaG_J
|
|
|
38
38
|
cdk_factory/configurations/resources/lambda_triggers.py,sha256=MD7cdMNKEulNBhtMLIFnWJuJ5R-yyIqa0LHUgbSQerA,834
|
|
39
39
|
cdk_factory/configurations/resources/load_balancer.py,sha256=DHVKuEDaTfbB0UKYBt7UQQCPCM4FY-ThT1T52lcwg_E,4897
|
|
40
40
|
cdk_factory/configurations/resources/monitoring.py,sha256=zsfDMa7yph33Ql8iP7lIqqLAyixh-Mesi0imtZJFdcE,2310
|
|
41
|
-
cdk_factory/configurations/resources/rds.py,sha256
|
|
41
|
+
cdk_factory/configurations/resources/rds.py,sha256=-ccbd_rcOBIcI1ipZz2W3aRVRGyjQ-MSOaoznPNl_UI,4459
|
|
42
42
|
cdk_factory/configurations/resources/resource_mapping.py,sha256=cwv3n63RJ6E59ErsmSTdkW4i-g8huhHtKI0ExbRhJxA,2182
|
|
43
43
|
cdk_factory/configurations/resources/resource_naming.py,sha256=VE9S2cpzp11qqPL2z1sX79wXH0o1SntO2OG74nEmWC8,5508
|
|
44
44
|
cdk_factory/configurations/resources/resource_types.py,sha256=1WQHyDoErb-M-tETZZzyLDtbq_jdC85-I403dM48pgE,2317
|
|
@@ -50,10 +50,10 @@ cdk_factory/configurations/resources/security_group.py,sha256=8kQtaaRVEn2aDm8XoC
|
|
|
50
50
|
cdk_factory/configurations/resources/security_group_full_stack.py,sha256=x5MIMCa_olO7prFBKx9zVOfvsVdKo-2mWyhrCy27dFw,2031
|
|
51
51
|
cdk_factory/configurations/resources/sqs.py,sha256=fAh2dqttJ6PX46enFRULuiLEu3TEj0Vb2xntAOgUpYE,4346
|
|
52
52
|
cdk_factory/configurations/resources/vpc.py,sha256=sNn6w76bHFwmt6N76gZZhqpsuNB9860C1SZu6tebaXY,3835
|
|
53
|
-
cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py,sha256=
|
|
53
|
+
cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py,sha256=Co3pQ5NQVd5mXzPeGNN4UabvQVWyWL44xDyscNGAXUQ,21967
|
|
54
54
|
cdk_factory/constructs/ecr/ecr_construct.py,sha256=JLz3gWrsjlM0XghvbgxuoGlF-VIo_7IYxtgX7mTkidE,10660
|
|
55
55
|
cdk_factory/constructs/lambdas/lambda_function_construct.py,sha256=SQ5SEXn4kezVAzXuv_A_JB3o_svyBXOMi-htvfB9HQs,4516
|
|
56
|
-
cdk_factory/constructs/lambdas/lambda_function_docker_construct.py,sha256=
|
|
56
|
+
cdk_factory/constructs/lambdas/lambda_function_docker_construct.py,sha256=O8aiHpNQ59eE3qEttEHVxbvp06v4byXOeYCVTAOI_Cg,9993
|
|
57
57
|
cdk_factory/constructs/lambdas/lambda_function_role_construct.py,sha256=nJoxKv-4CWugX-ZkAzoG8wrfSsHqXqiMZnGRqSyS4Po,1453
|
|
58
58
|
cdk_factory/constructs/lambdas/policies/policy_docs.py,sha256=YKXCk_tUTIGlWghLm_gLvLZFvc92AVxISyMkeWcym_o,21150
|
|
59
59
|
cdk_factory/constructs/lambdas/policies/policy_statements.py,sha256=9DnSehsV8A_sBrSe4A--PQB6kii2HSnW4RnmhgVfon0,4164
|
|
@@ -61,7 +61,7 @@ cdk_factory/constructs/s3_buckets/s3_bucket_construct.py,sha256=5DK5aVUAveJYBjmP
|
|
|
61
61
|
cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py,sha256=H-EJ2Q71LI5FPQ9thMkXDGRuwJdFc_2OzGIrWA98lxg,2517
|
|
62
62
|
cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py,sha256=ZLKbRcMK1q73VruxCH62XbymebKt-lKV5Kul9OjkZiA,3763
|
|
63
63
|
cdk_factory/constructs/sqs/policies/sqs_policies.py,sha256=4p0G8G-fqNKSr68I55fvqH-DkhIeXyGaFBKkICIJ-qM,1277
|
|
64
|
-
cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py,sha256=
|
|
64
|
+
cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py,sha256=5-aQ4sg47LQ4AHjd0j20gxyM5U5-NOTeBsGsEUA_K3E,14374
|
|
65
65
|
cdk_factory/interfaces/istack.py,sha256=bhTBs-o9FgKwvJMSuwxjUV6D3nUlvZHVzfm27jP9x9Y,987
|
|
66
66
|
cdk_factory/interfaces/live_ssm_resolver.py,sha256=3FIr9a02SXqZmbFs3RT0WxczWEQR_CF7QSt7kWbDrVE,8163
|
|
67
67
|
cdk_factory/interfaces/ssm_parameter_mixin.py,sha256=uA2j8HmAOpuEA9ynRj51s0WjUHMVLsbLQN-QS9NKyHA,12089
|
|
@@ -112,7 +112,7 @@ cdk_factory/stack_library/security_group/security_group_stack.py,sha256=2zxd5ozg
|
|
|
112
112
|
cdk_factory/stack_library/simple_queue_service/sqs_stack.py,sha256=jJksWrvrvgZUMM01RZ317DOIxqIJbkYYSYu38w0jHpc,6039
|
|
113
113
|
cdk_factory/stack_library/vpc/__init__.py,sha256=7pIqP97Gf2AJbv9Ebp1WbQGHYhgEbWJ52L1MzeXBybA,42
|
|
114
114
|
cdk_factory/stack_library/vpc/vpc_stack.py,sha256=zdDiGilf03esxuya5Z8zVYSVMAIuZBeD-ZKgfnEd6aw,10077
|
|
115
|
-
cdk_factory/stack_library/websites/static_website_stack.py,sha256=
|
|
115
|
+
cdk_factory/stack_library/websites/static_website_stack.py,sha256=hcdZQxyhupCy7n7UpNaX8egc2oI9TrssyOufj-oJuo8,10343
|
|
116
116
|
cdk_factory/stages/websites/static_website_stage.py,sha256=X4fpKXkhb0zIbSHx3QyddBhVSLBryb1vf1Cg2fMTqog,755
|
|
117
117
|
cdk_factory/templates/README.md,sha256=ATBEjG6beYvbEAdLtZ_8xnxgFD5X0cgZoI_6pToqH90,2679
|
|
118
118
|
cdk_factory/templates/app.py.template,sha256=aM60x0nNV80idtCL8jm1EddY63F5tDITYOlavg-BPMU,1069
|
|
@@ -120,7 +120,7 @@ cdk_factory/templates/cdk.json.template,sha256=SuGz4Y6kCVMDRpJrA_AJlp0kwdENiJPVn
|
|
|
120
120
|
cdk_factory/utilities/api_gateway_integration_utility.py,sha256=yblKiMIHGXqKb7JK5IbzGM_TXjX9j893BMqgqBT44DE,63449
|
|
121
121
|
cdk_factory/utilities/commandline_args.py,sha256=0FiNEJFbWVN8Ct7r0VHnJEx7rhUlaRKT7R7HMNJBSTI,2216
|
|
122
122
|
cdk_factory/utilities/configuration_loader.py,sha256=z0ZdGLNbTO4_yfluB9zUh_i_Poc9qj-7oRyjMRlNkN8,1522
|
|
123
|
-
cdk_factory/utilities/docker_utilities.py,sha256=
|
|
123
|
+
cdk_factory/utilities/docker_utilities.py,sha256=6ee9KEGsaRJWo6FqvdPtE3_L2Emp3Lc0vu2Ie3VoflI,8280
|
|
124
124
|
cdk_factory/utilities/environment_services.py,sha256=cd2T0efJtFPMLa1Fm7MPL-sqUlhKXCB7_XHsR8sfymE,9696
|
|
125
125
|
cdk_factory/utilities/file_operations.py,sha256=fxqT0iyYZkb46lQr_XXadhFTca_1neVW0VRVkbyMmhA,9462
|
|
126
126
|
cdk_factory/utilities/git_utilities.py,sha256=7Xac8PaThc7Lmk5jtDBHaJOj-fWRT017cgZmgXkVizM,3155
|
|
@@ -129,8 +129,8 @@ cdk_factory/utilities/lambda_function_utilities.py,sha256=S1GvBsY_q2cyUiaud3HORJ
|
|
|
129
129
|
cdk_factory/utilities/os_execute.py,sha256=5Op0LY_8Y-pUm04y1k8MTpNrmQvcLmQHPQITEP7EuSU,1019
|
|
130
130
|
cdk_factory/utils/api_gateway_utilities.py,sha256=If7Xu5s_UxmuV-kL3JkXxPLBdSVUKoLtohm0IUFoiV8,4378
|
|
131
131
|
cdk_factory/workload/workload_factory.py,sha256=mM8GU_5mKq_0OyK060T3JrUSUiGAcKf0eqNlT9mfaws,6028
|
|
132
|
-
cdk_factory-0.
|
|
133
|
-
cdk_factory-0.
|
|
134
|
-
cdk_factory-0.
|
|
135
|
-
cdk_factory-0.
|
|
136
|
-
cdk_factory-0.
|
|
132
|
+
cdk_factory-0.14.1.dist-info/METADATA,sha256=CeDWK6i4lTujrWo11UnQ49_HrdhmIsOSilsQppIGE_o,2451
|
|
133
|
+
cdk_factory-0.14.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
134
|
+
cdk_factory-0.14.1.dist-info/entry_points.txt,sha256=S1DPe0ORcdiwEALMN_WIo3UQrW_g4YdQCLEsc_b0Swg,53
|
|
135
|
+
cdk_factory-0.14.1.dist-info/licenses/LICENSE,sha256=NOtdOeLwg2il_XBJdXUPFPX8JlV4dqTdDGAd2-khxT8,1066
|
|
136
|
+
cdk_factory-0.14.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|