Module: Bcome::Node::Attributes

Included in:
Base
Defined in:
lib/objects/node/attributes.rb

Instance Method Summary collapse

Instance Method Details

#descriptionObject



8
9
10
# File 'lib/objects/node/attributes.rb', line 8

def description
  @description
end

#filtersObject



31
32
33
34
# File 'lib/objects/node/attributes.rb', line 31

def filters
  instance_var_name = '@ec2_filters'
  recurse_hash_data_for_instance_var(instance_var_name, :filters)
end

#identifierObject

– Attributes –



4
5
6
# File 'lib/objects/node/attributes.rb', line 4

def identifier
  @identifier
end

#network_dataObject



36
37
38
39
# File 'lib/objects/node/attributes.rb', line 36

def network_data
  instance_var_name = '@network'
  recurse_hash_data_for_instance_var(instance_var_name, :network_data)
end

#network_driverObject



25
26
27
28
29
# File 'lib/objects/node/attributes.rb', line 25

def network_driver
  return nil if !network_data || (network_data.is_a?(Hash) && network_data.empty?)
  @network_driver ||= ::Bcome::Driver::Bucket.instance.driver_for_network_data(network_data)
  @network_driver
end

#recurse_hash_data_for_instance_var(instance_var_name, parent_key) ⇒ Object



41
42
43
44
45
46
# File 'lib/objects/node/attributes.rb', line 41

def recurse_hash_data_for_instance_var(instance_var_name, parent_key)
  instance_data = instance_variable_defined?(instance_var_name) ? instance_variable_get(instance_var_name) : {}
  instance_data ||= {}
  instance_data = parent.send(parent_key).deep_merge(instance_data) if has_parent?
  instance_data
end

#ssh_dataObject



20
21
22
23
# File 'lib/objects/node/attributes.rb', line 20

def ssh_data
  instance_var_name = '@ssh_settings'
  recurse_hash_data_for_instance_var(instance_var_name, :ssh_data)
end

#ssh_driverObject



16
17
18
# File 'lib/objects/node/attributes.rb', line 16

def ssh_driver
  @ssh_driver ||= ::Bcome::Ssh::Driver.new(ssh_data, self)
end

#typeObject



12
13
14
# File 'lib/objects/node/attributes.rb', line 12

def type
  @type
end