Sha256: 6324e74ee7fc403f2d10baf20d6997432a139fc8a0fad9e8eb331574d27f4819

Contents?: true

Size: 1.04 KB

Versions: 47

Compression:

Stored size: 1.04 KB

Contents

require 'forwardable'
require_relative '../resource'

module Convection
  module Model
    class Template
      class Resource
        # @example
        #   s3_bucket_policy 'BucketPolicy' do
        #     bucket "my-bucket"
        #
        #     allow do
        #       principal :AWS => '*'
        #       s3_resource "my-bucket", '*'
        #       action 's3:GetObject'
        #     end
        #   end
        class S3BucketPolicy < Resource
          extend Forwardable

          type 'AWS::S3::BucketPolicy'
          property :bucket, 'Bucket'
          attr_reader :document # , 'PolicyDocument'

          def_delegators :@document, :allow, :deny, :id, :version, :statement
          def_delegator :@document, :name, :policy_name

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

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

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
convection-2.2.12 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.11 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.10 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.9 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.8 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.7 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.6 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.5 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.4 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.3 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.2 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.1 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.2.0 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.1.2 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.1.1 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.1.0 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-2.0.0 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-1.1.7 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-1.1.5 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-1.1.4 lib/convection/model/template/resource/aws_s3_bucket_policy.rb