Skip to content

Commit 1d28100

Browse files
author
Erik Ogan
committed
SSM: Add Tier to the put_parameter response, per the boto3 documentation
1 parent b29a9c8 commit 1d28100

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

moto/ssm/responses.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ def put_parameter(self) -> Union[str, Tuple[str, Dict[str, int]]]:
290290
policies=policies,
291291
)
292292

293-
response = {"Version": param.version}
293+
response = {"Version": param.version, "Tier": tier or "Standard"}
294294
return json.dumps(response)
295295

296296
def get_parameter_history(self) -> Union[str, Tuple[str, Dict[str, int]]]:

tests/test_ssm/test_ssm_boto3.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ def test_put_parameter(name):
222222
)
223223

224224
assert response["Version"] == 1
225+
assert response["Tier"] == "Standard"
225226

226227
response = client.get_parameters(Names=[name], WithDecryption=False)
227228

@@ -406,6 +407,30 @@ def test_put_parameter_overwrite_preserves_metadata(name):
406407
]
407408

408409

410+
@pytest.mark.parametrize("name", ["test", "my-cool-parameter"])
411+
@pytest.mark.parametrize("tier", ["Standard", "Advanced", "Intelligent-Tiering"])
412+
@mock_aws
413+
def test_put_parameter_with_tier(name, tier):
414+
test_description = "A test parameter"
415+
client = boto3.client("ssm", region_name=SSM_REGION)
416+
response = client.put_parameter(
417+
Name=name,
418+
Description=test_description,
419+
Value="value",
420+
Type="String",
421+
Tier=tier,
422+
)
423+
424+
assert response["Tier"] == tier
425+
426+
# Verify the response contains the tier
427+
param = client.describe_parameters(
428+
ParameterFilters=[{"Key": "Name", "Option": "Equals", "Values": [name]}]
429+
)["Parameters"][0]
430+
431+
assert param["Tier"] == tier
432+
433+
409434
@mock_aws
410435
def test_put_parameter_with_invalid_policy():
411436
name = "some_param"

0 commit comments

Comments
 (0)