Sha256: 5f1eeed4ffd8667a682d03e8bd540c27e16307d38fd587298e250d79bf3a8c89

Contents?: true

Size: 1.23 KB

Versions: 43

Compression:

Stored size: 1.23 KB

Contents

module Brightbox
  command [:groups] do |cmd|

    cmd.desc I18n.t("groups.move_servers.desc")
    cmd.arg_name "srv-id ..."
    cmd.command [:move_servers] do |c|
      c.desc "Source Server Group"
      c.flag [:f, :from]

      c.desc "Target Server Group"
      c.flag [:t, :to]

      c.action do |global_options, options, args|
        unless args && !args.empty?
          raise "You must specify server ids to move"
        end

        source_id = options[:f]
        destination_id = options[:t]

        unless source_id && source_id[/^grp-/] && destination_id && destination_id[/^grp-/]
          raise "You must specify the source server group and destination server group"
        end

        source_group = ServerGroup.find source_id
        destination_group = ServerGroup.find destination_id

        servers = Server.find_or_call(args) do |id|
          raise "Couldn't find server #{id}"
        end

        info "Moving #{servers.size} servers from server group #{source_group} to server group #{destination_group}"
        source_group.move_servers servers, destination_group
        source_group.reload
        destination_group.reload
        render_table([source_group, destination_group], global_options)
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

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