From bed1ca0998489f27a51665830359f3b37ea2fad1 Mon Sep 17 00:00:00 2001 From: Will Date: Sat, 28 Nov 2020 09:33:16 +0000 Subject: [PATCH] Fix for aws_kms_info with external/custom key store keys (#311) * Fix for aws_kms_info with external/custom key store keys * Added changelog fragment --- .../fragments/311-fix-aws_kms_info-external-keys.yaml | 2 ++ plugins/modules/aws_kms_info.py | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/311-fix-aws_kms_info-external-keys.yaml diff --git a/changelogs/fragments/311-fix-aws_kms_info-external-keys.yaml b/changelogs/fragments/311-fix-aws_kms_info-external-keys.yaml new file mode 100644 index 00000000000..618023c35ee --- /dev/null +++ b/changelogs/fragments/311-fix-aws_kms_info-external-keys.yaml @@ -0,0 +1,2 @@ +bugfixes: + - aws_kms_info - fixed incompatibility with external and custom key-store keys. The module was attempting to call `GetKeyRotationStatus`, which raises `UnsupportedOperationException` for these key types (https://github.com/ansible-collections/community.aws/pull/311). diff --git a/plugins/modules/aws_kms_info.py b/plugins/modules/aws_kms_info.py index 160ca5e13c7..235b7bc5b1e 100644 --- a/plugins/modules/aws_kms_info.py +++ b/plugins/modules/aws_kms_info.py @@ -373,7 +373,11 @@ def get_key_details(connection, module, key_id, tokens=None): exception=traceback.format_exc(), **camel_dict_to_snake_dict(e.response)) result['aliases'] = aliases.get(result['KeyId'], []) - result['enable_key_rotation'] = get_enable_key_rotation_with_backoff(connection, key_id) + + if result['Origin'] == 'AWS_KMS': + result['enable_key_rotation'] = get_enable_key_rotation_with_backoff(connection, key_id) + else: + result['enable_key_rotation'] = None if module.params.get('pending_deletion'): return camel_dict_to_snake_dict(result)