class Kontena::Cli::Services::UnlinkCommand

Public Instance Methods

execute() click to toggle source
# File lib/kontena/cli/services/unlink_command.rb, line 12
def execute
  require_api_url
  token = require_token
  target_service = target
  target_service = "null/#{target_service}" unless target_service.include?('/')
  target_id = "#{current_grid}/#{target_service}"
  service = client(token).get("services/#{parse_service_id(name)}")
  links = service['links']
  unless links.find { |l| l['id'] == target_id }
    exit_with_error("Service is not linked to #{target.to_s}")
  end
  links.delete_if { |l| l['id'] == target_id }
  data = {links: links}
  spinner "Unlinking #{pastel.cyan(name)} from #{pastel.cyan(target)} " do
    update_service(token, name, data)
  end
end