Class: Crowbar::Client::Command::Node::Powercycle

Inherits:
Base
  • Object
show all
Defined in:
lib/crowbar/client/command/node/powercycle.rb

Overview

Implementation for the node powercycle command

Instance Attribute Summary

Attributes inherited from Base

#args, #options, #stderr, #stdin, #stdout

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Crowbar::Client::Command::Base

Instance Method Details

#executeObject



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/crowbar/client/command/node/powercycle.rb', line 35

def execute
  request.process do |request|
    case request.code
    when 200
      say "Successfully triggered powercycle for #{args.name}"
    when 404
      err "Node does not exist"
    else
      err request.parsed_response["error"]
    end
  end
end

#requestObject



27
28
29
30
31
32
33
# File 'lib/crowbar/client/command/node/powercycle.rb', line 27

def request
  @request ||= Request::Node::Powercycle.new(
    args.easy_merge(
      action: :powercycle
    )
  )
end