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.
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
+