Class: CfFactory::CfElb

Inherits:
Object
  • Object
show all
Includes:
CfBase
Defined in:
lib/cf_factory/elb/cf_elb.rb

Instance Method Summary collapse

Methods included from CfBase

#generate, #generate_ref, #get_deletion_policy, #get_name, #get_update_policy, #hash_to_string, #retrieve_attribute, #set_meta_data, #set_quotes

Constructor Details

#initialize(name, options) ⇒ CfElb

Returns a new instance of CfElb.



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cf_factory/elb/cf_elb.rb', line 9

def initialize(name, options)
  @name = name
  @app_cookie_stickiness_policy = options[:app_cookie_stickiness_policy]
  @lb_cookie_stickiness_policy = options[:lb_cookie_stickiness_policy]
  @availability_zones = options[:availability_zones]
  @subnets = options[:subnets]
  @health_check = options[:health_check]
  @listeners = options[:listeners]
  @is_internal = options[:is_internal] || false 
  @security_groups = options[:security_groups]
  @instances = options[:instances] 
end

Instance Method Details

#get_cf_attributesObject



30
31
32
# File 'lib/cf_factory/elb/cf_elb.rb', line 30

def get_cf_attributes
  {}
end

#get_cf_propertiesObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/cf_factory/elb/cf_elb.rb', line 34

def get_cf_properties
  optional = {}
  optional["AppCookieStickinessPolicy"] = CfHelper.generate_inner_array(@app_cookie_stickiness_policy) unless @app_cookie_stickiness_policy.nil?
  optional["LBCookieStickinessPolicy"] = CfHelper.generate_inner_array(@lb_cookie_stickiness_policy) unless @lb_cookie_stickiness_policy.nil?      
  optional["AvailabilityZones"] = @availability_zones unless @availability_zones.nil?
  optional["Subnets"] = CfHelper.generate_ref_array(@subnets) unless @subnets.nil?
  optional["HealthCheck"] = @health_check.generate
  optional["Listeners"] = CfHelper.generate_inner_array(@listeners) unless @listeners.nil? || @listeners.size == 0
  optional["Scheme"] = "internal" if @is_internal
  optional["SecurityGroups"] = CfHelper.generate_ref_array(@security_groups) unless @security_groups.nil?
  optional["Instances"] = CfHelper.generate_ref_array(@instances) unless @instances.nil? 
  all = {}
  all.merge!(optional)
  return all
end

#get_cf_typeObject



22
23
24
# File 'lib/cf_factory/elb/cf_elb.rb', line 22

def get_cf_type
  "AWS::ElasticLoadBalancing::LoadBalancer"
end

#set_tags(tag_list) ⇒ Object



26
27
28
# File 'lib/cf_factory/elb/cf_elb.rb', line 26

def set_tags(tag_list)
  @tag_list = tag_list 
end