convection 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|