Sha256: c952be5a3e2990fbabc735fd877f1c946994d1039235919db81447f0328c21d9

Contents?: true

Size: 1.83 KB

Versions: 67

Compression:

Stored size: 1.83 KB

Contents

require_relative '../resource'

module Convection
  module Model
    class Template
      class Resource
        # Creates an Amazon CloudFront web distribution.
        #
        # @example
        #   cloudfront_distribution 'MySiteWebsite' do
        #     config do
        #       cname 'mysite.example.com'
        #       default_root_object 'index.html'
        #       price_class 'PriceClass_100'
        #       default_cache_behavior do
        #         forwarded_values do
        #           query_string false
        #         end
        #         target_origin 's3-mysite-bucket'
        #         viewer_protocol_policy 'redirect-to-https'
        #       end
        #       origin do
        #         id 's3-mysite-bucket'
        #         domain_name "mysite.example.com.s3-website-#{stack.region}.amazonaws.com"
        #         custom_origin do
        #           protocol_policy 'http-only'
        #         end
        #       end
        #       viewer_certificate do
        #         iam_certificate 'EXAMPLECERTID'
        #         minimum_protocol_version 'TLSv1'
        #         ssl_support_method 'sni-only'
        #       end
        #     end
        #   end
        class CloudFrontDistribution < Resource
          include Model::Mixin::Taggable

          type 'AWS::CloudFront::Distribution', :cloudfront_distribution
          property :config, 'DistributionConfig'

          # Append a network interface to network_interfaces
          def config(&block)
            config = ResourceProperty::CloudFrontDistributionConfig.new(self)
            config.instance_exec(&block) if block
            properties['DistributionConfig'].set(config)
          end

          def render(*args)
            super.tap do |resource|
              render_tags(resource)
            end
          end
        end
      end
    end
  end
end

Version data entries

67 entries across 67 versions & 1 rubygems

Version Path
convection-2.3.1 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.3.0 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.29 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.28.pre.beta.2 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.28.pre.beta.1 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.27 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.26 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.25 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.24 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.23 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.22 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.21 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.20 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.19 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.18 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.17 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.16 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.15 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.14 lib/convection/model/template/resource/aws_cloudfront_distribution.rb
convection-2.2.13 lib/convection/model/template/resource/aws_cloudfront_distribution.rb