Class: EPC::Command::ShowInstancesCommand

Inherits:
BaseCommand show all
Defined in:
lib/epc/command/show_instances_command.rb

Constant Summary

Constants inherited from BaseCommand

BaseCommand::GIVEUP_TICKS, BaseCommand::SLEEP_TIME, BaseCommand::TICKER_TICKS

Instance Attribute Summary

Attributes inherited from BaseCommand

#client, #klass_name, #object_id, #object_type, #options, #target_id, #target_type

Instance Method Summary collapse

Methods inherited from BaseCommand

#check_options, #context_params, #context_params=, #go, include_module, inherited, #initialize, required_options, #say_err

Methods included from PersistentAttributes

#auth_token, #caller_id, #target_url

Constructor Details

This class inherits a constructor from EPC::Command::BaseCommand

Instance Method Details

#execute(deployed_project_id = nil, *args) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/epc/command/show_instances_command.rb', line 4

def execute(deployed_project_id=nil, *args)
  deployed_project_id = args[1]

  if deployed_project_id.nil?
    say("You must specify the deployed project id.")
    say(EPC::Help::COMMAND_USAGES[:show_instances])
    return 1
  end

  opts = options[:include_inactive] ? '?include_inactive=true' : ''
  path = "#{deployed_project_id}/instances#{opts}"
  url = "#{EPC::Config::INSTANCES_PATH}/#{path}"

  status, response, headers = client.get(url)
  unless status.successful?
    say("Request failed: [#{response[:message]}]")
    return status
  end

  values = []
  response.each_pair do |k,v|
    values << {instance_id: "#{k}", active: "#{v[:active]}"}
  end
  table = EPC::TabularOutputter.new(values, [:instance_id, :active])
  say(table.print(:line_separator => true))

  status
end