cf_factory 0.0.4 → 0.0.5

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.
Files changed (109) hide show
  1. data/bin/cf_factory +9 -9
  2. data/examples/base_vpc.rb +40 -40
  3. data/examples/cloudfront_private.rb +23 -23
  4. data/examples/cloudinit_script_for_one_instance.rb +77 -77
  5. data/examples/cloudinit_script_with_autoscaling.rb +85 -85
  6. data/examples/dynamodb_table.rb +24 -24
  7. data/examples/elastic_beanstalk_example.rb +23 -23
  8. data/examples/elb_with_cloudfront.rb +100 -100
  9. data/examples/instance_with_eip.rb +40 -40
  10. data/examples/instance_with_yum.rb +40 -40
  11. data/examples/just_an_instance.rb +31 -31
  12. data/examples/nat_mutual_monitoring.rb +69 -69
  13. data/examples/play_with_region_and_zones.rb +28 -28
  14. data/examples/ra_web_hosting.rb +148 -148
  15. data/examples/s3_with_cloudfront.rb +35 -35
  16. data/examples/test_vpc.rb +61 -61
  17. data/lib/cf_factory/as/cf_as_group.rb +80 -77
  18. data/lib/cf_factory/as/cf_as_launch_config.rb +55 -55
  19. data/lib/cf_factory/as/cf_as_scaling_policy.rb +35 -35
  20. data/lib/cf_factory/as/cf_as_update_policy.rb +23 -0
  21. data/lib/cf_factory/base/cf_base.rb +112 -102
  22. data/lib/cf_factory/base/cf_ec2_tag.rb +34 -34
  23. data/lib/cf_factory/base/cf_generator.rb +20 -20
  24. data/lib/cf_factory/base/cf_helper.rb +93 -93
  25. data/lib/cf_factory/base/cf_inner.rb +74 -74
  26. data/lib/cf_factory/base/cf_main.rb +103 -103
  27. data/lib/cf_factory/base/cf_mapping.rb +28 -28
  28. data/lib/cf_factory/base/cf_named_inner.rb +70 -1
  29. data/lib/cf_factory/base/cf_output.rb +26 -26
  30. data/lib/cf_factory/base/cf_parameter.rb +27 -27
  31. data/lib/cf_factory/base/cf_script_reader.rb +34 -34
  32. data/lib/cf_factory/cloudformation/cf_cloud_formation_init.rb +27 -27
  33. data/lib/cf_factory/cloudformation/cf_cloudformation_command.rb +39 -39
  34. data/lib/cf_factory/cloudformation/cf_cloudformation_commands.rb +27 -27
  35. data/lib/cf_factory/cloudformation/cf_cloudformation_config.rb +35 -35
  36. data/lib/cf_factory/cloudformation/cf_cloudformation_file.rb +40 -40
  37. data/lib/cf_factory/cloudformation/cf_cloudformation_files.rb +27 -27
  38. data/lib/cf_factory/cloudformation/cf_cloudformation_inner.rb +30 -30
  39. data/lib/cf_factory/cloudformation/cf_cloudformation_package.rb +36 -36
  40. data/lib/cf_factory/cloudformation/cf_cloudformation_packages.rb +44 -44
  41. data/lib/cf_factory/cloudformation/cf_cloudformation_sources.rb +32 -32
  42. data/lib/cf_factory/cloudformation/cf_init_script.rb +80 -80
  43. data/lib/cf_factory/cloudfront/cf_cache_behavior.rb +39 -39
  44. data/lib/cf_factory/cloudfront/cf_cache_behaviors.rb +30 -30
  45. data/lib/cf_factory/cloudfront/cf_cloudfront_distribution.rb +66 -66
  46. data/lib/cf_factory/cloudfront/cf_custom_origin_config.rb +39 -39
  47. data/lib/cf_factory/cloudfront/cf_default_cache_behavior.rb +34 -34
  48. data/lib/cf_factory/cloudfront/cf_distribution_config.rb +33 -33
  49. data/lib/cf_factory/cloudfront/cf_forwarded_values.rb +27 -27
  50. data/lib/cf_factory/cloudfront/cf_logging.rb +26 -26
  51. data/lib/cf_factory/cloudfront/cf_origin.rb +42 -42
  52. data/lib/cf_factory/cloudfront/cf_s3_origin_config.rb +27 -27
  53. data/lib/cf_factory/cloudwatch/cf_cloud_watch_alarm.rb +60 -60
  54. data/lib/cf_factory/dynamo/cf_dynamo_table.rb +45 -45
  55. data/lib/cf_factory/eb/cd_eb_solution_stack.rb +27 -28
  56. data/lib/cf_factory/eb/cf_eb_application.rb +41 -41
  57. data/lib/cf_factory/eb/cf_eb_application_version.rb +24 -24
  58. data/lib/cf_factory/eb/cf_eb_configuration_template.rb +36 -36
  59. data/lib/cf_factory/eb/cf_eb_environment.rb +56 -56
  60. data/lib/cf_factory/eb/cf_eb_option_setting.rb +19 -19
  61. data/lib/cf_factory/ec2/cf_ebs_volume.rb +56 -56
  62. data/lib/cf_factory/ec2/cf_ec2_instance.rb +80 -66
  63. data/lib/cf_factory/ec2/cf_ec2_security_group.rb +42 -42
  64. data/lib/cf_factory/ec2/cf_ec2_security_group_egress.rb +30 -30
  65. data/lib/cf_factory/ec2/cf_ec2_security_group_ingress.rb +41 -41
  66. data/lib/cf_factory/ec2/cf_eip.rb +28 -28
  67. data/lib/cf_factory/ec2/cf_eip_association.rb +33 -31
  68. data/lib/cf_factory/ec2/cf_inner_network_interface.rb +26 -0
  69. data/lib/cf_factory/ec2/cf_network_interface.rb +40 -0
  70. data/lib/cf_factory/elb/cf_app_cookie_stickiness_policy.rb +17 -17
  71. data/lib/cf_factory/elb/cf_elb.rb +51 -51
  72. data/lib/cf_factory/elb/cf_health_check.rb +25 -25
  73. data/lib/cf_factory/elb/cf_lb_cookie_stickiness_policy.rb +17 -17
  74. data/lib/cf_factory/elb/cf_listener.rb +28 -28
  75. data/lib/cf_factory/help/fixes.rb +15 -15
  76. data/lib/cf_factory/help/ip_mask.rb +167 -167
  77. data/lib/cf_factory/help/template_validation.rb +30 -30
  78. data/lib/cf_factory/iam/cf_iam_access_key.rb +34 -34
  79. data/lib/cf_factory/iam/cf_iam_group.rb +32 -32
  80. data/lib/cf_factory/iam/cf_iam_instance_profile.rb +32 -32
  81. data/lib/cf_factory/iam/cf_iam_policy.rb +20 -20
  82. data/lib/cf_factory/iam/cf_iam_role.rb +58 -58
  83. data/lib/cf_factory/iam/cf_iam_statement.rb +25 -25
  84. data/lib/cf_factory/iam/cf_iam_user.rb +36 -36
  85. data/lib/cf_factory/iam/cf_policy_document.rb +21 -21
  86. data/lib/cf_factory/modules/base_vpc.rb +63 -63
  87. data/lib/cf_factory/rds/cf_rds_instance.rb +55 -55
  88. data/lib/cf_factory/rds/cf_rds_security_group.rb +35 -35
  89. data/lib/cf_factory/rds/cf_rds_security_group_ingress.rb +31 -31
  90. data/lib/cf_factory/rds/cf_rds_subnet_group.rb +31 -31
  91. data/lib/cf_factory/route53/cf_elb_alias_target.rb +23 -23
  92. data/lib/cf_factory/route53/cf_record_set.rb +63 -63
  93. data/lib/cf_factory/route53/cf_route53_record_set.rb +63 -63
  94. data/lib/cf_factory/route53/cf_route53_record_set_group.rb +44 -44
  95. data/lib/cf_factory/s3/cf_s3_bucket.rb +34 -34
  96. data/lib/cf_factory/s3/cf_web_site_config.rb +26 -26
  97. data/lib/cf_factory/sqs/cf_sqs_queue.rb +28 -28
  98. data/lib/cf_factory/vpc/cf_attach_gateway.rb +30 -30
  99. data/lib/cf_factory/vpc/cf_internet_gateway.rb +32 -32
  100. data/lib/cf_factory/vpc/cf_network_acl.rb +41 -41
  101. data/lib/cf_factory/vpc/cf_network_acl_association.rb +26 -26
  102. data/lib/cf_factory/vpc/cf_network_acl_entry.rb +39 -39
  103. data/lib/cf_factory/vpc/cf_route.rb +45 -45
  104. data/lib/cf_factory/vpc/cf_route_table.rb +43 -43
  105. data/lib/cf_factory/vpc/cf_route_table_association.rb +26 -26
  106. data/lib/cf_factory/vpc/cf_subnet.rb +50 -50
  107. data/lib/cf_factory/vpc/cf_vpc.rb +66 -66
  108. data/lib/cf_factory.rb +12 -12
  109. metadata +120 -91
