Sha256: 63792de975488031a3e707316420b83654a8e416d016fc99b1d20aac3d2bfd4f

Contents?: true

Size: 1.04 KB

Versions: 12

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Awspec::Helper
  module Finder
    module Kms
      def find_kms_key(key_id)
        kms_client.describe_key(key_id: key_id).key_metadata
      rescue StandardError
        nil
      end

      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

      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
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
awspec-1.30.0 lib/awspec/helper/finder/kms.rb
awspec-1.29.3 lib/awspec/helper/finder/kms.rb
awspec-1.29.2 lib/awspec/helper/finder/kms.rb
awspec-1.29.1 lib/awspec/helper/finder/kms.rb
awspec-1.29.0 lib/awspec/helper/finder/kms.rb
awspec-1.28.2 lib/awspec/helper/finder/kms.rb
awspec-1.28.1 lib/awspec/helper/finder/kms.rb
awspec-1.28.0 lib/awspec/helper/finder/kms.rb
awspec-1.27.1 lib/awspec/helper/finder/kms.rb
awspec-1.27.0 lib/awspec/helper/finder/kms.rb
awspec-1.26.0 lib/awspec/helper/finder/kms.rb
awspec-1.25.2 lib/awspec/helper/finder/kms.rb