Class: Central::Cli::Containers::ExecCommand

Inherits:
Clamp::Command
  • Object
show all
Includes:
Central::Cli::Common, StackOptions
Defined in:
lib/central/cli/containers/exec_command.rb

Instance Method Summary collapse

Methods included from StackOptions

included

Methods included from Central::Cli::Common

#access_token=, #add_master, #api_url, #api_url=, #clear_current_stack, #client, #current_master, #current_master=, #current_master_index, #current_stack, #current_stack=, #ensure_custom_ssl_ca, #require_api_url, #require_current_stack, #require_token, #reset_client, #save_settings, #settings, #settings_filename

Instance Method Details

#executeObject



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/central/cli/containers/exec_command.rb', line 9

def execute
  require_api_url
  token = require_token

  payload = { cmd: ['sh', '-c', cmd_list.join(' ')] }
  service_name = container_id.match(/(.+)-(\d+)/)[1]
  result = client(token).post("containers/#{current_stack}/#{service_name}/#{container_id}/exec", payload)
  puts result[0].join(' ') unless result[0].size == 0
  STDERR.puts result[1].join(' ') unless result[1].size == 0
  exit result[2]
end