cf_factory 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/cf_factory +9 -9
- data/examples/base_vpc.rb +40 -40
- data/examples/cloudfront_private.rb +23 -23
- data/examples/cloudinit_script_for_one_instance.rb +77 -77
- data/examples/cloudinit_script_with_autoscaling.rb +85 -85
- data/examples/dynamodb_table.rb +24 -24
- data/examples/elastic_beanstalk_example.rb +23 -23
- data/examples/elb_with_cloudfront.rb +100 -100
- data/examples/instance_with_eip.rb +40 -40
- data/examples/instance_with_yum.rb +40 -40
- data/examples/just_an_instance.rb +31 -31
- data/examples/nat_mutual_monitoring.rb +69 -69
- data/examples/play_with_region_and_zones.rb +28 -28
- data/examples/ra_web_hosting.rb +148 -148
- data/examples/s3_with_cloudfront.rb +35 -35
- data/examples/test_vpc.rb +61 -61
- data/lib/cf_factory/as/cf_as_group.rb +80 -77
- data/lib/cf_factory/as/cf_as_launch_config.rb +55 -55
- data/lib/cf_factory/as/cf_as_scaling_policy.rb +35 -35
- data/lib/cf_factory/as/cf_as_update_policy.rb +23 -0
- data/lib/cf_factory/base/cf_base.rb +112 -102
- data/lib/cf_factory/base/cf_ec2_tag.rb +34 -34
- data/lib/cf_factory/base/cf_generator.rb +20 -20
- data/lib/cf_factory/base/cf_helper.rb +93 -93
- data/lib/cf_factory/base/cf_inner.rb +74 -74
- data/lib/cf_factory/base/cf_main.rb +103 -103
- data/lib/cf_factory/base/cf_mapping.rb +28 -28
- data/lib/cf_factory/base/cf_named_inner.rb +70 -1
- data/lib/cf_factory/base/cf_output.rb +26 -26
- data/lib/cf_factory/base/cf_parameter.rb +27 -27
- data/lib/cf_factory/base/cf_script_reader.rb +34 -34
- data/lib/cf_factory/cloudformation/cf_cloud_formation_init.rb +27 -27
- data/lib/cf_factory/cloudformation/cf_cloudformation_command.rb +39 -39
- data/lib/cf_factory/cloudformation/cf_cloudformation_commands.rb +27 -27
- data/lib/cf_factory/cloudformation/cf_cloudformation_config.rb +35 -35
- data/lib/cf_factory/cloudformation/cf_cloudformation_file.rb +40 -40
- data/lib/cf_factory/cloudformation/cf_cloudformation_files.rb +27 -27
- data/lib/cf_factory/cloudformation/cf_cloudformation_inner.rb +30 -30
- data/lib/cf_factory/cloudformation/cf_cloudformation_package.rb +36 -36
- data/lib/cf_factory/cloudformation/cf_cloudformation_packages.rb +44 -44
- data/lib/cf_factory/cloudformation/cf_cloudformation_sources.rb +32 -32
- data/lib/cf_factory/cloudformation/cf_init_script.rb +80 -80
- data/lib/cf_factory/cloudfront/cf_cache_behavior.rb +39 -39
- data/lib/cf_factory/cloudfront/cf_cache_behaviors.rb +30 -30
- data/lib/cf_factory/cloudfront/cf_cloudfront_distribution.rb +66 -66
- data/lib/cf_factory/cloudfront/cf_custom_origin_config.rb +39 -39
- data/lib/cf_factory/cloudfront/cf_default_cache_behavior.rb +34 -34
- data/lib/cf_factory/cloudfront/cf_distribution_config.rb +33 -33
- data/lib/cf_factory/cloudfront/cf_forwarded_values.rb +27 -27
- data/lib/cf_factory/cloudfront/cf_logging.rb +26 -26
- data/lib/cf_factory/cloudfront/cf_origin.rb +42 -42
- data/lib/cf_factory/cloudfront/cf_s3_origin_config.rb +27 -27
- data/lib/cf_factory/cloudwatch/cf_cloud_watch_alarm.rb +60 -60
- data/lib/cf_factory/dynamo/cf_dynamo_table.rb +45 -45
- data/lib/cf_factory/eb/cd_eb_solution_stack.rb +27 -28
- data/lib/cf_factory/eb/cf_eb_application.rb +41 -41
- data/lib/cf_factory/eb/cf_eb_application_version.rb +24 -24
- data/lib/cf_factory/eb/cf_eb_configuration_template.rb +36 -36
- data/lib/cf_factory/eb/cf_eb_environment.rb +56 -56
- data/lib/cf_factory/eb/cf_eb_option_setting.rb +19 -19
- data/lib/cf_factory/ec2/cf_ebs_volume.rb +56 -56
- data/lib/cf_factory/ec2/cf_ec2_instance.rb +80 -66
- data/lib/cf_factory/ec2/cf_ec2_security_group.rb +42 -42
- data/lib/cf_factory/ec2/cf_ec2_security_group_egress.rb +30 -30
- data/lib/cf_factory/ec2/cf_ec2_security_group_ingress.rb +41 -41
- data/lib/cf_factory/ec2/cf_eip.rb +28 -28
- data/lib/cf_factory/ec2/cf_eip_association.rb +33 -31
- data/lib/cf_factory/ec2/cf_inner_network_interface.rb +26 -0
- data/lib/cf_factory/ec2/cf_network_interface.rb +40 -0
- data/lib/cf_factory/elb/cf_app_cookie_stickiness_policy.rb +17 -17
- data/lib/cf_factory/elb/cf_elb.rb +51 -51
- data/lib/cf_factory/elb/cf_health_check.rb +25 -25
- data/lib/cf_factory/elb/cf_lb_cookie_stickiness_policy.rb +17 -17
- data/lib/cf_factory/elb/cf_listener.rb +28 -28
- data/lib/cf_factory/help/fixes.rb +15 -15
- data/lib/cf_factory/help/ip_mask.rb +167 -167
- data/lib/cf_factory/help/template_validation.rb +30 -30
- data/lib/cf_factory/iam/cf_iam_access_key.rb +34 -34
- data/lib/cf_factory/iam/cf_iam_group.rb +32 -32
- data/lib/cf_factory/iam/cf_iam_instance_profile.rb +32 -32
- data/lib/cf_factory/iam/cf_iam_policy.rb +20 -20
- data/lib/cf_factory/iam/cf_iam_role.rb +58 -58
- data/lib/cf_factory/iam/cf_iam_statement.rb +25 -25
- data/lib/cf_factory/iam/cf_iam_user.rb +36 -36
- data/lib/cf_factory/iam/cf_policy_document.rb +21 -21
- data/lib/cf_factory/modules/base_vpc.rb +63 -63
- data/lib/cf_factory/rds/cf_rds_instance.rb +55 -55
- data/lib/cf_factory/rds/cf_rds_security_group.rb +35 -35
- data/lib/cf_factory/rds/cf_rds_security_group_ingress.rb +31 -31
- data/lib/cf_factory/rds/cf_rds_subnet_group.rb +31 -31
- data/lib/cf_factory/route53/cf_elb_alias_target.rb +23 -23
- data/lib/cf_factory/route53/cf_record_set.rb +63 -63
- data/lib/cf_factory/route53/cf_route53_record_set.rb +63 -63
- data/lib/cf_factory/route53/cf_route53_record_set_group.rb +44 -44
- data/lib/cf_factory/s3/cf_s3_bucket.rb +34 -34
- data/lib/cf_factory/s3/cf_web_site_config.rb +26 -26
- data/lib/cf_factory/sqs/cf_sqs_queue.rb +28 -28
- data/lib/cf_factory/vpc/cf_attach_gateway.rb +30 -30
- data/lib/cf_factory/vpc/cf_internet_gateway.rb +32 -32
- data/lib/cf_factory/vpc/cf_network_acl.rb +41 -41
- data/lib/cf_factory/vpc/cf_network_acl_association.rb +26 -26
- data/lib/cf_factory/vpc/cf_network_acl_entry.rb +39 -39
- data/lib/cf_factory/vpc/cf_route.rb +45 -45
- data/lib/cf_factory/vpc/cf_route_table.rb +43 -43
- data/lib/cf_factory/vpc/cf_route_table_association.rb +26 -26
- data/lib/cf_factory/vpc/cf_subnet.rb +50 -50
- data/lib/cf_factory/vpc/cf_vpc.rb +66 -66
- data/lib/cf_factory.rb +12 -12
- metadata +120 -91
@@ -1,66 +1,66 @@
|
|
1
|
-
require 'cf_factory/base/cf_base'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfCloudfrontDistribution
|
5
|
-
include CfBase
|
6
|
-
|
7
|
-
def initialize(name, distribution_details)
|
8
|
-
@name = name
|
9
|
-
@distribution = distribution_details
|
10
|
-
end
|
11
|
-
|
12
|
-
def set_tags(tag_list)
|
13
|
-
@tag_list = tag_list
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.create_s3_distribution(name, s3_bucket, origin_options = {}, cache_behaviour_options = {}, distribution_options = {})
|
17
|
-
s3_origin = CfS3OriginConfig.new
|
18
|
-
origin_config = CfOrigin.new(s3_bucket.short_domain_name(),s3_bucket.generate_ref,s3_origin, origin_options)
|
19
|
-
default_cache_behavior = CfDefaultCacheBehavior.new(origin_config.id,CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
20
|
-
distribution_details = CfDistributionConfig.new([origin_config],default_cache_behavior, true, distribution_options)
|
21
|
-
CfCloudfrontDistribution.new(name, distribution_details)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.create_elb_distribution(name, elb, origin_options = {}, cache_behaviour_options = {}, distribution_options = {})
|
25
|
-
custom_origin = CfCustomOriginConfig.new("http-only")
|
26
|
-
origin_config = CfOrigin.new(elb.retrieve_attribute("DNSName"),elb.generate_ref,custom_origin,origin_options)
|
27
|
-
default_cache_behavior = CfDefaultCacheBehavior.new(origin_config.id,CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
28
|
-
distribution_details = CfDistributionConfig.new([origin_config],default_cache_behavior, true, distribution_options)
|
29
|
-
CfCloudfrontDistribution.new(name, distribution_details)
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.create_domain_distribution(name, origin_domain, origin_id, origin_options = {}, cache_behaviour_options = {}, distribution_options = {})
|
33
|
-
custom_origin = CfCustomOriginConfig.new("http-only")
|
34
|
-
origin_config = CfOrigin.new(origin_domain,origin_id,custom_origin,origin_options)
|
35
|
-
default_cache_behavior = CfDefaultCacheBehavior.new(origin_config.id,CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
36
|
-
distribution_details = CfDistributionConfig.new([origin_config],default_cache_behavior, true, distribution_options)
|
37
|
-
CfCloudfrontDistribution.new(name, distribution_details)
|
38
|
-
end
|
39
|
-
|
40
|
-
def self.create_multi_origin_distribution(name, origins, default_cache_behavior, cache_behaviors, distribution_options = {})
|
41
|
-
distribution_details = CfDistributionConfig.new(origins,default_cache_behavior, true, distribution_options.merge({:cache_behaviors => cache_behaviors}))
|
42
|
-
CfCloudfrontDistribution.new(name, distribution_details)
|
43
|
-
end
|
44
|
-
|
45
|
-
def self.create_multi_origin_distribution_old(name, origins, cache_behaviour_options = {}, distribution_options = {})
|
46
|
-
default_cache_behavior = CfDefaultCacheBehavior.new("XXX was origin_config.id",CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
47
|
-
distribution_details = CfDistributionConfig.new(origins,default_cache_behavior, true, distribution_options)
|
48
|
-
CfCloudfrontDistribution.new(name, distribution_details)
|
49
|
-
end
|
50
|
-
|
51
|
-
def get_cf_type
|
52
|
-
"AWS::CloudFront::Distribution"
|
53
|
-
end
|
54
|
-
|
55
|
-
def get_cf_attributes
|
56
|
-
result = super
|
57
|
-
end
|
58
|
-
|
59
|
-
def get_cf_properties
|
60
|
-
result = {}
|
61
|
-
result["DistributionConfig"] = @distribution.generate
|
62
|
-
result
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
end
|
1
|
+
require 'cf_factory/base/cf_base'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfCloudfrontDistribution
|
5
|
+
include CfBase
|
6
|
+
|
7
|
+
def initialize(name, distribution_details)
|
8
|
+
@name = name
|
9
|
+
@distribution = distribution_details
|
10
|
+
end
|
11
|
+
|
12
|
+
def set_tags(tag_list)
|
13
|
+
@tag_list = tag_list
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.create_s3_distribution(name, s3_bucket, origin_options = {}, cache_behaviour_options = {}, distribution_options = {})
|
17
|
+
s3_origin = CfS3OriginConfig.new
|
18
|
+
origin_config = CfOrigin.new(s3_bucket.short_domain_name(),s3_bucket.generate_ref,s3_origin, origin_options)
|
19
|
+
default_cache_behavior = CfDefaultCacheBehavior.new(origin_config.id,CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
20
|
+
distribution_details = CfDistributionConfig.new([origin_config],default_cache_behavior, true, distribution_options)
|
21
|
+
CfCloudfrontDistribution.new(name, distribution_details)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.create_elb_distribution(name, elb, origin_options = {}, cache_behaviour_options = {}, distribution_options = {})
|
25
|
+
custom_origin = CfCustomOriginConfig.new("http-only")
|
26
|
+
origin_config = CfOrigin.new(elb.retrieve_attribute("DNSName"),elb.generate_ref,custom_origin,origin_options)
|
27
|
+
default_cache_behavior = CfDefaultCacheBehavior.new(origin_config.id,CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
28
|
+
distribution_details = CfDistributionConfig.new([origin_config],default_cache_behavior, true, distribution_options)
|
29
|
+
CfCloudfrontDistribution.new(name, distribution_details)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.create_domain_distribution(name, origin_domain, origin_id, origin_options = {}, cache_behaviour_options = {}, distribution_options = {})
|
33
|
+
custom_origin = CfCustomOriginConfig.new("http-only")
|
34
|
+
origin_config = CfOrigin.new(origin_domain,origin_id,custom_origin,origin_options)
|
35
|
+
default_cache_behavior = CfDefaultCacheBehavior.new(origin_config.id,CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
36
|
+
distribution_details = CfDistributionConfig.new([origin_config],default_cache_behavior, true, distribution_options)
|
37
|
+
CfCloudfrontDistribution.new(name, distribution_details)
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.create_multi_origin_distribution(name, origins, default_cache_behavior, cache_behaviors, distribution_options = {})
|
41
|
+
distribution_details = CfDistributionConfig.new(origins,default_cache_behavior, true, distribution_options.merge({:cache_behaviors => cache_behaviors}))
|
42
|
+
CfCloudfrontDistribution.new(name, distribution_details)
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.create_multi_origin_distribution_old(name, origins, cache_behaviour_options = {}, distribution_options = {})
|
46
|
+
default_cache_behavior = CfDefaultCacheBehavior.new("XXX was origin_config.id",CfForwardedValues.new(true),"allow-all", cache_behaviour_options)
|
47
|
+
distribution_details = CfDistributionConfig.new(origins,default_cache_behavior, true, distribution_options)
|
48
|
+
CfCloudfrontDistribution.new(name, distribution_details)
|
49
|
+
end
|
50
|
+
|
51
|
+
def get_cf_type
|
52
|
+
"AWS::CloudFront::Distribution"
|
53
|
+
end
|
54
|
+
|
55
|
+
def get_cf_attributes
|
56
|
+
result = super
|
57
|
+
end
|
58
|
+
|
59
|
+
def get_cf_properties
|
60
|
+
result = {}
|
61
|
+
result["DistributionConfig"] = @distribution.generate
|
62
|
+
result
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
@@ -1,39 +1,39 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfCustomOriginConfig
|
5
|
-
PROTOCOL_VALUES = ["http-only","match-viewer"]
|
6
|
-
include CfInner
|
7
|
-
|
8
|
-
def additional_indent
|
9
|
-
6
|
10
|
-
end
|
11
|
-
|
12
|
-
|
13
|
-
def initialize(protocol, options = {})
|
14
|
-
@protocol = protocol
|
15
|
-
@http_port = options[:http_port]
|
16
|
-
@https_port = options[:https_port]
|
17
|
-
validate()
|
18
|
-
end
|
19
|
-
|
20
|
-
def get_cf_attributes
|
21
|
-
result = {}
|
22
|
-
result["OriginProtocolPolicy"] = @protocol
|
23
|
-
result["HTTPPort"] = @http_port unless @http_port.nil?
|
24
|
-
result["HTTPSPort"] = @https_port unless @https_port.nil?
|
25
|
-
result
|
26
|
-
end
|
27
|
-
|
28
|
-
def is_custom?
|
29
|
-
true
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def validate
|
35
|
-
raise Exception.new("protocol must be within #{PROTOCOL_VALUES}") unless PROTOCOL_VALUES.include?(@protocol)
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfCustomOriginConfig
|
5
|
+
PROTOCOL_VALUES = ["http-only","match-viewer"]
|
6
|
+
include CfInner
|
7
|
+
|
8
|
+
def additional_indent
|
9
|
+
6
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def initialize(protocol, options = {})
|
14
|
+
@protocol = protocol
|
15
|
+
@http_port = options[:http_port]
|
16
|
+
@https_port = options[:https_port]
|
17
|
+
validate()
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_cf_attributes
|
21
|
+
result = {}
|
22
|
+
result["OriginProtocolPolicy"] = @protocol
|
23
|
+
result["HTTPPort"] = @http_port unless @http_port.nil?
|
24
|
+
result["HTTPSPort"] = @https_port unless @https_port.nil?
|
25
|
+
result
|
26
|
+
end
|
27
|
+
|
28
|
+
def is_custom?
|
29
|
+
true
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def validate
|
35
|
+
raise Exception.new("protocol must be within #{PROTOCOL_VALUES}") unless PROTOCOL_VALUES.include?(@protocol)
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -1,34 +1,34 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfDefaultCacheBehavior
|
5
|
-
include CfInner
|
6
|
-
|
7
|
-
def additional_indent
|
8
|
-
4
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.create_basic(target_origin_id)
|
12
|
-
CfDefaultCacheBehavior.new(target_origin_id,CfForwardedValues.new(true),"allow-all")
|
13
|
-
end
|
14
|
-
|
15
|
-
def initialize(target_origin_id, forwarded_values, viewer_protocol_policy, options = {})
|
16
|
-
@target_origin_id = target_origin_id
|
17
|
-
@forwarded_values = forwarded_values
|
18
|
-
@viewer_protocol_policy = viewer_protocol_policy
|
19
|
-
|
20
|
-
@min_ttl = options[:min_ttl]
|
21
|
-
@trusted_signers = options[:trusted_signers]
|
22
|
-
end
|
23
|
-
|
24
|
-
def get_cf_attributes
|
25
|
-
result = {}
|
26
|
-
result["TargetOriginId"] = @target_origin_id
|
27
|
-
result["ForwardedValues"] = @forwarded_values.generate
|
28
|
-
result["ViewerProtocolPolicy"] = @viewer_protocol_policy
|
29
|
-
result["MinTTL"] = @min_ttl unless @min_ttl.nil?
|
30
|
-
result
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfDefaultCacheBehavior
|
5
|
+
include CfInner
|
6
|
+
|
7
|
+
def additional_indent
|
8
|
+
4
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.create_basic(target_origin_id)
|
12
|
+
CfDefaultCacheBehavior.new(target_origin_id,CfForwardedValues.new(true),"allow-all")
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(target_origin_id, forwarded_values, viewer_protocol_policy, options = {})
|
16
|
+
@target_origin_id = target_origin_id
|
17
|
+
@forwarded_values = forwarded_values
|
18
|
+
@viewer_protocol_policy = viewer_protocol_policy
|
19
|
+
|
20
|
+
@min_ttl = options[:min_ttl]
|
21
|
+
@trusted_signers = options[:trusted_signers]
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_cf_attributes
|
25
|
+
result = {}
|
26
|
+
result["TargetOriginId"] = @target_origin_id
|
27
|
+
result["ForwardedValues"] = @forwarded_values.generate
|
28
|
+
result["ViewerProtocolPolicy"] = @viewer_protocol_policy
|
29
|
+
result["MinTTL"] = @min_ttl unless @min_ttl.nil?
|
30
|
+
result
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfDistributionConfig
|
5
|
-
include CfInner
|
6
|
-
|
7
|
-
def additional_indent
|
8
|
-
2
|
9
|
-
end
|
10
|
-
|
11
|
-
def initialize(origins, default_cache_behaviour, enabled = true, options = {})
|
12
|
-
@origins = origins
|
13
|
-
@default_cache_behaviour = default_cache_behaviour
|
14
|
-
@enabled = enabled
|
15
|
-
|
16
|
-
@cache_behaviors = options[:cache_behaviors]
|
17
|
-
@aliases = options[:aliases]
|
18
|
-
@logging = options[:logging]
|
19
|
-
end
|
20
|
-
|
21
|
-
def get_cf_attributes
|
22
|
-
result = {}
|
23
|
-
result["Origins"] = CfHelper.generate_inner_array(@origins)
|
24
|
-
result["DefaultCacheBehavior"] = @default_cache_behaviour.generate unless @default_cache_behaviour.nil?
|
25
|
-
result["Enabled"] = @enabled
|
26
|
-
result["Logging"] = @logging.generate unless @logging.nil?
|
27
|
-
result["Aliases"] = @aliases.inspect unless @aliases.nil?
|
28
|
-
result["CacheBehaviors"] = CfHelper.generate_inner_array(@cache_behaviors) unless @cache_bahaviors.nil?
|
29
|
-
result
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfDistributionConfig
|
5
|
+
include CfInner
|
6
|
+
|
7
|
+
def additional_indent
|
8
|
+
2
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize(origins, default_cache_behaviour, enabled = true, options = {})
|
12
|
+
@origins = origins
|
13
|
+
@default_cache_behaviour = default_cache_behaviour
|
14
|
+
@enabled = enabled
|
15
|
+
|
16
|
+
@cache_behaviors = options[:cache_behaviors]
|
17
|
+
@aliases = options[:aliases]
|
18
|
+
@logging = options[:logging]
|
19
|
+
end
|
20
|
+
|
21
|
+
def get_cf_attributes
|
22
|
+
result = {}
|
23
|
+
result["Origins"] = CfHelper.generate_inner_array(@origins)
|
24
|
+
result["DefaultCacheBehavior"] = @default_cache_behaviour.generate unless @default_cache_behaviour.nil?
|
25
|
+
result["Enabled"] = @enabled
|
26
|
+
result["Logging"] = @logging.generate unless @logging.nil?
|
27
|
+
result["Aliases"] = @aliases.inspect unless @aliases.nil?
|
28
|
+
result["CacheBehaviors"] = CfHelper.generate_inner_array(@cache_behaviors) unless @cache_bahaviors.nil?
|
29
|
+
result
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -1,27 +1,27 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfForwardedValues
|
5
|
-
include CfInner
|
6
|
-
|
7
|
-
def additional_indent
|
8
|
-
@additional_indent
|
9
|
-
end
|
10
|
-
|
11
|
-
def add(add_indent)
|
12
|
-
@additional_indent += add_indent
|
13
|
-
end
|
14
|
-
|
15
|
-
def initialize(query_string)
|
16
|
-
@query_string = query_string
|
17
|
-
@additional_indent = 6
|
18
|
-
end
|
19
|
-
|
20
|
-
def get_cf_attributes
|
21
|
-
result = {}
|
22
|
-
result["QueryString"] = @query_string
|
23
|
-
result
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfForwardedValues
|
5
|
+
include CfInner
|
6
|
+
|
7
|
+
def additional_indent
|
8
|
+
@additional_indent
|
9
|
+
end
|
10
|
+
|
11
|
+
def add(add_indent)
|
12
|
+
@additional_indent += add_indent
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(query_string)
|
16
|
+
@query_string = query_string
|
17
|
+
@additional_indent = 6
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_cf_attributes
|
21
|
+
result = {}
|
22
|
+
result["QueryString"] = @query_string
|
23
|
+
result
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -1,26 +1,26 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfLogging
|
5
|
-
include CfInner
|
6
|
-
|
7
|
-
attr_reader(:id)
|
8
|
-
|
9
|
-
def additional_indent
|
10
|
-
4
|
11
|
-
end
|
12
|
-
|
13
|
-
def initialize(bucket, prefix)
|
14
|
-
@bucket = bucket
|
15
|
-
@prefix = prefix
|
16
|
-
end
|
17
|
-
|
18
|
-
def get_cf_attributes
|
19
|
-
result = {}
|
20
|
-
result["Bucket"] = @bucket.retrieve_attribute("DomainName")
|
21
|
-
result["Prefix"] = @prefix
|
22
|
-
result
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfLogging
|
5
|
+
include CfInner
|
6
|
+
|
7
|
+
attr_reader(:id)
|
8
|
+
|
9
|
+
def additional_indent
|
10
|
+
4
|
11
|
+
end
|
12
|
+
|
13
|
+
def initialize(bucket, prefix)
|
14
|
+
@bucket = bucket
|
15
|
+
@prefix = prefix
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_cf_attributes
|
19
|
+
result = {}
|
20
|
+
result["Bucket"] = @bucket.retrieve_attribute("DomainName")
|
21
|
+
result["Prefix"] = @prefix
|
22
|
+
result
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -1,42 +1,42 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfOrigin
|
5
|
-
include CfInner
|
6
|
-
|
7
|
-
attr_reader(:id)
|
8
|
-
|
9
|
-
def additional_indent
|
10
|
-
4
|
11
|
-
end
|
12
|
-
|
13
|
-
def initialize(domain_name, id, origin, options = {})
|
14
|
-
@domain_name = domain_name
|
15
|
-
@id = id
|
16
|
-
@origin = origin
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.create_s3_origin(s3_bucket, options = {})
|
20
|
-
s3_origin_config = CfS3OriginConfig.new
|
21
|
-
CfOrigin.new(s3_bucket.short_domain_name(),s3_bucket.generate_ref,s3_origin_config, options)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.create_elb_origin(elb, options = {})
|
25
|
-
custom_origin_config = CfCustomOriginConfig.new("http-only")
|
26
|
-
CfOrigin.new(elb.retrieve_attribute("DNSName"),elb.generate_ref,custom_origin_config, options)
|
27
|
-
end
|
28
|
-
|
29
|
-
def get_cf_attributes
|
30
|
-
result = {}
|
31
|
-
result["DomainName"] = @domain_name
|
32
|
-
result["Id"] = id
|
33
|
-
if @origin.is_custom?
|
34
|
-
result["CustomOriginConfig"] = @origin.generate
|
35
|
-
else
|
36
|
-
result["S3OriginConfig"] = @origin.generate
|
37
|
-
end
|
38
|
-
result
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfOrigin
|
5
|
+
include CfInner
|
6
|
+
|
7
|
+
attr_reader(:id)
|
8
|
+
|
9
|
+
def additional_indent
|
10
|
+
4
|
11
|
+
end
|
12
|
+
|
13
|
+
def initialize(domain_name, id, origin, options = {})
|
14
|
+
@domain_name = domain_name
|
15
|
+
@id = id
|
16
|
+
@origin = origin
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.create_s3_origin(s3_bucket, options = {})
|
20
|
+
s3_origin_config = CfS3OriginConfig.new
|
21
|
+
CfOrigin.new(s3_bucket.short_domain_name(),s3_bucket.generate_ref,s3_origin_config, options)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.create_elb_origin(elb, options = {})
|
25
|
+
custom_origin_config = CfCustomOriginConfig.new("http-only")
|
26
|
+
CfOrigin.new(elb.retrieve_attribute("DNSName"),elb.generate_ref,custom_origin_config, options)
|
27
|
+
end
|
28
|
+
|
29
|
+
def get_cf_attributes
|
30
|
+
result = {}
|
31
|
+
result["DomainName"] = @domain_name
|
32
|
+
result["Id"] = id
|
33
|
+
if @origin.is_custom?
|
34
|
+
result["CustomOriginConfig"] = @origin.generate
|
35
|
+
else
|
36
|
+
result["S3OriginConfig"] = @origin.generate
|
37
|
+
end
|
38
|
+
result
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -1,27 +1,27 @@
|
|
1
|
-
require 'cf_factory/base/cf_inner'
|
2
|
-
|
3
|
-
module CfFactory
|
4
|
-
class CfS3OriginConfig
|
5
|
-
include CfInner
|
6
|
-
|
7
|
-
def additional_indent
|
8
|
-
6
|
9
|
-
end
|
10
|
-
|
11
|
-
|
12
|
-
def initialize(options = {})
|
13
|
-
@origin_access_identity = options[:origin_access_identity]
|
14
|
-
end
|
15
|
-
|
16
|
-
def get_cf_attributes
|
17
|
-
result = {}
|
18
|
-
result["OriginAccessIdentity"] = @origin_access_identity unless @origin_access_identify.nil?
|
19
|
-
result
|
20
|
-
end
|
21
|
-
|
22
|
-
def is_custom?
|
23
|
-
false
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
1
|
+
require 'cf_factory/base/cf_inner'
|
2
|
+
|
3
|
+
module CfFactory
|
4
|
+
class CfS3OriginConfig
|
5
|
+
include CfInner
|
6
|
+
|
7
|
+
def additional_indent
|
8
|
+
6
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
def initialize(options = {})
|
13
|
+
@origin_access_identity = options[:origin_access_identity]
|
14
|
+
end
|
15
|
+
|
16
|
+
def get_cf_attributes
|
17
|
+
result = {}
|
18
|
+
result["OriginAccessIdentity"] = @origin_access_identity unless @origin_access_identify.nil?
|
19
|
+
result
|
20
|
+
end
|
21
|
+
|
22
|
+
def is_custom?
|
23
|
+
false
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|