Sha256: bea80be5fe14031c546ee8350048f6590f5a471e2082bff3997a47bb1b5e9536

Contents?: true

Size: 1 KB

Versions: 40

Compression:

Stored size: 1 KB

Contents

module Brightbox
  command [:cloudips] do |cmd|

    cmd.desc I18n.t("cloudips.destroy.desc")
    cmd.arg_name "[cloudip-id...]"
    cmd.command [:destroy] do |c|

      c.desc "Unmap mapped IPs before destroying them"
      c.switch [:u, "unmap"], :negatable => false

      c.action do |_global_options, options, args|

        if args.empty?
          raise "You must specify the Cloud IPs you want to destroy"
        end

        ips = CloudIP.find_or_call(args) do |id|
          raise "Couldn't find Cloud IP #{id}"
        end

        ips.each do |ip|

          if ip.mapped?
            if options[:u]
              info "Unmapping Cloud IP #{ip}"
              ip.unmap
              3.times do
                break unless ip.mapped?
                sleep 1
                ip.reload
              end
            else
              raise "Cannot destroy mapped Cloud IP #{ip}"
            end
          end
          info "Destroying Cloud IP #{ip}"
          ip.destroy
        end
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
brightbox-cli-3.3.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-3.2.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-3.1.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-3.0.1 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-3.0.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.12.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.11.2 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.11.1 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.11.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.10.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.9.3 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.9.2 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.9.1 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.9.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.8.2 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.8.1 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.8.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.7.1 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.7.0 lib/brightbox-cli/commands/cloudips/destroy.rb
brightbox-cli-2.6.0 lib/brightbox-cli/commands/cloudips/destroy.rb