Make putparameter behave more like the real endpoint does, respond with Version or ParameterAlreadyExists (#1464)

This commit is contained in:
ramox- 2018-03-21 16:56:57 +01:00 committed by Jack Danger
commit 508b392697
3 changed files with 28 additions and 9 deletions

View file

@ -126,6 +126,7 @@ class SimpleSystemManagerBackend(BaseBackend):
last_modified_date = time.time()
self._parameters[name] = Parameter(
name, value, type, description, keyid, last_modified_date, version)
return version
def add_tags_to_resource(self, resource_type, resource_id, tags):
for key, value in tags.items():

View file

@ -162,9 +162,18 @@ class SimpleSystemManagerResponse(BaseResponse):
keyid = self._get_param('KeyId')
overwrite = self._get_param('Overwrite', False)
self.ssm_backend.put_parameter(
result = self.ssm_backend.put_parameter(
name, description, value, type_, keyid, overwrite)
return json.dumps({})
if result is None:
error = {
'__type': 'ParameterAlreadyExists',
'message': 'Parameter {0} already exists.'.format(name)
}
return json.dumps(error), dict(status=400)
response = {'Version': result}
return json.dumps(response)
def add_tags_to_resource(self):
resource_id = self._get_param('ResourceId')