-
Notifications
You must be signed in to change notification settings - Fork 420
/
Copy pathapp.py
47 lines (38 loc) · 1.45 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python3
import aws_cdk as cdk
from layer.canary_stack import CanaryStack
from layer.layer_stack import LayerStack
app = cdk.App()
POWERTOOLS_VERSION: str = app.node.try_get_context("version")
PYTHON_VERSION: str = app.node.try_get_context("pythonVersion")
PYTHON_VERSION_NORMALIZED = PYTHON_VERSION.replace(".", "")
SSM_PARAM_LAYER_ARN: str = f"/layers/powertools-layer-v3-{PYTHON_VERSION_NORMALIZED}-x86_64-arn"
SSM_PARAM_LAYER_ARM64_ARN: str = f"/layers/powertools-layer-v3-{PYTHON_VERSION_NORMALIZED}-arm64-arn"
# Validate context variables
if not PYTHON_VERSION:
raise ValueError(
"Please set the version for Python by passing the '--context pythonVersion=<version>' parameter to the CDK "
"synth step.",
)
if not POWERTOOLS_VERSION:
raise ValueError(
"Please set the version for Powertools by passing the '--context version=<version>' parameter to the CDK "
"synth step.",
)
LayerStack(
app,
f"LayerV3Stack-{PYTHON_VERSION_NORMALIZED}",
powertools_version=POWERTOOLS_VERSION,
python_version=PYTHON_VERSION,
ssm_parameter_layer_arn=SSM_PARAM_LAYER_ARN,
ssm_parameter_layer_arm64_arn=SSM_PARAM_LAYER_ARM64_ARN,
)
CanaryStack(
app,
f"CanaryV3Stack-{PYTHON_VERSION_NORMALIZED}",
powertools_version=POWERTOOLS_VERSION,
python_version=PYTHON_VERSION,
ssm_paramter_layer_arn=SSM_PARAM_LAYER_ARN,
ssm_parameter_layer_arm64_arn=SSM_PARAM_LAYER_ARM64_ARN,
)
app.synth()