Skip to content

Commit d181069

Browse files
committed
feat: Add custom-tags support for customer-provided tags
Add custom_tags parameter to all module settings and app.py files so that customer-provided tags flow through from capability deployment to CDK resources. This matches the pattern used by Data Foundations solution kit. Affected modules: - sagemaker-templates - sagemaker-studio - sagemaker-notebook - sagemaker-ground-truth-labeling - sagemaker-model-monitoring - ray-operator - ray-cluster - ray-orchestrator
1 parent 8b747f3 commit d181069

16 files changed

Lines changed: 49 additions & 1 deletion

File tree

modules/eks/ray-cluster/app.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@
5050
for tag_key, tag_value in app_settings.parameters.tags.items():
5151
Tags.of(app).add(tag_key, tag_value)
5252

53+
if app_settings.parameters.custom_tags:
54+
for tag_key, tag_value in app_settings.parameters.custom_tags.items():
55+
Tags.of(app).add(tag_key, tag_value)
56+
5357
Tags.of(app).add("SeedFarmerDeploymentName", app_settings.settings.deployment_name)
5458
Tags.of(app).add("SeedFarmerModuleName", app_settings.settings.module_name)
5559
Tags.of(app).add("SeedFarmerProjectName", app_settings.settings.project_name)

modules/eks/ray-cluster/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class SeedFarmerParameters(CdkBaseSettings):
6262
worker_labels: Dict[str, str] = Field(default={})
6363
permissions_boundary_name: Optional[str] = Field(default=None)
6464
tags: Optional[Dict[str, str]] = Field(default=None)
65+
custom_tags: Optional[Dict[str, str]] = Field(default=None)
6566

6667

6768
class SeedFarmerSettings(CdkBaseSettings):

modules/eks/ray-operator/app.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@
5555
for tag_key, tag_value in app_settings.parameters.tags.items():
5656
Tags.of(app).add(tag_key, tag_value)
5757

58+
if app_settings.parameters.custom_tags:
59+
for tag_key, tag_value in app_settings.parameters.custom_tags.items():
60+
Tags.of(app).add(tag_key, tag_value)
61+
5862
Tags.of(app).add("SeedFarmerDeploymentName", app_settings.settings.deployment_name)
5963
Tags.of(app).add("SeedFarmerModuleName", app_settings.settings.module_name)
6064
Tags.of(app).add("SeedFarmerProjectName", app_settings.settings.project_name)

modules/eks/ray-operator/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class SeedFarmerParameters(CdkBaseSettings):
3838
data_bucket_name: Optional[str] = Field(default=None)
3939
permissions_boundary_name: Optional[str] = Field(default=None)
4040
tags: Optional[Dict[str, str]] = Field(default=None)
41+
custom_tags: Optional[Dict[str, str]] = Field(default=None)
4142

4243

4344
class SeedFarmerSettings(CdkBaseSettings):

modules/eks/ray-orchestrator/app.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@
5656
for tag_key, tag_value in app_settings.parameters.tags.items():
5757
Tags.of(app).add(tag_key, tag_value)
5858

59+
if app_settings.parameters.custom_tags:
60+
for tag_key, tag_value in app_settings.parameters.custom_tags.items():
61+
Tags.of(app).add(tag_key, tag_value)
62+
5963
Tags.of(app).add("SeedFarmerDeploymentName", app_settings.settings.deployment_name)
6064
Tags.of(app).add("SeedFarmerModuleName", app_settings.settings.module_name)
6165
Tags.of(app).add("SeedFarmerProjectName", app_settings.settings.project_name)

modules/eks/ray-orchestrator/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class SeedFarmerParameters(CdkBaseSettings):
4040
dra_export_path: str = Field(default="/ray/export/")
4141
permissions_boundary_name: Optional[str] = Field(default=None)
4242
tags: Optional[Dict[str, str]] = Field(default=None)
43+
custom_tags: Optional[Dict[str, str]] = Field(default=None)
4344

4445

4546
class SeedFarmerSettings(CdkBaseSettings):

modules/sagemaker/sagemaker-ground-truth-labeling/app.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@
6565

6666
aws_cdk.Aspects.of(app).add(cdk_nag.AwsSolutionsChecks(log_ignores=True))
6767

68+
if app_settings.module_settings.tags:
69+
for tag_key, tag_value in app_settings.module_settings.tags.items():
70+
aws_cdk.Tags.of(app).add(tag_key, tag_value)
71+
72+
if app_settings.module_settings.custom_tags:
73+
for tag_key, tag_value in app_settings.module_settings.custom_tags.items():
74+
aws_cdk.Tags.of(app).add(tag_key, tag_value)
75+
6876
aws_cdk.Tags.of(app).add("SeedFarmerDeploymentName", app_settings.seedfarmer_settings.deployment_name)
6977
aws_cdk.Tags.of(app).add("SeedFarmerModuleName", app_settings.seedfarmer_settings.module_name)
7078
aws_cdk.Tags.of(app).add("SeedFarmerProjectName", app_settings.seedfarmer_settings.project_name)

modules/sagemaker/sagemaker-ground-truth-labeling/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ class ModuleSettings(CdkBaseSettings):
6060
verification_task_price: Dict[str, Dict[str, int]] = Field(default={})
6161
labeling_workflow_schedule: str = Field(default="cron(0 12 * * ? *)")
6262
permissions_boundary_name: Optional[str] = Field(default=None)
63+
tags: Optional[Dict[str, str]] = Field(default=None)
64+
custom_tags: Optional[Dict[str, str]] = Field(default=None)
6365

6466

6567
class SeedFarmerSettings(CdkBaseSettings):

modules/sagemaker/sagemaker-model-monitoring/app.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
for tag_key, tag_value in app_settings.module_settings.tags.items():
3232
aws_cdk.Tags.of(app).add(tag_key, tag_value)
3333

34+
if app_settings.module_settings.custom_tags:
35+
for tag_key, tag_value in app_settings.module_settings.custom_tags.items():
36+
aws_cdk.Tags.of(app).add(tag_key, tag_value)
37+
3438
aws_cdk.Tags.of(app).add("SeedFarmerDeploymentName", app_settings.seedfarmer_settings.deployment_name)
3539
aws_cdk.Tags.of(app).add("SeedFarmerModuleName", app_settings.seedfarmer_settings.module_name)
3640
aws_cdk.Tags.of(app).add("SeedFarmerProjectName", app_settings.seedfarmer_settings.project_name)

modules/sagemaker/sagemaker-model-monitoring/sagemaker_model_monitoring/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ class ModuleSettings(CdkBaseSettings):
102102

103103
permissions_boundary_name: Optional[str] = Field(default=None)
104104
tags: Optional[Dict[str, str]] = Field(default=None)
105+
custom_tags: Optional[Dict[str, str]] = Field(default=None)
105106

106107

107108
class SeedFarmerSettings(CdkBaseSettings):

0 commit comments

Comments
 (0)