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)