SSM: Fix the formatting associated with label_parameter_version/get_parameter_history updates
This commit is contained in:
parent
5705695495
commit
e3e4b741d8
@ -22,23 +22,31 @@ class InvalidFilterValue(JsonRESTError):
|
|||||||
def __init__(self, message):
|
def __init__(self, message):
|
||||||
super(InvalidFilterValue, self).__init__("InvalidFilterValue", message)
|
super(InvalidFilterValue, self).__init__("InvalidFilterValue", message)
|
||||||
|
|
||||||
|
|
||||||
class ParameterNotFound(JsonRESTError):
|
class ParameterNotFound(JsonRESTError):
|
||||||
code = 400
|
code = 400
|
||||||
|
|
||||||
def __init__(self, message):
|
def __init__(self, message):
|
||||||
super(ParameterNotFound, self).__init__("ParameterNotFound", message)
|
super(ParameterNotFound, self).__init__("ParameterNotFound", message)
|
||||||
|
|
||||||
|
|
||||||
class ParameterVersionNotFound(JsonRESTError):
|
class ParameterVersionNotFound(JsonRESTError):
|
||||||
code = 400
|
code = 400
|
||||||
|
|
||||||
def __init__(self, message):
|
def __init__(self, message):
|
||||||
super(ParameterVersionNotFound, self).__init__("ParameterVersionNotFound", message)
|
super(ParameterVersionNotFound, self).__init__(
|
||||||
|
"ParameterVersionNotFound", message
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ParameterVersionLabelLimitExceeded(JsonRESTError):
|
class ParameterVersionLabelLimitExceeded(JsonRESTError):
|
||||||
code = 400
|
code = 400
|
||||||
|
|
||||||
def __init__(self, message):
|
def __init__(self, message):
|
||||||
super(ParameterVersionLabelLimitExceeded, self).__init__("ParameterVersionLabelLimitExceeded", message)
|
super(ParameterVersionLabelLimitExceeded, self).__init__(
|
||||||
|
"ParameterVersionLabelLimitExceeded", message
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ValidationException(JsonRESTError):
|
class ValidationException(JsonRESTError):
|
||||||
code = 400
|
code = 400
|
||||||
|
@ -21,7 +21,7 @@ from .exceptions import (
|
|||||||
InvalidFilterKey,
|
InvalidFilterKey,
|
||||||
ParameterVersionLabelLimitExceeded,
|
ParameterVersionLabelLimitExceeded,
|
||||||
ParameterVersionNotFound,
|
ParameterVersionNotFound,
|
||||||
ParameterNotFound
|
ParameterNotFound,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ class Parameter(BaseModel):
|
|||||||
allowed_pattern,
|
allowed_pattern,
|
||||||
keyid,
|
keyid,
|
||||||
last_modified_date,
|
last_modified_date,
|
||||||
version
|
version,
|
||||||
):
|
):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.type = type
|
self.type = type
|
||||||
@ -624,9 +624,7 @@ class SimpleSystemManagerBackend(BaseBackend):
|
|||||||
def label_parameter_version(self, name, version, labels):
|
def label_parameter_version(self, name, version, labels):
|
||||||
previous_parameter_versions = self._parameters[name]
|
previous_parameter_versions = self._parameters[name]
|
||||||
if not previous_parameter_versions:
|
if not previous_parameter_versions:
|
||||||
raise ParameterNotFound(
|
raise ParameterNotFound("Parameter %s not found." % name)
|
||||||
"Parameter %s not found." % name
|
|
||||||
)
|
|
||||||
found_parameter = None
|
found_parameter = None
|
||||||
labels_needing_removal = []
|
labels_needing_removal = []
|
||||||
if not version:
|
if not version:
|
||||||
@ -645,11 +643,16 @@ class SimpleSystemManagerBackend(BaseBackend):
|
|||||||
raise ParameterVersionNotFound(
|
raise ParameterVersionNotFound(
|
||||||
"Systems Manager could not find version %s of %s. "
|
"Systems Manager could not find version %s of %s. "
|
||||||
"Verify the version and try again." % (version, name)
|
"Verify the version and try again." % (version, name)
|
||||||
)
|
)
|
||||||
labels_to_append = []
|
labels_to_append = []
|
||||||
invalid_labels = []
|
invalid_labels = []
|
||||||
for label in labels:
|
for label in labels:
|
||||||
if label.startswith("aws") or label.startswith("ssm") or label[:1].isdigit() or not re.match("^[a-zA-z0-9_\.\-]*$", label):
|
if (
|
||||||
|
label.startswith("aws")
|
||||||
|
or label.startswith("ssm")
|
||||||
|
or label[:1].isdigit()
|
||||||
|
or not re.match("^[a-zA-z0-9_\.\-]*$", label)
|
||||||
|
):
|
||||||
invalid_labels.append(label)
|
invalid_labels.append(label)
|
||||||
continue
|
continue
|
||||||
if len(label) > 100:
|
if len(label) > 100:
|
||||||
@ -657,7 +660,8 @@ class SimpleSystemManagerBackend(BaseBackend):
|
|||||||
"1 validation error detected: "
|
"1 validation error detected: "
|
||||||
"Value '[%s]' at 'labels' failed to satisfy constraint: "
|
"Value '[%s]' at 'labels' failed to satisfy constraint: "
|
||||||
"Member must satisfy constraint: "
|
"Member must satisfy constraint: "
|
||||||
"[Member must have length less than or equal to 100, Member must have length greater than or equal to 1]" % label
|
"[Member must have length less than or equal to 100, Member must have length greater than or equal to 1]"
|
||||||
|
% label
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
if label not in found_parameter.labels:
|
if label not in found_parameter.labels:
|
||||||
|
@ -168,8 +168,7 @@ class SimpleSystemManagerResponse(BaseResponse):
|
|||||||
response = {"Parameters": []}
|
response = {"Parameters": []}
|
||||||
for parameter_version in result:
|
for parameter_version in result:
|
||||||
param_data = parameter_version.describe_response_object(
|
param_data = parameter_version.describe_response_object(
|
||||||
decrypt=with_decryption,
|
decrypt=with_decryption, include_labels=True
|
||||||
include_labels=True
|
|
||||||
)
|
)
|
||||||
response["Parameters"].append(param_data)
|
response["Parameters"].append(param_data)
|
||||||
|
|
||||||
@ -180,7 +179,9 @@ class SimpleSystemManagerResponse(BaseResponse):
|
|||||||
version = self._get_param("ParameterVersion")
|
version = self._get_param("ParameterVersion")
|
||||||
labels = self._get_param("Labels")
|
labels = self._get_param("Labels")
|
||||||
|
|
||||||
invalid_labels, version = self.ssm_backend.label_parameter_version(name, version, labels)
|
invalid_labels, version = self.ssm_backend.label_parameter_version(
|
||||||
|
name, version, labels
|
||||||
|
)
|
||||||
|
|
||||||
response = {"InvalidLabels": invalid_labels, "ParameterVersion": version}
|
response = {"InvalidLabels": invalid_labels, "ParameterVersion": version}
|
||||||
return json.dumps(response)
|
return json.dumps(response)
|
||||||
|
@ -938,40 +938,66 @@ def test_get_parameter_history_with_secure_string():
|
|||||||
|
|
||||||
len(parameters_response).should.equal(3)
|
len(parameters_response).should.equal(3)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version():
|
def test_label_parameter_version():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, Labels=["test-label"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, Labels=["test-label"]
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(1)
|
response["ParameterVersion"].should.equal(1)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_with_specific_version():
|
def test_label_parameter_version_with_specific_version():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["test-label"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=["test-label"]
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(1)
|
response["ParameterVersion"].should.equal(1)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_twice():
|
def test_label_parameter_version_twice():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
test_labels = ["test-label"]
|
test_labels = ["test-label"]
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=test_labels)
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=test_labels
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(1)
|
response["ParameterVersion"].should.equal(1)
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=test_labels)
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=test_labels
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(1)
|
response["ParameterVersion"].should.equal(1)
|
||||||
|
|
||||||
@ -979,6 +1005,7 @@ def test_label_parameter_version_twice():
|
|||||||
len(response["Parameters"]).should.equal(1)
|
len(response["Parameters"]).should.equal(1)
|
||||||
response["Parameters"][0]["Labels"].should.equal(test_labels)
|
response["Parameters"][0]["Labels"].should.equal(test_labels)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_moving_versions():
|
def test_label_parameter_moving_versions():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
@ -992,13 +1019,17 @@ def test_label_parameter_moving_versions():
|
|||||||
Description="A test parameter version %d" % i,
|
Description="A test parameter version %d" % i,
|
||||||
Value="value-%d" % i,
|
Value="value-%d" % i,
|
||||||
Type="String",
|
Type="String",
|
||||||
Overwrite=True
|
Overwrite=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=test_labels)
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=test_labels
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(1)
|
response["ParameterVersion"].should.equal(1)
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=2, Labels=test_labels)
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=2, Labels=test_labels
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(2)
|
response["ParameterVersion"].should.equal(2)
|
||||||
|
|
||||||
@ -1016,6 +1047,7 @@ def test_label_parameter_moving_versions():
|
|||||||
|
|
||||||
len(parameters_response).should.equal(3)
|
len(parameters_response).should.equal(3)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_moving_versions_complex():
|
def test_label_parameter_moving_versions_complex():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
@ -1028,13 +1060,21 @@ def test_label_parameter_moving_versions_complex():
|
|||||||
Description="A test parameter version %d" % i,
|
Description="A test parameter version %d" % i,
|
||||||
Value="value-%d" % i,
|
Value="value-%d" % i,
|
||||||
Type="String",
|
Type="String",
|
||||||
Overwrite=True
|
Overwrite=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["test-label1", "test-label2", "test-label3"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
ParameterVersion=1,
|
||||||
|
Labels=["test-label1", "test-label2", "test-label3"],
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(1)
|
response["ParameterVersion"].should.equal(1)
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=2, Labels=["test-label2", "test-label3"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
ParameterVersion=2,
|
||||||
|
Labels=["test-label2", "test-label3"],
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal([])
|
response["InvalidLabels"].should.equal([])
|
||||||
response["ParameterVersion"].should.equal(2)
|
response["ParameterVersion"].should.equal(2)
|
||||||
|
|
||||||
@ -1047,45 +1087,93 @@ def test_label_parameter_moving_versions_complex():
|
|||||||
param["Value"].should.equal("value-%d" % index)
|
param["Value"].should.equal("value-%d" % index)
|
||||||
param["Version"].should.equal(index + 1)
|
param["Version"].should.equal(index + 1)
|
||||||
param["Description"].should.equal("A test parameter version %d" % index)
|
param["Description"].should.equal("A test parameter version %d" % index)
|
||||||
labels = ["test-label2", "test-label3"] if param["Version"] == 2 else (["test-label1"] if param["Version"] == 1 else [])
|
labels = (
|
||||||
|
["test-label2", "test-label3"]
|
||||||
|
if param["Version"] == 2
|
||||||
|
else (["test-label1"] if param["Version"] == 1 else [])
|
||||||
|
)
|
||||||
param["Labels"].should.equal(labels)
|
param["Labels"].should.equal(labels)
|
||||||
|
|
||||||
len(parameters_response).should.equal(3)
|
len(parameters_response).should.equal(3)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_exception_ten_labels_at_once():
|
def test_label_parameter_version_exception_ten_labels_at_once():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
test_labels = ["test-label1", "test-label2", "test-label3", "test-label4", "test-label5", "test-label6", "test-label7", "test-label8", "test-label9", "test-label10", "test-label11"]
|
test_labels = [
|
||||||
|
"test-label1",
|
||||||
|
"test-label2",
|
||||||
|
"test-label3",
|
||||||
|
"test-label4",
|
||||||
|
"test-label5",
|
||||||
|
"test-label6",
|
||||||
|
"test-label7",
|
||||||
|
"test-label8",
|
||||||
|
"test-label9",
|
||||||
|
"test-label10",
|
||||||
|
"test-label11",
|
||||||
|
]
|
||||||
|
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
client.label_parameter_version.when.called_with(
|
client.label_parameter_version.when.called_with(
|
||||||
Name="test", ParameterVersion=1, Labels=test_labels
|
Name="test", ParameterVersion=1, Labels=test_labels
|
||||||
).should.throw(
|
).should.throw(
|
||||||
ClientError,
|
ClientError,
|
||||||
"An error occurred (ParameterVersionLabelLimitExceeded) when calling the LabelParameterVersion operation: "
|
"An error occurred (ParameterVersionLabelLimitExceeded) when calling the LabelParameterVersion operation: "
|
||||||
"A parameter version can have maximum 10 labels."
|
"A parameter version can have maximum 10 labels."
|
||||||
"Move one or more labels to another version and try again."
|
"Move one or more labels to another version and try again.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_exception_ten_labels_over_multiple_calls():
|
def test_label_parameter_version_exception_ten_labels_over_multiple_calls():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
|
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["test-label1", "test-label2", "test-label3", "test-label4", "test-label5"])
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
|
client.label_parameter_version(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
ParameterVersion=1,
|
||||||
|
Labels=[
|
||||||
|
"test-label1",
|
||||||
|
"test-label2",
|
||||||
|
"test-label3",
|
||||||
|
"test-label4",
|
||||||
|
"test-label5",
|
||||||
|
],
|
||||||
|
)
|
||||||
client.label_parameter_version.when.called_with(
|
client.label_parameter_version.when.called_with(
|
||||||
Name="test", ParameterVersion=1, Labels=["test-label6", "test-label7", "test-label8", "test-label9", "test-label10", "test-label11"]
|
Name="test",
|
||||||
|
ParameterVersion=1,
|
||||||
|
Labels=[
|
||||||
|
"test-label6",
|
||||||
|
"test-label7",
|
||||||
|
"test-label8",
|
||||||
|
"test-label9",
|
||||||
|
"test-label10",
|
||||||
|
"test-label11",
|
||||||
|
],
|
||||||
).should.throw(
|
).should.throw(
|
||||||
ClientError,
|
ClientError,
|
||||||
"An error occurred (ParameterVersionLabelLimitExceeded) when calling the LabelParameterVersion operation: "
|
"An error occurred (ParameterVersionLabelLimitExceeded) when calling the LabelParameterVersion operation: "
|
||||||
"A parameter version can have maximum 10 labels."
|
"A parameter version can have maximum 10 labels."
|
||||||
"Move one or more labels to another version and try again."
|
"Move one or more labels to another version and try again.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_invalid_name():
|
def test_label_parameter_version_invalid_name():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
@ -1097,15 +1185,21 @@ def test_label_parameter_version_invalid_name():
|
|||||||
).should.throw(
|
).should.throw(
|
||||||
ClientError,
|
ClientError,
|
||||||
"An error occurred (ParameterNotFound) when calling the LabelParameterVersion operation: "
|
"An error occurred (ParameterNotFound) when calling the LabelParameterVersion operation: "
|
||||||
"Parameter test not found."
|
"Parameter test not found.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_invalid_parameter_version():
|
def test_label_parameter_version_invalid_parameter_version():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
|
|
||||||
response = client.label_parameter_version.when.called_with(
|
response = client.label_parameter_version.when.called_with(
|
||||||
Name=test_parameter_name, Labels=["test-label"], ParameterVersion=5
|
Name=test_parameter_name, Labels=["test-label"], ParameterVersion=5
|
||||||
@ -1113,37 +1207,52 @@ def test_label_parameter_version_invalid_parameter_version():
|
|||||||
ClientError,
|
ClientError,
|
||||||
"An error occurred (ParameterVersionNotFound) when calling the LabelParameterVersion operation: "
|
"An error occurred (ParameterVersionNotFound) when calling the LabelParameterVersion operation: "
|
||||||
"Systems Manager could not find version 5 of test. "
|
"Systems Manager could not find version 5 of test. "
|
||||||
"Verify the version and try again."
|
"Verify the version and try again.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_label_parameter_version_invalid_label():
|
def test_label_parameter_version_invalid_label():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
|
||||||
test_parameter_name = "test"
|
test_parameter_name = "test"
|
||||||
client.put_parameter(Name=test_parameter_name, Description="A test parameter", Value="value", Type="String")
|
client.put_parameter(
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["awsabc"])
|
Name=test_parameter_name,
|
||||||
|
Description="A test parameter",
|
||||||
|
Value="value",
|
||||||
|
Type="String",
|
||||||
|
)
|
||||||
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=["awsabc"]
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal(["awsabc"])
|
response["InvalidLabels"].should.equal(["awsabc"])
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["ssmabc"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=["ssmabc"]
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal(["ssmabc"])
|
response["InvalidLabels"].should.equal(["ssmabc"])
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["9abc"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=["9abc"]
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal(["9abc"])
|
response["InvalidLabels"].should.equal(["9abc"])
|
||||||
|
|
||||||
response = client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=["abc/123"])
|
response = client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=["abc/123"]
|
||||||
|
)
|
||||||
response["InvalidLabels"].should.equal(["abc/123"])
|
response["InvalidLabels"].should.equal(["abc/123"])
|
||||||
|
|
||||||
client.label_parameter_version.when.called_with(
|
client.label_parameter_version.when.called_with(
|
||||||
Name=test_parameter_name, ParameterVersion=1, Labels=["a"*101]
|
Name=test_parameter_name, ParameterVersion=1, Labels=["a" * 101]
|
||||||
).should.throw(
|
).should.throw(
|
||||||
ClientError,
|
ClientError,
|
||||||
"1 validation error detected: "
|
"1 validation error detected: "
|
||||||
"Value '[%s]' at 'labels' failed to satisfy constraint: "
|
"Value '[%s]' at 'labels' failed to satisfy constraint: "
|
||||||
"Member must satisfy constraint: "
|
"Member must satisfy constraint: "
|
||||||
"[Member must have length less than or equal to 100, Member must have length greater than or equal to 1]" % ("a"*101)
|
"[Member must have length less than or equal to 100, Member must have length greater than or equal to 1]"
|
||||||
|
% ("a" * 101),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_get_parameter_history_with_label():
|
def test_get_parameter_history_with_label():
|
||||||
@ -1161,7 +1270,9 @@ def test_get_parameter_history_with_label():
|
|||||||
Overwrite=True,
|
Overwrite=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
client.label_parameter_version(Name=test_parameter_name, ParameterVersion=1, Labels=test_labels)
|
client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=1, Labels=test_labels
|
||||||
|
)
|
||||||
|
|
||||||
response = client.get_parameter_history(Name=test_parameter_name)
|
response = client.get_parameter_history(Name=test_parameter_name)
|
||||||
parameters_response = response["Parameters"]
|
parameters_response = response["Parameters"]
|
||||||
@ -1177,6 +1288,7 @@ def test_get_parameter_history_with_label():
|
|||||||
|
|
||||||
len(parameters_response).should.equal(3)
|
len(parameters_response).should.equal(3)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_get_parameter_history_with_label_non_latest():
|
def test_get_parameter_history_with_label_non_latest():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
@ -1193,7 +1305,9 @@ def test_get_parameter_history_with_label_non_latest():
|
|||||||
Overwrite=True,
|
Overwrite=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
client.label_parameter_version(Name=test_parameter_name, ParameterVersion=2, Labels=test_labels)
|
client.label_parameter_version(
|
||||||
|
Name=test_parameter_name, ParameterVersion=2, Labels=test_labels
|
||||||
|
)
|
||||||
|
|
||||||
response = client.get_parameter_history(Name=test_parameter_name)
|
response = client.get_parameter_history(Name=test_parameter_name)
|
||||||
parameters_response = response["Parameters"]
|
parameters_response = response["Parameters"]
|
||||||
@ -1209,6 +1323,7 @@ def test_get_parameter_history_with_label_non_latest():
|
|||||||
|
|
||||||
len(parameters_response).should.equal(3)
|
len(parameters_response).should.equal(3)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_get_parameter_history_with_label_latest_assumed():
|
def test_get_parameter_history_with_label_latest_assumed():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
@ -1241,6 +1356,7 @@ def test_get_parameter_history_with_label_latest_assumed():
|
|||||||
|
|
||||||
len(parameters_response).should.equal(3)
|
len(parameters_response).should.equal(3)
|
||||||
|
|
||||||
|
|
||||||
@mock_ssm
|
@mock_ssm
|
||||||
def test_get_parameter_history_missing_parameter():
|
def test_get_parameter_history_missing_parameter():
|
||||||
client = boto3.client("ssm", region_name="us-east-1")
|
client = boto3.client("ssm", region_name="us-east-1")
|
||||||
|
Loading…
Reference in New Issue
Block a user