@@ -0,0 +1,40 @@
1
+ require 'cf_factory/base/cf_base'
2
+
3
+ module CfFactory
4
+ class CfNetworkInterface
5
+ include CfBase
6
+
7
+ def initialize(name, subnet, options = {})
8
+ @name = name
9
+ @subnet = subnet
10
+ #
11
+ @private_ip = options[:private_ip]
12
+ @description = options[:description]
13
+ @security_groups = options[:security_groups]
14
+ @source_dst_check = options[:source_dest_check]
15
+ end
16
+
17
+ def get_cf_type
18
+ "AWS::EC2::NetworkInterface"
19
+ end
20
+
21
+ def set_tags(tag_list)
22
+ @tag_list = tag_list
23
+ end
24
+
25
+ def get_cf_attributes
26
+ {}
27
+ end
28
+
29
+ def get_cf_properties
30
+ result = {}
31
+ result["Description"] = @description unless @description.nil?
32
+ result["SourceDestCheck"] = @source_dest_check unless @source_dst_check.nil?
33
+ result["GroupSet"] = CfHelper.generate_ref_array(@security_groups) unless @security_groups.nil?
34
+ result["SubnetId"] = @subnet.generate_ref unless @subnet.nil?
35
+ result["PrivateIpAddress"] = @private_ip unless @private_ip.nil?
36
+ result
37
+ end
38
+
39
+ end
40
+ end
@@ -1,17 +1,17 @@
1
- require 'cf_factory/base/cf_inner'
2
-
3
- module CfFactory
4
- class CfAppCookieStickinessPolicy
5
- include CfInner
6
-
7
- def initialize(cookie_name, policy_name)
8
- @cookie_name = cookie_name
9
- @policy_name = policy_name
10
- end
11
-
12
- def get_cf_attributes
13
- {"CookieName" => @cookie_name, "PolicyName" => @policy_name}
14
- end
15
-
16
- end
17
- end
1
+ require 'cf_factory/base/cf_inner'
2
+
3
+ module CfFactory
4
+ class CfAppCookieStickinessPolicy
5
+ include CfInner
6
+
7
+ def initialize(cookie_name, policy_name)
8
+ @cookie_name = cookie_name
9
+ @policy_name = policy_name
10
+ end
11
+
12
+ def get_cf_attributes
13
+ {"CookieName" => @cookie_name, "PolicyName" => @policy_name}
14
+ end
15
+
16
+ end
17
+ end
@@ -1,51 +1,51 @@
1
- require 'cf_factory/base/cf_base'
2
- require 'cf_factory/base/cf_helper'
3
- require 'cf_factory/elb/cf_app_cookie_stickiness_policy'
4
-
5
- module CfFactory
6
- class CfElb
7
- include CfBase
8
-
9
- def initialize(name, options)
10
- @name = name
11
- @app_cookie_stickiness_policy = options[:app_cookie_stickiness_policy]
12
- @lb_cookie_stickiness_policy = options[:lb_cookie_stickiness_policy]
13
- @availability_zones = options[:availability_zones]
14
- @subnets = options[:subnets]
15
- @health_check = options[:health_check]
16
- @listeners = options[:listeners]
17
- @is_internal = options[:is_internal] || false
18
- @security_groups = options[:security_groups]
19
- @instances = options[:instances]
20
- end
21
-
22
- def get_cf_type
23
- "AWS::ElasticLoadBalancing::LoadBalancer"
24
- end
25
-
26
- def set_tags(tag_list)
27
- @tag_list = tag_list
28
- end
29
-
30
- def get_cf_attributes
31
- {}
32
- end
33
-
34
- def get_cf_properties
35
- optional = {}
36
- optional["AppCookieStickinessPolicy"] = CfHelper.generate_inner_array(@app_cookie_stickiness_policy) unless @app_cookie_stickiness_policy.nil?
37
- optional["LBCookieStickinessPolicy"] = CfHelper.generate_inner_array(@lb_cookie_stickiness_policy) unless @lb_cookie_stickiness_policy.nil?
38
- optional["AvailabilityZones"] = @availability_zones unless @availability_zones.nil?
39
- optional["Subnets"] = CfHelper.generate_ref_array(@subnets) unless @subnets.nil?
40
- optional["HealthCheck"] = @health_check.generate
41
- optional["Listeners"] = CfHelper.generate_inner_array(@listeners) unless @listeners.nil? || @listeners.size == 0
42
- optional["Scheme"] = "internal" if @is_internal
43
- optional["SecurityGroups"] = CfHelper.generate_ref_array(@security_groups) unless @security_groups.nil?
44
- optional["Instances"] = CfHelper.generate_ref_array(@instances) unless @instances.nil?
45
- all = {}
46
- all.merge!(optional)
47
- return all
48
- end
49
-
50
- end
51
- end
1
+ require 'cf_factory/base/cf_base'
2
+ require 'cf_factory/base/cf_helper'
3
+ require 'cf_factory/elb/cf_app_cookie_stickiness_policy'
4
+
5
+ module CfFactory
6
+ class CfElb
7
+ include CfBase
8
+
9
+ def initialize(name, options)
10
+ @name = name
11
+ @app_cookie_stickiness_policy = options[:app_cookie_stickiness_policy]
12
+ @lb_cookie_stickiness_policy = options[:lb_cookie_stickiness_policy]
13
+ @availability_zones = options[:availability_zones]
14
+ @subnets = options[:subnets]
15
+ @health_check = options[:health_check]
16
+ @listeners = options[:listeners]
17
+ @is_internal = options[:is_internal] || false
18
+ @security_groups = options[:security_groups]
19
+ @instances = options[:instances]
20
+ end
21
+
22
+ def get_cf_type
23
+ "AWS::ElasticLoadBalancing::LoadBalancer"
24
+ end
25
+
26
+ def set_tags(tag_list)
27
+ @tag_list = tag_list
28
+ end
29
+
30
+ def get_cf_attributes
31
+ {}
32
+ end
33
+
34
+ def get_cf_properties
35
+ optional = {}
36
+ optional["AppCookieStickinessPolicy"] = CfHelper.generate_inner_array(@app_cookie_stickiness_policy) unless @app_cookie_stickiness_policy.nil?
37
+ optional["LBCookieStickinessPolicy"] = CfHelper.generate_inner_array(@lb_cookie_stickiness_policy) unless @lb_cookie_stickiness_policy.nil?
38
+ optional["AvailabilityZones"] = @availability_zones unless @availability_zones.nil?
39
+ optional["Subnets"] = CfHelper.generate_ref_array(@subnets) unless @subnets.nil?
40
+ optional["HealthCheck"] = @health_check.generate
41
+ optional["Listeners"] = CfHelper.generate_inner_array(@listeners) unless @listeners.nil? || @listeners.size == 0
42
+ optional["Scheme"] = "internal" if @is_internal
43
+ optional["SecurityGroups"] = CfHelper.generate_ref_array(@security_groups) unless @security_groups.nil?
44
+ optional["Instances"] = CfHelper.generate_ref_array(@instances) unless @instances.nil?
45
+ all = {}
46
+ all.merge!(optional)
47
+ return all
48
+ end
49
+
50
+ end
51
+ end
@@ -1,25 +1,25 @@
1
- require 'cf_factory/base/cf_inner'
2
-
3
- module CfFactory
4
- class CfHealthCheck
5
- include CfInner
6
-
7
- def initialize(healthy_threshold, interval, target, timeout, unhealthy_threshold)
8
- @healthy_threshold = healthy_threshold
9
- @interval = interval
10
- @target = target
11
- @timeout = timeout
12
- @unhealthy_threshold = unhealthy_threshold
13
- end
14
-
15
- def get_cf_attributes
16
- {"HealthyThreshold" => @healthy_threshold,
17
- "Interval" => @interval,
18
- "Target" => @target,
19
- "Timeout" => @timeout,
20
- "UnhealthyThreshold" => @unhealthy_threshold
21
- }
22
- end
23
-
24
- end
25
- end
1
+ require 'cf_factory/base/cf_inner'
2
+
3
+ module CfFactory
4
+ class CfHealthCheck
5
+ include CfInner
6
+
7
+ def initialize(healthy_threshold, interval, target, timeout, unhealthy_threshold)
8
+ @healthy_threshold = healthy_threshold
9
+ @interval = interval
10
+ @target = target
11
+ @timeout = timeout
12
+ @unhealthy_threshold = unhealthy_threshold
13
+ end
14
+
15
+ def get_cf_attributes
16
+ {"HealthyThreshold" => @healthy_threshold,
17
+ "Interval" => @interval,
18
+ "Target" => @target,
19
+ "Timeout" => @timeout,
20
+ "UnhealthyThreshold" => @unhealthy_threshold
21
+ }
22
+ end
23
+
24
+ end
25
+ end
@@ -1,17 +1,17 @@
1
- require 'cf_factory/base/cf_inner'
2
-
3
- module CfFactory
4
- class CfLbCookieStickinessPolicy
5
- include CfInner
6
-
7
- def initialize(cookie_expiration_period, policy_name)
8
- @cookie_expiration_period = cookie_expiration_period
9
- @policy_name = policy_name
10
- end
11
-
12
- def get_cf_attributes
13
- {"CookieExpirationPeriod" => @cookie_expiration_period, "PolicyName" => @policy_name}
14
- end
15
-
16
- end
17
- end
1
+ require 'cf_factory/base/cf_inner'
2
+
3
+ module CfFactory
4
+ class CfLbCookieStickinessPolicy
5
+ include CfInner
6
+
7
+ def initialize(cookie_expiration_period, policy_name)
8
+ @cookie_expiration_period = cookie_expiration_period
9
+ @policy_name = policy_name
10
+ end
11
+
12
+ def get_cf_attributes
13
+ {"CookieExpirationPeriod" => @cookie_expiration_period, "PolicyName" => @policy_name}
14
+ end
15
+
16
+ end
17
+ end
@@ -1,28 +1,28 @@
1
- require 'cf_factory/base/cf_inner'
2
-
3
- module CfFactory
4
- class CfListener
5
- include CfInner
6
-
7
- def initialize(instance_port, instance_protocol, load_balancer_port, protocol, policy_names = nil, ssl_certificate_id = nil)
8
- @instance_port = instance_port
9
- @instance_protocol = instance_protocol
10
- @load_balancer_port = load_balancer_port
11
- @protocol = protocol
12
- @policy_names = policy_names
13
- @ssl_certificate_id = ssl_certificate_id
14
- end
15
-
16
- def get_cf_attributes
17
- result = {"InstancePort" => @instance_port,
18
- "InstanceProtocol" => @instance_protocol,
19
- "LoadBalancerPort" => @load_balancer_port,
20
- "Protocol" => @protocol,
21
- }
22
- result["PolicyNames"] = @policy_names unless @policy_names.nil?
23
- result["SSLCertificateId"] = @ssl_certificate_id unless @ssl_certificate_id.nil?
24
- result
25
- end
26
-
27
- end
28
- end
1
+ require 'cf_factory/base/cf_inner'
2
+
3
+ module CfFactory
4
+ class CfListener
5
+ include CfInner
6
+
7
+ def initialize(instance_port, instance_protocol, load_balancer_port, protocol, policy_names = nil, ssl_certificate_id = nil)
8
+ @instance_port = instance_port
9
+ @instance_protocol = instance_protocol
10
+ @load_balancer_port = load_balancer_port
11
+ @protocol = protocol
12
+ @policy_names = policy_names
13
+ @ssl_certificate_id = ssl_certificate_id
14
+ end
15
+
16
+ def get_cf_attributes
17
+ result = {"InstancePort" => @instance_port,
18
+ "InstanceProtocol" => @instance_protocol,
19
+ "LoadBalancerPort" => @load_balancer_port,
20
+ "Protocol" => @protocol,
21
+ }
22
+ result["PolicyNames"] = @policy_names unless @policy_names.nil?
23
+ result["SSLCertificateId"] = @ssl_certificate_id unless @ssl_certificate_id.nil?
24
+ result
25
+ end
26
+
27
+ end
28
+ end
@@ -1,15 +1,15 @@
1
- # compat mixin for Ruby 1.9.1 with test-unit gem in Eclipse
2
- module Test
3
- module Unit
4
- module UI
5
- SILENT = false
6
- end
7
-
8
- class AutoRunner
9
- def output_level=(level)
10
- self.runner_options[:output_level] = level
11
- end
12
- end
13
- end
14
- end
15
-
1
+ # compat mixin for Ruby 1.9.1 with test-unit gem in Eclipse
2
+ module Test
3
+ module Unit
4
+ module UI
5
+ SILENT = false
6
+ end
7
+
8
+ class AutoRunner
9
+ def output_level=(level)
10
+ self.runner_options[:output_level] = level
11
+ end
12
+ end
13
+ end
14
+ end
15
+