Sha256: 9245bb29538569ffa514b618cec8f11cb1bd3e15860707d26aa723e0b4a73844

Contents?: true

Size: 812 Bytes

Versions: 12

Compression:

Stored size: 812 Bytes

Contents

module Brightbox
  desc 'unmap Cloud IPs'
  arg_name 'cloudip-id...'
  command [:unmap] do |c|

    c.action do |global_options,options,args|

      if args.empty?
        raise "You must specify the cloud ips you want to unmap"
      end

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

      ips.each do |ip|
        if ip.mapped?
          info "Unmapping cloud ip #{ip}"
          ip.unmap
          ip.reload
        else
          warn "Cloud ip #{ip} already unmapped"
        end
      end

      # Wait up to 3 seconds for unmapping to complete
      3.times do
        break unless ips.find { |ip| ip.mapped? }
        sleep 1
        ips.each { |ip| ip.reload if ip.mapped? }
      end

      render_table(ips, global_options)
    end
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
brightbox-cli-0.17.5 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.17.4 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.17.3 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.17.2 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.17.1 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.17.0 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.16.0 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.15.0 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.14.1 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.14.0 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.13.1 lib/brightbox-cli/commands/cloudips-unmap.rb
brightbox-cli-0.13.0 lib/brightbox-cli/commands/cloudips-unmap.rb