Sha256: 0679aaa972456bad23aa84d45922f9db99222631915594c0f8908caf40b455d5

Contents?: true

Size: 566 Bytes

Versions: 15

Compression:

Stored size: 566 Bytes

Contents

module Jets::Cfn::Resource::Iam
  class ManagedPolicy
    extend Memoist

    attr_reader :definitions
    def initialize(*definitions)
      @definitions = definitions.flatten.compact
    end

    def arns
      definitions.map { |definition| standardize(definition) }
    end
    memoize :arns # only process arns once

    # AmazonEC2ReadOnlyAccess => arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess
    def standardize(definition)
      return definition if definition.include?('iam::aws:policy')

      "arn:aws:iam::aws:policy/#{definition}"
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
jets-5.0.13 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.12 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.11 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.10 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.9 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.8 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.7 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.6 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.5 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.4 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.3 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.2 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.1 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.0 lib/jets/cfn/resource/iam/managed_policy.rb
jets-5.0.0.beta1 lib/jets/cfn/resource/iam/managed_policy.rb