Skip to content

Commit 669e5a6

Browse files
Balaji SankarRuban Hussain
authored andcommitted
fix: Make Key, Value as required fields for each "Tags" entry in the config file.
1 parent 67fc282 commit 669e5a6

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/sagemaker/config/config_schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@
192192
"maxLength": 256,
193193
},
194194
},
195+
"required": [KEY, VALUE],
195196
},
196197
"minItems": 0,
197198
"maxItems": 50,

tests/unit/sagemaker/config/test_config_schema.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,26 @@ def test_valid_monitoring_schedule_schema(
9595
)
9696

9797

98+
def test_tags_with_invalid_schema(base_config_with_schema, valid_edge_packaging_config):
99+
edge_packaging_config = valid_edge_packaging_config.copy()
100+
edge_packaging_config["Tags"] = [{"Key": "somekey"}]
101+
config = base_config_with_schema
102+
config["SageMaker"] = {"EdgePackagingJob": edge_packaging_config}
103+
with pytest.raises(exceptions.ValidationError):
104+
validate(config, SAGEMAKER_PYTHON_SDK_CONFIG_SCHEMA)
105+
edge_packaging_config["Tags"] = [{"Value": "somekey"}]
106+
with pytest.raises(exceptions.ValidationError):
107+
validate(config, SAGEMAKER_PYTHON_SDK_CONFIG_SCHEMA)
108+
109+
110+
def test_tags_with_valid_schema(base_config_with_schema, valid_edge_packaging_config):
111+
edge_packaging_config = valid_edge_packaging_config.copy()
112+
edge_packaging_config["Tags"] = [{"Key": "somekey", "Value": "somevalue"}]
113+
config = base_config_with_schema
114+
config["SageMaker"] = {"EdgePackagingJob": edge_packaging_config}
115+
validate(config, SAGEMAKER_PYTHON_SDK_CONFIG_SCHEMA)
116+
117+
98118
def test_invalid_training_job_schema(base_config_with_schema, valid_iam_role_arn, valid_vpc_config):
99119
# Changing key names
100120
training_job_config = {

0 commit comments

Comments
 (0)