Class: VagrantPlugins::ProfitBricks::Action::ReadState
- Inherits:
-
Object
- Object
- VagrantPlugins::ProfitBricks::Action::ReadState
- Defined in:
- lib/vagrant-profitbricks/action/read_state.rb
Overview
This action reads the state of the machine and puts it in the ‘:machine_state_id` key in the environment.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, _env) ⇒ ReadState
constructor
A new instance of ReadState.
- #read_state(profitbricks, machine) ⇒ Object
Constructor Details
#initialize(app, _env) ⇒ ReadState
Returns a new instance of ReadState.
11 12 13 14 |
# File 'lib/vagrant-profitbricks/action/read_state.rb', line 11 def initialize(app, _env) @app = app @logger = Log4r::Logger.new('vagrant_profitbricks::action::read_state') end |
Instance Method Details
#call(env) ⇒ Object
16 17 18 19 |
# File 'lib/vagrant-profitbricks/action/read_state.rb', line 16 def call(env) env[:machine_state_id] = read_state(env[:profitbricks_compute], env[:machine]) @app.call(env) end |
#read_state(profitbricks, machine) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/vagrant-profitbricks/action/read_state.rb', line 21 def read_state(profitbricks, machine) return :not_created if machine.id.nil? server = begin profitbricks.servers.get(machine.provider_config.datacenter_id, machine.id) rescue nil end if server.nil? @logger.warn 'Unable to find server...' return :not_created end if server.state == 'SHUTOFF' return :off elsif server.state == 'INACTIVE' return :off end # Return the state server.state.downcase.to_sym end |