lib/kontena/cli/services/remove_command.rb in kontena-cli-1.4.3 vs lib/kontena/cli/services/remove_command.rb in kontena-cli-1.5.0.pre1

- old
+ new

@@ -3,31 +3,33 @@ module Kontena::Cli::Services class RemoveCommand < Kontena::Command include Kontena::Cli::Common include ServicesHelper - parameter "NAME", "Service name" + parameter "NAME ...", "Service name", attribute_name: :names option "--instance", "INSTANCE", "Remove only given instance" option "--force", :flag, "Force remove", default: false, attribute_name: :forced banner "Remove a service" requires_current_master requires_current_master_token def execute - if instance - remove_instance - else - remove + names.each do |name| + if instance + remove_instance(name) + else + remove(name) + end end end - def remove + def remove(name) confirm_command(name) unless forced? - spinner "Removing service #{name.colorize(:cyan)} " do + spinner "Removing service #{pastel.cyan(name)} " do client.delete("services/#{parse_service_id(name)}") removed = false until removed == true sleep 1 begin @@ -41,17 +43,17 @@ end end end end - def remove_instance + 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 #{instance_name.colorize(:cyan)} " do + spinner "Removing service instance #{pastel.cyan(instance_name)} " do client.delete("services/#{parse_service_id(name)}/instances/#{service_instance['id']}") end end end end