Class: Central::Cli::Nodes::Labels::RemoveCommand

Inherits:
Clamp::Command
  • Object
show all
Includes:
Common
Defined in:
lib/central/cli/nodes/labels/remove_command.rb

Instance Method Summary collapse

Methods included from 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



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/central/cli/nodes/labels/remove_command.rb', line 8

def execute
  require_api_url
  require_current_stack
  token = require_token

  node = client(token).get("stacks/#{current_stack}/nodes/#{node_id}")
  unless node['labels'].include?(label)
    abort("Node #{node['name']} does not have label #{label}")
  end
  node['labels'].delete(label)
  data = {}
  data[:labels] = node['labels']
  client.put("nodes/#{node['id']}", data, {}, 'Central-Stack-Token' => node['stack']['token'])
end