Sha256: 12f16db1f952b19042f53ce8239c4921612b8489b081169a08b8d6deb765e481

Contents?: true

Size: 927 Bytes

Versions: 7

Compression:

Stored size: 927 Bytes

Contents

require_relative '../resource'

module Convection
  module Model
    class Template
      class Resource
        ##
        # AWS::IAM::ManagedPolicy
        ##
        class IAMManagedPolicy < Resource
          extend Forwardable

          type 'AWS::IAM::ManagedPolicy'
          property :path, 'Path'
          property :group, 'Groups', :type => :list
          property :role, 'Roles', :type => :list
          property :user, 'Users', :type => :list

          attr_reader :document
          def_delegators :@document, :allow, :deny, :id, :version, :statement

          def initialize(*args)
            super
            @document = Model::Mixin::Policy.new(:template => @template)
          end

          def render
            super.tap do |r|
              document.render(r['Properties'])
              r['Properties'].delete('PolicyName')
            end
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
convection-0.2.18 lib/convection/model/template/resource/aws_iam_managed_policy.rb
convection-0.2.17 lib/convection/model/template/resource/aws_iam_managed_policy.rb
convection-0.2.16 lib/convection/model/template/resource/aws_iam_managed_policy.rb
convection-0.2.15 lib/convection/model/template/resource/aws_iam_managed_policy.rb
convection-0.2.14 lib/convection/model/template/resource/aws_iam_managed_policy.rb
convection-0.2.13 lib/convection/model/template/resource/aws_iam_managed_policy.rb
convection-0.2.12 lib/convection/model/template/resource/aws_iam_managed_policy.rb