convection 0.2.8 → 0.2.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/convection/model/template/resource.rb +1 -0
- data/lib/convection/model/template/resource/aws_cloudfront_distribution.rb +64 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_cachebehavior.rb +29 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_customerrorresponse.rb +18 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_customorigin.rb +17 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_defaultcachebehavior.rb +28 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_distribution_config.rb +69 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_forwardedvalues.rb +16 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_georestriction.rb +16 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_logging.rb +17 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_origin.rb +31 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_restrictions.rb +21 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_s3origin.rb +15 -0
- data/lib/convection/model/template/resource_property/aws_cloudfront_viewercertificate.rb +18 -0
- metadata +15 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ea7304cc3667575f15d9af18104110d9d749a38
|
4
|
+
data.tar.gz: 9330e23087406535c02596271153d5f860b1aed4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f62380a06e7467618b5e25e4d6f158ee1bc465cc69d584d05bb845558a229c22637cf480a3e72610863b582fb388ebb04430dbc11327e139023bec13566b33d8
|
7
|
+
data.tar.gz: ff9ffa5c1a66547f6d8aae4f9afc62f02a95f984a65368a18b86c652d0bf623a9328d3291cf67972b5f3111939325d6c17464070809f3ae18caf4bcf25a2796a
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require_relative '../resource'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class Resource
|
7
|
+
##
|
8
|
+
# AWS::CloudFront::Distribution
|
9
|
+
#
|
10
|
+
# Creates an Amazon CloudFront web distribution. See
|
11
|
+
# {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution.html AWS::CloudFront::Distribution}.
|
12
|
+
#
|
13
|
+
# == Example
|
14
|
+
#
|
15
|
+
# cloudfront_distribution 'MySiteWebsite' do
|
16
|
+
# config do
|
17
|
+
# cname 'mysite.example.com'
|
18
|
+
# default_root_object 'index.html'
|
19
|
+
# price_class 'PriceClass_100'
|
20
|
+
# default_cache_behavior do
|
21
|
+
# forwarded_values do
|
22
|
+
# query_string false
|
23
|
+
# end
|
24
|
+
# target_origin 's3-mysite-bucket'
|
25
|
+
# viewer_protocol_policy 'redirect-to-https'
|
26
|
+
# end
|
27
|
+
# origin do
|
28
|
+
# id 's3-mysite-bucket'
|
29
|
+
# domain_name "mysite.example.com.s3-website-#{stack.region}.amazonaws.com"
|
30
|
+
# custom_origin do
|
31
|
+
# protocol_policy 'http-only'
|
32
|
+
# end
|
33
|
+
# end
|
34
|
+
# viewer_certificate do
|
35
|
+
# iam_certificate 'EXAMPLECERTID'
|
36
|
+
# minimum_protocol_version 'TLSv1'
|
37
|
+
# ssl_support_method 'sni-only'
|
38
|
+
# end
|
39
|
+
# end
|
40
|
+
# end
|
41
|
+
#
|
42
|
+
class CloudFrontDistribution < Resource
|
43
|
+
include Model::Mixin::Taggable
|
44
|
+
|
45
|
+
type 'AWS::CloudFront::Distribution', :cloudfront_distribution
|
46
|
+
property :config, 'DistributionConfig'
|
47
|
+
|
48
|
+
# Append a network interface to network_interfaces
|
49
|
+
def config(&block)
|
50
|
+
config = ResourceProperty::CloudFrontDistributionConfig.new(self)
|
51
|
+
config.instance_exec(&block) if block
|
52
|
+
properties['DistributionConfig'].set(config)
|
53
|
+
end
|
54
|
+
|
55
|
+
def render(*args)
|
56
|
+
super.tap do |resource|
|
57
|
+
render_tags(resource)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html
|
8
|
+
# CloudFront DistributionConfig CacheBehavior Embedded Property Type}
|
9
|
+
class CloudFrontCacheBehavior < ResourceProperty
|
10
|
+
property :allowed_methods, 'AllowedMethods', :type => :list, :default => %w(HEAD GET)
|
11
|
+
property :cached_methods, 'CachedMethods', :type => :list
|
12
|
+
property :forwarded_values, 'ForwardedValues'
|
13
|
+
property :min_ttl, 'MinTTL'
|
14
|
+
property :path_pattern, 'PathPattern', :default => '*'
|
15
|
+
property :smooth_streaming, 'SmoothStreaming'
|
16
|
+
property :target_origin, 'TargetOriginId'
|
17
|
+
property :trusted_signer, 'TrustedSigners', :type => :list
|
18
|
+
property :viewer_protocol_policy, 'ViewerProtocolPolicy', :default => 'allow-all'
|
19
|
+
|
20
|
+
def forwarded_values(&block)
|
21
|
+
values = ResourceProperty::CloudFrontForwardedValues.new(self)
|
22
|
+
values.instance_exec(&block) if block
|
23
|
+
properties['ForwardedValues'].set(values)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html
|
8
|
+
# CloudFront DistributionConfig Restrictions GeoRestriction Embedded Property Type}
|
9
|
+
class CloudFrontCustomErrorResponse < ResourceProperty
|
10
|
+
property :min_ttl, 'ErrorCachingMinTTL'
|
11
|
+
property :error_code, 'ErrorCode'
|
12
|
+
property :response_code, 'ResponseCode'
|
13
|
+
property :response_page_path, 'ResponsePagePath'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html
|
8
|
+
# CloudFront DistributionConfig Origin S3Origin Embedded Property Type}
|
9
|
+
class CloudFrontCustomOrigin < ResourceProperty
|
10
|
+
property :http_port, 'HTTPPort', :default => 80
|
11
|
+
property :https_port, 'HTTPSPort', :default => 443
|
12
|
+
property :protocol_policy, 'OriginProtocolPolicy'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html
|
8
|
+
# CloudFront DefaultCacheBehavior Embedded Property Type}
|
9
|
+
class CloudFrontDefaultCacheBehavior < ResourceProperty
|
10
|
+
property :allowed_methods, 'AllowedMethods', :type => :list, :default => %w(HEAD GET)
|
11
|
+
property :cached_methods, 'CachedMethods', :type => :list
|
12
|
+
property :forwarded_values, 'ForwardedValues'
|
13
|
+
property :min_ttl, 'MinTTL'
|
14
|
+
property :smooth_streaming, 'SmoothStreaming'
|
15
|
+
property :target_origin, 'TargetOriginId'
|
16
|
+
property :trusted_signer, 'TrustedSigners', :type => :list
|
17
|
+
property :viewer_protocol_policy, 'ViewerProtocolPolicy', :default => 'allow-all'
|
18
|
+
|
19
|
+
def forwarded_values(&block)
|
20
|
+
values = ResourceProperty::CloudFrontForwardedValues.new(self)
|
21
|
+
values.instance_exec(&block) if block
|
22
|
+
properties['ForwardedValues'].set(values)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html
|
8
|
+
# CloudFront DistributionConfig Embedded Property Type}
|
9
|
+
class CloudFrontDistributionConfig < ResourceProperty
|
10
|
+
# NOTE: we avoid overloading Ruby's alias here by using cname
|
11
|
+
property :cname, 'Aliases', :type => :list
|
12
|
+
property :cache_behaviors, 'CacheBehaviors', :type => :list
|
13
|
+
property :comment, 'Comment'
|
14
|
+
property :custom_error_responses, 'CustomErrorResponses', :type => :array
|
15
|
+
property :default_cache_behavior, 'DefaultCacheBehavior'
|
16
|
+
property :default_root_object, 'DefaultRootObject'
|
17
|
+
property :enabled, 'Enabled', :default => true
|
18
|
+
property :logging, 'Logging'
|
19
|
+
property :origins, 'Origins', :type => :list
|
20
|
+
property :price_class, 'PriceClass'
|
21
|
+
property :restrictions, 'Restrictions'
|
22
|
+
property :viewer_certificate, 'ViewerCertificate'
|
23
|
+
|
24
|
+
def cache_behavior(&block)
|
25
|
+
behavior = ResourceProperty::CloudFrontCacheBehavior.new(self)
|
26
|
+
behavior.instance_exec(&block) if block
|
27
|
+
cache_behaviors << behavior
|
28
|
+
end
|
29
|
+
|
30
|
+
def custom_error_response(&block)
|
31
|
+
response = ResourceProperty::CloudFrontCustomErrorResponse.new(self)
|
32
|
+
response.instance_exec(&block) if block
|
33
|
+
custom_error_responses << response
|
34
|
+
end
|
35
|
+
|
36
|
+
def default_cache_behavior(&block)
|
37
|
+
behavior = ResourceProperty::CloudFrontDefaultCacheBehavior.new(self)
|
38
|
+
behavior.instance_exec(&block) if block
|
39
|
+
properties['DefaultCacheBehavior'].set(behavior)
|
40
|
+
end
|
41
|
+
|
42
|
+
def logging(&block)
|
43
|
+
logging = ResourceProperty::CloudFrontLogging.new(self)
|
44
|
+
logging.instance_exec(&block) if block
|
45
|
+
properties['Logging'].set(logging)
|
46
|
+
end
|
47
|
+
|
48
|
+
def origin(&block)
|
49
|
+
origin = ResourceProperty::CloudFrontOrigin.new(self)
|
50
|
+
origin.instance_exec(&block) if block
|
51
|
+
origins << origin
|
52
|
+
end
|
53
|
+
|
54
|
+
def restrictions(&block)
|
55
|
+
restrictions = ResourceProperty::CloudFrontRestrictions.new(self)
|
56
|
+
restrictions.instance_exec(&block) if block
|
57
|
+
properties['Restrictions'].set(restrictions)
|
58
|
+
end
|
59
|
+
|
60
|
+
def viewer_certificate(&block)
|
61
|
+
cert = ResourceProperty::CloudFrontViewerCertificate.new(self)
|
62
|
+
cert.instance_exec(&block) if block
|
63
|
+
properties['ViewerCertificate'].set(cert)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html
|
8
|
+
# CloudFront ForwardedValues Embedded Property Type}
|
9
|
+
class CloudFrontForwardedValues < ResourceProperty
|
10
|
+
property :headers, 'Headers', :type => :list
|
11
|
+
property :query_string, 'QueryString', :default => false
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html
|
8
|
+
# CloudFront DistributionConfig Restrictions GeoRestriction Embedded Property Type}
|
9
|
+
class CloudFrontGeoRestriction < ResourceProperty
|
10
|
+
property :locations, 'Locations', :type => :array
|
11
|
+
property :type, 'RestrictionType'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html
|
8
|
+
# CloudFront Logging Embedded Property Type}
|
9
|
+
class CloudFrontLogging < ResourceProperty
|
10
|
+
property :bucket, 'Bucket'
|
11
|
+
property :include_cookies, 'IncludeCookies'
|
12
|
+
property :prefix, 'Prefix'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html
|
8
|
+
# CloudFront Origin Embedded Property Type}
|
9
|
+
class CloudFrontOrigin < ResourceProperty
|
10
|
+
property :custom_origin, 'CustomOriginConfig'
|
11
|
+
property :domain_name, 'DomainName'
|
12
|
+
property :id, 'Id'
|
13
|
+
property :origin_path, 'OriginPath'
|
14
|
+
property :s3_origin, 'S3OriginConfig'
|
15
|
+
|
16
|
+
def custom_origin(&block)
|
17
|
+
origin = ResourceProperty::CloudFrontCustomOrigin.new(self)
|
18
|
+
origin.instance_exec(&block) if block
|
19
|
+
properties['CustomOriginConfig'].set(origin)
|
20
|
+
end
|
21
|
+
|
22
|
+
def s3_origin(&block)
|
23
|
+
origin = ResourceProperty::CloudFrontS3Origin.new(self)
|
24
|
+
origin.instance_exec(&block) if block
|
25
|
+
properties['S3OriginConfig'].set(origin)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions.html
|
8
|
+
# CloudFront DistributionConfiguration Restrictions Embedded Property Type}
|
9
|
+
class CloudFrontRestrictions < ResourceProperty
|
10
|
+
property :geo, 'GeoRestriction'
|
11
|
+
|
12
|
+
def geo(&block)
|
13
|
+
restriction = ResourceProperty::CloudFrontGeoRestriction.new(self)
|
14
|
+
restriction.instance_exec(&block) if block
|
15
|
+
properties['GeoRestriction'].set(restriction)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-s3origin.html
|
8
|
+
# CloudFront DistributionConfig Origin S3Origin Embedded Property Type}
|
9
|
+
class CloudFrontS3Origin < ResourceProperty
|
10
|
+
property :access_identity, 'OriginAccessIdentity'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../resource_property'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class ResourceProperty
|
7
|
+
# Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html
|
8
|
+
# CloudFront DistributionConfiguration ViewerCertificate Embedded Property Type}
|
9
|
+
class CloudFrontViewerCertificate < ResourceProperty
|
10
|
+
property :use_default, 'CloudFrontDefaultCertificate'
|
11
|
+
property :iam_certificate, 'IamCertificateId'
|
12
|
+
property :minimum_protocol_version, 'MinimumProtocolVersion'
|
13
|
+
property :ssl_support_method, 'SslSupportMethod'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: convection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Manero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -378,6 +378,7 @@ files:
|
|
378
378
|
- lib/convection/model/template/resource/aws_auto_scaling_launch_configuration.rb
|
379
379
|
- lib/convection/model/template/resource/aws_auto_scaling_scaling_policy.rb
|
380
380
|
- lib/convection/model/template/resource/aws_cloud_watch_alarm.rb
|
381
|
+
- lib/convection/model/template/resource/aws_cloudfront_distribution.rb
|
381
382
|
- lib/convection/model/template/resource/aws_ec2_instance.rb
|
382
383
|
- lib/convection/model/template/resource/aws_ec2_internet_gateway.rb
|
383
384
|
- lib/convection/model/template/resource/aws_ec2_network_acl.rb
|
@@ -416,6 +417,18 @@ files:
|
|
416
417
|
- lib/convection/model/template/resource/aws_sqs_queue.rb
|
417
418
|
- lib/convection/model/template/resource/aws_sqs_queue_policy.rb
|
418
419
|
- lib/convection/model/template/resource_property.rb
|
420
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_cachebehavior.rb
|
421
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_customerrorresponse.rb
|
422
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_customorigin.rb
|
423
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_defaultcachebehavior.rb
|
424
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_distribution_config.rb
|
425
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_forwardedvalues.rb
|
426
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_georestriction.rb
|
427
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_logging.rb
|
428
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_origin.rb
|
429
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_restrictions.rb
|
430
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_s3origin.rb
|
431
|
+
- lib/convection/model/template/resource_property/aws_cloudfront_viewercertificate.rb
|
419
432
|
- lib/convection/model/template/resource_property/aws_ec2_network_interface.rb
|
420
433
|
- lib/convection/version.rb
|
421
434
|
- test/convection/model/test_conditions.rb
|