Class: Awspec::Generator::Spec::Elb
- Inherits:
-
Object
- Object
- Awspec::Generator::Spec::Elb
- Includes:
- Helper::Finder
- Defined in:
- lib/awspec/generator/spec/elb.rb
Instance Attribute Summary
Attributes included from Helper::Finder
Instance Method Summary collapse
-
#elb_spec_template ⇒ Object
rubocop:disable all.
- #generate_by_vpc_id(vpc_id) ⇒ Object
Methods included from Helper::Finder
Methods included from Helper::Finder::Iam
#find_iam_user, #select_iam_group_by_user_name, #select_iam_policy_by_user_name
Methods included from Helper::Finder::Lambda
#find_lambda, #select_event_source_by_function_arn
Methods included from Helper::Finder::Elb
#find_elb, #select_elb_by_vpc_id
Methods included from Helper::Finder::Ebs
#find_ebs, #select_ebs_by_instance_id
Methods included from Helper::Finder::AutoScaling
Methods included from Helper::Finder::S3
Methods included from Helper::Finder::Route53
Methods included from Helper::Finder::Rds
#find_rds, #select_rds_by_vpc_id
Methods included from Helper::Finder::SecurityGroup
#find_security_group, #select_security_group_by_vpc_id
Methods included from Helper::Finder::Ec2
#find_ec2, #find_internet_gateway, #find_security_group, #find_subnet, #select_ec2_by_vpc_id, #select_eip_by_instance_id
Methods included from Helper::Finder::Vpc
#find_network_acl, #find_route_table, #find_vpc, #select_network_acl_by_vpc_id, #select_route_table_by_vpc_id
Instance Method Details
#elb_spec_template ⇒ Object
rubocop:disable all
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/awspec/generator/spec/elb.rb', line 26 def elb_spec_template template = <<-'EOF' describe elb('<%= lb.load_balancer_name %>') do it { should exist } <% describes.each do |describe| %> <%- if lb.members.include?(describe.to_sym) && !lb[describe.to_sym].nil? -%> <%- if lb[describe].is_a?(TrueClass) || lb[describe].is_a?(FalseClass) -%> its(:<%= describe %>) { should eq <%= lb[describe] %> } <%- else -%> its(:<%= describe %>) { should eq '<%= lb[describe] %>' } <%- end -%> <%- end -%> <% end %> <% health_check_options.each do |option| %> <%- if lb[:health_check].members.include?(option.to_sym) && !lb[:health_check][option].nil? -%> <%- if lb[:health_check][option].is_a?(String) -%> its(:health_check_<%= option %>) { should eq '<%= lb[:health_check][option] %>' } <%- else -%> its(:health_check_<%= option %>) { should eq <%= lb[:health_check][option] %> } <%- end -%> <%- end -%> <% end %> <% lb[:listener_descriptions].each do |desc| %> it { should have_listener(protocol: '<%= desc.listener.protocol %>', port: <%= desc.listener.load_balancer_port %>, instance_protocol: '<%= desc.listener.instance_protocol %>', instance_port: <%= desc.listener.instance_port %>) } <% end %> end EOF template end |
#generate_by_vpc_id(vpc_id) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/awspec/generator/spec/elb.rb', line 5 def generate_by_vpc_id(vpc_id) describes = %w( load_balancer_name ) = %w( target interval timeout unhealthy_threshold healthy_threshold ) vpc = find_vpc(vpc_id) fail 'Not Found VPC' unless vpc @vpc_id = vpc[:vpc_id] @vpc_tag_name = vpc.tag_name lbs = select_elb_by_vpc_id(@vpc_id) specs = lbs.map do |lb| content = ERB.new(elb_spec_template, nil, '-').result(binding).gsub(/^\n/, '') end specs.join("\n") end |