class Kontena::Cli::Services::RemoveCommand

Public Instance Methods

execute() click to toggle source
# File lib/kontena/cli/services/remove_command.rb, line 17
def execute
  names.each do |name|
    if instance
      remove_instance(name)
    else
      remove(name)
    end
  end
end
remove(name) click to toggle source
# File lib/kontena/cli/services/remove_command.rb, line 27
def remove(name)
  confirm_command(name) unless forced?

  spinner "Removing service #{pastel.cyan(name)} " do
    client.delete("services/#{parse_service_id(name)}")
    removed = false
    until removed == true
      sleep 1
      begin
        client.get("services/#{parse_service_id(name)}")
      rescue Kontena::Errors::StandardError => exc
        if exc.status == 404
          removed = true
        else
          raise exc
        end
      end
    end
  end
end
remove_instance(name) click to toggle source
# File lib/kontena/cli/services/remove_command.rb, line 48
def remove_instance(name)
  instance_name = "#{name}/#{instance}"
  confirm_command("#{name}/#{instance}") unless forced?
  service_instance = client.get("services/#{parse_service_id(name)}/instances")['instances'].find{ |i|
    i['instance_number'] == instance.to_i
  }
  exit_with_error("Instance not found") unless service_instance
  spinner "Removing service instance #{pastel.cyan(instance_name)} " do
    client.delete("services/#{parse_service_id(name)}/instances/#{service_instance['id']}")
  end
end