module Awspec::Helper::Finder::Kms

Public Instance Methods

find_kms_key(key_id) click to toggle source
# File lib/awspec/helper/finder/kms.rb, line 4
def find_kms_key(key_id)
  kms_client.describe_key(key_id: key_id).key_metadata
rescue
  nil
end
find_kms_key_by_alias(key_alias_name) click to toggle source
# File lib/awspec/helper/finder/kms.rb, line 10
def find_kms_key_by_alias(key_alias_name)
  alias_name = key_alias_name.start_with?('alias/') ? key_alias_name : "alias/#{key_alias_name}"
  found = nil
  next_marker = nil

  loop do
    res = kms_client.list_aliases(marker: next_marker, limit: 100)
    found = res.aliases.find { |key_alias| key_alias.alias_name == alias_name }
    (found.nil? && next_marker = res.next_marker) || break
  end

  find_kms_key(found.target_key_id) if found
end
select_all_kms_aliases() click to toggle source
# File lib/awspec/helper/finder/kms.rb, line 24
def select_all_kms_aliases
  all_aliases = []
  next_marker = nil

  loop do
    res = kms_client.list_aliases(marker: next_marker, limit: 100)
    all_aliases.concat(res.aliases)
    next_marker = res.next_marker || break
  end

  all_aliases
end