[aws_ssm_parameter_store] use describe_parameters paginator (#45632) (#45666)

* [aws_ssm_parameter_store] use describe_parameters paginator (#45632)

Fix the service reaching an internal limit while processing the results and returning unexpected data
(cherry picked from commit 7aaa5da41d)

* changelog
This commit is contained in:
Sloane Hertel 2018-10-11 11:22:36 -04:00 committed by Toshio Kuratomi
parent ebc35bd79f
commit e9d42babbf
2 changed files with 9 additions and 1 deletions

View file

@ -0,0 +1,5 @@
---
bugfixes:
- aws_ssm_parameter_store - AWS Systems Manager Parameter Store may reach
an internal limit before finding the expected parameter, causing misleading
results. This is resolved by paginating the describe_parameters call.

View file

@ -185,7 +185,10 @@ def create_update_parameter(client, module):
# Description field not available from get_parameter function so get it from describe_parameters
describe_existing_parameter = None
try:
describe_existing_parameter = client.describe_parameters(Filters=[{"Key": "Name", "Values": [args['Name']]}])
describe_existing_parameter_paginator = client.get_paginator('describe_parameters')
describe_existing_parameter = describe_existing_parameter_paginator.paginate(
Filters=[{"Key": "Name", "Values": [args['Name']]}]).build_full_result()
except ClientError as e:
module.fail_json_aws(e, msg="getting description value")