class Bcome::Driver::Base
Public Class Methods
create_from_config(config, node)
click to toggle source
# File lib/objects/driver/base.rb, line 6 def create_from_config(config, node) raise Bcome::Exception::InvalidNetworkDriverType, 'Your network configurtion is invalid' unless config.is_a?(Hash) raise Bcome::Exception::InvalidNetworkDriverType, "Missing config parameter 'type' for namespace '#{config.inspect}'" unless config[:type] config_klass_key = config[:type].to_sym driver_klass = klass_for_type[config_klass_key] raise Bcome::Exception::InvalidNetworkDriverType, config unless driver_klass driver = driver_klass.new(config, node) driver end
klass_for_type()
click to toggle source
# File lib/objects/driver/base.rb, line 18 def klass_for_type { ec2: ::Bcome::Driver::Ec2, gcp: ::Bcome::Driver::Gcp } end
new(params, node)
click to toggle source
# File lib/objects/driver/base.rb, line 28 def initialize(params, node) @params = params @node = node end
Public Instance Methods
config()
click to toggle source
# File lib/objects/driver/base.rb, line 57 def config @params end
has_network_credentials?()
click to toggle source
# File lib/objects/driver/base.rb, line 33 def has_network_credentials? false end
loader_completed_title()
click to toggle source
# File lib/objects/driver/base.rb, line 41 def loader_completed_title 'done' end
loader_title()
click to toggle source
# File lib/objects/driver/base.rb, line 37 def loader_title 'Loading' + "\s#{pretty_provider_name.bc_blue.bold}\s#{pretty_resource_location.underline}".bc_green end
network_credentials()
click to toggle source
# File lib/objects/driver/base.rb, line 53 def network_credentials raise 'Should be overidden' end
pretty_provider_name()
click to toggle source
# File lib/objects/driver/base.rb, line 45 def pretty_provider_name raise 'Should be overriden' end
pretty_resource_location()
click to toggle source
# File lib/objects/driver/base.rb, line 49 def pretty_resource_location raise 'Should be overidden' end
spoof_fetch_server_list(monkey_patched_inventory)
click to toggle source
Spoof-fetch. Used with the network-socket linkup POC.
# File lib/objects/driver/base.rb, line 62 def spoof_fetch_server_list(monkey_patched_inventory) if @node.nodes_loaded? monkey_patched_inventory.set_static_servers else wrap_indicator type: :basic, title: loader_title, completed_title: loader_completed_title do fake_delay_milliseconds = rand(1..400).to_f / 1000 sleep fake_delay_milliseconds monkey_patched_inventory.set_static_servers signal_success end @node.nodes_loaded! end end