Class: Souffle::Provisioner
- Inherits:
-
Object
- Object
- Souffle::Provisioner
- Defined in:
- lib/souffle/provisioner.rb,
lib/souffle/provisioner.rb
Overview
Starts up the base provisioner class with system and node state machines.
Defined Under Namespace
Instance Attribute Summary collapse
-
#provider ⇒ Object
readonly
Returns the value of attribute provider.
-
#system ⇒ Object
readonly
Returns the value of attribute system.
Instance Method Summary collapse
-
#begin_provisioning ⇒ Object
Starts the provisioning process keeping a local lookup to the provisioner.
-
#cleanup_provider(provider) ⇒ String
Cleans up the provider name to match the providers we have.
-
#initialize ⇒ Provisioner
constructor
Creates a new provisioner.
-
#initialize_provider(provider = nil) ⇒ Object
Sets up the given provider to be used for the creation of a system.
-
#setup_system(system_hash) ⇒ Object
Creates the system object from a hash.
Constructor Details
#initialize ⇒ Provisioner
Creates a new provisioner.
12 13 14 15 |
# File 'lib/souffle/provisioner.rb', line 12 def initialize @provider = initialize_provider @provisioner = nil end |
Instance Attribute Details
#provider ⇒ Object (readonly)
Returns the value of attribute provider.
9 10 11 |
# File 'lib/souffle/provisioner.rb', line 9 def provider @provider end |
#system ⇒ Object (readonly)
Returns the value of attribute system.
9 10 11 |
# File 'lib/souffle/provisioner.rb', line 9 def system @system end |
Instance Method Details
#begin_provisioning ⇒ Object
Starts the provisioning process keeping a local lookup to the provisioner.
51 52 53 |
# File 'lib/souffle/provisioner.rb', line 51 def begin_provisioning @provisioner = Souffle::Provisioner::System.new(@system, @provider) end |
#cleanup_provider(provider) ⇒ String
Cleans up the provider name to match the providers we have.
31 32 33 34 35 |
# File 'lib/souffle/provisioner.rb', line 31 def cleanup_provider(provider) lookups = {} Souffle::Provider.constants.each { |k| lookups[k.to_s.downcase] = k.to_s } lookups.fetch([provider.downcase], provider) end |
#initialize_provider(provider = nil) ⇒ Object
Sets up the given provider to be used for the creation of a system.
40 41 42 43 44 45 46 47 48 |
# File 'lib/souffle/provisioner.rb', line 40 def initialize_provider(provider=nil) prv = cleanup_provider(Souffle::Config[:provider]) Souffle::Provider.const_get(prv).new rescue Souffle::Exceptions::InvalidAwsKeys => e Souffle::Log.error "#{e.}:\n#{e.backtrace.join("\n")}" rescue Exception raise Souffle::Exceptions::InvalidProvider, "The provider Souffle::Provider::#{prv} does not exist." end |