Skip to content

Commit 6b5bb3a

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 2d84f74 commit 6b5bb3a

28 files changed

Lines changed: 96 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### **Added**
1111

12+
- added optional `custom_tags` parameter to all modules for customer-provided tag support
13+
1214
### **Changed**
1315

1416
## v3.2.6

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-cluster/tests/test_app.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,8 @@ def test_eks_cluster_name(stack_defaults):
4242

4343
with pytest.raises(ValidationError):
4444
import app # noqa: F401
45+
46+
47+
def test_app_with_custom_tags(stack_defaults):
48+
os.environ["SEEDFARMER_PARAMETER_CUSTOM_TAGS"] = '{"CustomerTag": "test-value"}'
49+
import app # noqa: F401

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-operator/tests/test_app.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,8 @@ def test_eks_cluster_name(stack_defaults):
4444

4545
with pytest.raises(ValidationError):
4646
import app # noqa: F401
47+
48+
49+
def test_app_with_custom_tags(stack_defaults):
50+
os.environ["SEEDFARMER_PARAMETER_CUSTOM_TAGS"] = '{"CustomerTag": "test-value"}'
51+
import app # noqa: F401

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/eks/ray-orchestrator/tests/test_app.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,8 @@ def test_eks_cluster_name(stack_defaults):
4545

4646
with pytest.raises(ValidationError):
4747
import app # noqa: F401
48+
49+
50+
def test_app_with_custom_tags(stack_defaults):
51+
os.environ["SEEDFARMER_PARAMETER_CUSTOM_TAGS"] = '{"CustomerTag": "test-value"}'
52+
import app # noqa: F401

0 commit comments

Comments
 (0)