Sha256: a4872d5e39ee7406af9097a83b6ff8fdfa0080d59e3eb48f10f7e667f067bade

Contents?: true

Size: 830 Bytes

Versions: 7

Compression:

Stored size: 830 Bytes

Contents

require 'forwardable'
require_relative '../resource'

module Convection
  module Model
    class Template
      class Resource
        ##
        # AWS::S3::BucketPolicy
        ##
        class S3BucketPolicy < Resource
          extend Forwardable

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

          def_delegators :@document, :allow, :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

7 entries across 7 versions & 1 rubygems

Version Path
convection-0.2.7 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-0.2.6 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-0.2.5 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-0.2.4 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-0.2.3 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-0.2.2 lib/convection/model/template/resource/aws_s3_bucket_policy.rb
convection-0.2.1 lib/convection/model/template/resource/aws_s3_bucket_policy.rb