bbcloud 0.11.2 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -2
- data/Gemfile +3 -0
- data/README +11 -1
- data/README.rdoc +11 -1
- data/Rakefile +12 -0
- data/bbcloud.gemspec +10 -10
- data/bin/brightbox-accounts +7 -2
- data/bin/brightbox-cloudips +7 -2
- data/bin/brightbox-config +7 -2
- data/bin/brightbox-images +7 -2
- data/bin/brightbox-lbs +7 -2
- data/bin/brightbox-servers +7 -2
- data/bin/brightbox-types +7 -2
- data/bin/brightbox-users +7 -2
- data/bin/brightbox-zones +7 -2
- data/lib/bbcloud.rb +43 -0
- data/lib/bbcloud/accounts.rb +5 -3
- data/lib/bbcloud/command_generator.rb +50 -0
- data/lib/bbcloud/commands/accounts-list.rb +13 -11
- data/lib/bbcloud/commands/accounts-reset-ftp-password.rb +26 -23
- data/lib/bbcloud/commands/accounts-show.rb +20 -16
- data/lib/bbcloud/commands/cloudips-create.rb +16 -14
- data/lib/bbcloud/commands/cloudips-destroy.rb +29 -26
- data/lib/bbcloud/commands/cloudips-list.rb +13 -11
- data/lib/bbcloud/commands/cloudips-map.rb +48 -46
- data/lib/bbcloud/commands/cloudips-show.rb +15 -12
- data/lib/bbcloud/commands/cloudips-unmap.rb +28 -25
- data/lib/bbcloud/commands/config-client-add.rb +33 -31
- data/lib/bbcloud/commands/config-client-default.rb +18 -16
- data/lib/bbcloud/commands/config-client-list.rb +19 -16
- data/lib/bbcloud/commands/config-client-remove.rb +18 -16
- data/lib/bbcloud/commands/images-destroy.rb +18 -16
- data/lib/bbcloud/commands/images-list.rb +20 -18
- data/lib/bbcloud/commands/images-register.rb +21 -19
- data/lib/bbcloud/commands/images-show.rb +17 -15
- data/lib/bbcloud/commands/lbs-add-nodes.rb +15 -13
- data/lib/bbcloud/commands/lbs-create.rb +65 -63
- data/lib/bbcloud/commands/lbs-destroy.rb +13 -11
- data/lib/bbcloud/commands/lbs-list.rb +13 -11
- data/lib/bbcloud/commands/lbs-remove-nodes.rb +15 -13
- data/lib/bbcloud/commands/lbs-show.rb +15 -13
- data/lib/bbcloud/commands/lbs-update.rb +59 -57
- data/lib/bbcloud/commands/servers-activate-cloud.rb +18 -16
- data/lib/bbcloud/commands/servers-create.rb +80 -77
- data/lib/bbcloud/commands/servers-destroy.rb +17 -15
- data/lib/bbcloud/commands/servers-list.rb +14 -14
- data/lib/bbcloud/commands/servers-show.rb +39 -37
- data/lib/bbcloud/commands/servers-shutdown.rb +14 -12
- data/lib/bbcloud/commands/servers-snapshot.rb +14 -12
- data/lib/bbcloud/commands/servers-start.rb +15 -13
- data/lib/bbcloud/commands/servers-stop.rb +14 -12
- data/lib/bbcloud/commands/types-list.rb +13 -11
- data/lib/bbcloud/commands/types-show.rb +18 -16
- data/lib/bbcloud/commands/users-list.rb +13 -11
- data/lib/bbcloud/commands/users-show.rb +17 -15
- data/lib/bbcloud/commands/users-update.rb +27 -25
- data/lib/bbcloud/commands/zones-list.rb +13 -11
- data/lib/bbcloud/config.rb +125 -111
- data/lib/bbcloud/error_parser.rb +34 -0
- data/lib/bbcloud/fog_extensions.rb +19 -0
- data/lib/bbcloud/gli_global_hooks.rb +56 -0
- data/lib/bbcloud/logging.rb +40 -0
- data/lib/bbcloud/ruby_core_ext.rb +9 -0
- data/lib/bbcloud/servers.rb +7 -2
- data/lib/bbcloud/tables.rb +78 -73
- data/lib/bbcloud/vendor/gli/.gitignore +10 -0
- data/lib/bbcloud/vendor/gli/.rvmrc +1 -0
- data/lib/bbcloud/vendor/gli/Gemfile +5 -0
- data/lib/bbcloud/vendor/gli/LICENSE.txt +201 -0
- data/lib/bbcloud/vendor/gli/README.rdoc +54 -0
- data/lib/bbcloud/vendor/gli/Rakefile +84 -0
- data/lib/bbcloud/vendor/gli/bin/gli +72 -0
- data/lib/bbcloud/vendor/gli/bin/report_on_rake_results +10 -0
- data/lib/bbcloud/vendor/gli/bin/test_all_rubies.sh +2 -0
- data/lib/bbcloud/vendor/gli/features/gli_executable.feature +88 -0
- data/lib/bbcloud/vendor/gli/features/gli_init.feature +122 -0
- data/lib/bbcloud/vendor/gli/features/step_definitions/gli_executable_steps.rb +12 -0
- data/lib/bbcloud/vendor/gli/features/step_definitions/gli_init_steps.rb +4 -0
- data/lib/bbcloud/vendor/gli/features/support/env.rb +21 -0
- data/lib/bbcloud/vendor/gli/gli.cheat +80 -0
- data/lib/bbcloud/vendor/gli/gli.gemspec +46 -0
- data/lib/bbcloud/vendor/gli/gli.rdoc +51 -0
- data/lib/bbcloud/vendor/gli/lib/gli.rb +560 -0
- data/lib/bbcloud/vendor/gli/lib/gli/command.rb +124 -0
- data/lib/bbcloud/vendor/gli/lib/gli/command_line_token.rb +58 -0
- data/lib/bbcloud/vendor/gli/lib/gli/copy_options_to_aliases.rb +33 -0
- data/lib/bbcloud/vendor/gli/lib/gli/exceptions.rb +45 -0
- data/lib/bbcloud/vendor/gli/lib/gli/flag.rb +67 -0
- data/lib/bbcloud/vendor/gli/lib/gli/options.rb +19 -0
- data/lib/bbcloud/vendor/gli/lib/gli/switch.rb +63 -0
- data/lib/bbcloud/vendor/gli/lib/gli/terminal.rb +79 -0
- data/lib/bbcloud/vendor/gli/lib/gli_version.rb +3 -0
- data/lib/bbcloud/vendor/gli/lib/support/help.rb +180 -0
- data/lib/bbcloud/vendor/gli/lib/support/initconfig.rb +34 -0
- data/lib/bbcloud/vendor/gli/lib/support/rdoc.rb +119 -0
- data/lib/bbcloud/vendor/gli/lib/support/scaffold.rb +284 -0
- data/lib/bbcloud/vendor/gli/test/config.yaml +9 -0
- data/lib/bbcloud/vendor/gli/test/gli.reek +116 -0
- data/lib/bbcloud/vendor/gli/test/roodi.yaml +9 -0
- data/lib/bbcloud/vendor/gli/test/tc_command.rb +329 -0
- data/lib/bbcloud/vendor/gli/test/tc_flag.rb +67 -0
- data/lib/bbcloud/vendor/gli/test/tc_gli.rb +429 -0
- data/lib/bbcloud/vendor/gli/test/tc_options.rb +31 -0
- data/lib/bbcloud/vendor/gli/test/tc_parsing.rb +279 -0
- data/lib/bbcloud/vendor/gli/test/tc_switch.rb +80 -0
- data/lib/bbcloud/vendor/gli/test/tc_terminal.rb +91 -0
- data/lib/bbcloud/version.rb +1 -1
- data/pkg/bbcloud-0.12.0.gem +0 -0
- data/spec/fixtures/vcr_cassettes/server_list.yml +117 -0
- data/spec/servers_spec.rb +36 -0
- data/spec/spec_helper.rb +24 -0
- data/spec/support/common_helpers.rb +47 -0
- metadata +129 -135
- data/lib/bbcloud/cli.rb +0 -160
- data/lib/bbcloud/vendor/fog/lib/fog.rb +0 -14
- data/lib/bbcloud/vendor/fog/lib/fog/compute.rb +0 -43
- data/lib/bbcloud/vendor/fog/lib/fog/compute/brightbox.rb +0 -162
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/account.rb +0 -51
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/cloud_ip.rb +0 -47
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/cloud_ips.rb +0 -34
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/flavor.rb +0 -33
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/flavors.rb +0 -28
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/image.rb +0 -56
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/images.rb +0 -28
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/load_balancer.rb +0 -50
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/load_balancers.rb +0 -28
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/server.rb +0 -108
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/servers.rb +0 -29
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/user.rb +0 -39
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/users.rb +0 -29
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/zone.rb +0 -21
- data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/zones.rb +0 -29
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/activate_console_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/add_listeners_load_balancer.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/add_nodes_load_balancer.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_api_client.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_cloud_ip.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_image.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_load_balancer.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_server.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_api_client.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_cloud_ip.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_image.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_load_balancer.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_account.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_api_client.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_cloud_ip.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_image.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_interface.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_load_balancer.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_server_type.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_user.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_zone.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_api_clients.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_cloud_ips.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_images.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_load_balancers.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_server_types.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_servers.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_users.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_zones.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/map_cloud_ip.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/remove_listeners_load_balancer.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/remove_nodes_load_balancer.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/reset_ftp_password_account.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/resize_server.rb +0 -19
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/shutdown_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/snapshot_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/start_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/stop_server.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/unmap_cloud_ip.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_account.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_api_client.rb +0 -21
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_image.rb +0 -21
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_load_balancer.rb +0 -21
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_server.rb +0 -21
- data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_user.rb +0 -21
- data/lib/bbcloud/vendor/fog/lib/fog/core.rb +0 -32
- data/lib/bbcloud/vendor/fog/lib/fog/core/attributes.rb +0 -178
- data/lib/bbcloud/vendor/fog/lib/fog/core/collection.rb +0 -127
- data/lib/bbcloud/vendor/fog/lib/fog/core/connection.rb +0 -35
- data/lib/bbcloud/vendor/fog/lib/fog/core/credentials.rb +0 -92
- data/lib/bbcloud/vendor/fog/lib/fog/core/deprecation.rb +0 -23
- data/lib/bbcloud/vendor/fog/lib/fog/core/errors.rb +0 -20
- data/lib/bbcloud/vendor/fog/lib/fog/core/hmac.rb +0 -48
- data/lib/bbcloud/vendor/fog/lib/fog/core/mock.rb +0 -68
- data/lib/bbcloud/vendor/fog/lib/fog/core/model.rb +0 -57
- data/lib/bbcloud/vendor/fog/lib/fog/core/parser.rb +0 -99
- data/lib/bbcloud/vendor/fog/lib/fog/core/provider.rb +0 -18
- data/lib/bbcloud/vendor/fog/lib/fog/core/scp.rb +0 -67
- data/lib/bbcloud/vendor/fog/lib/fog/core/service.rb +0 -175
- data/lib/bbcloud/vendor/fog/lib/fog/core/ssh.rb +0 -120
- data/lib/bbcloud/vendor/fog/lib/fog/core/time.rb +0 -27
- data/lib/bbcloud/vendor/fog/lib/fog/core/wait_for.rb +0 -17
- data/lib/bbcloud/vendor/fog/lib/fog/providers.rb +0 -9
- data/lib/bbcloud/vendor/fog/lib/fog/providers/brightbox.rb +0 -9
@@ -1,22 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Destroy servers'
|
3
|
+
arg_name '[server-id...]'
|
4
|
+
command [:destroy] do |c|
|
5
|
+
c.action do |global_options, options, args|
|
5
6
|
|
6
|
-
|
7
|
+
raise "You must specify servers to destroy" if args.empty?
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
servers = Server.find_or_call(args) do |id|
|
10
|
+
raise "Couldn't find server #{id}"
|
11
|
+
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
servers.each do |server|
|
14
|
+
info "Destroying server #{server}"
|
15
|
+
begin
|
16
|
+
server.destroy
|
17
|
+
rescue Brightbox::Api::Conflict => e
|
18
|
+
error "Could not destroy #{server}"
|
19
|
+
end
|
18
20
|
end
|
19
|
-
end
|
20
21
|
|
22
|
+
end
|
21
23
|
end
|
22
24
|
end
|
@@ -1,19 +1,19 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'List servers'
|
3
|
+
arg_name '[server-id...]'
|
4
|
+
command [:list] do |c|
|
5
|
+
c.action do |global_options,options,args|
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
Type.cache_all!
|
8
|
+
Zone.cache_all!
|
9
|
+
if args.empty?
|
10
|
+
servers = Server.find(:all)
|
11
|
+
else
|
12
|
+
servers = Server.find_or_call(args) do |id|
|
13
|
+
warn "Couldn't find server #{id}"
|
14
|
+
end
|
14
15
|
end
|
16
|
+
render_table(servers, global_options)
|
15
17
|
end
|
16
|
-
|
17
|
-
render_table(servers, global_options)
|
18
18
|
end
|
19
19
|
end
|
@@ -1,48 +1,50 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Show detailed server info'
|
3
|
+
arg_name 'server-id...'
|
4
|
+
command [:show] do |c|
|
4
5
|
|
5
|
-
|
6
|
+
c.action do |global_options,options,args|
|
6
7
|
|
7
|
-
|
8
|
+
raise "You must specify servers to show" if args.empty?
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
rows = []
|
14
|
-
servers.each do |s|
|
15
|
-
o = s.to_row
|
16
|
-
if s.server_type.exists?
|
17
|
-
o[:type] = s.server_type.id
|
18
|
-
o[:type_handle] = s.server_type.handle
|
19
|
-
o[:type_name] = s.server_type.name
|
20
|
-
o[:ram] = s.server_type.ram
|
21
|
-
o[:cores] = s.server_type.cores
|
22
|
-
o[:disk] = s.server_type.disk.to_i
|
10
|
+
servers = Server.find_or_call(args) do |id|
|
11
|
+
raise "Couldn't find server #{id}"
|
23
12
|
end
|
24
13
|
|
25
|
-
|
26
|
-
|
27
|
-
o
|
14
|
+
rows = []
|
15
|
+
servers.each do |s|
|
16
|
+
o = s.to_row
|
17
|
+
if s.server_type.exists?
|
18
|
+
o[:type] = s.server_type.id
|
19
|
+
o[:type_handle] = s.server_type.handle
|
20
|
+
o[:type_name] = s.server_type.name
|
21
|
+
o[:ram] = s.server_type.ram
|
22
|
+
o[:cores] = s.server_type.cores
|
23
|
+
o[:disk] = s.server_type.disk.to_i
|
24
|
+
end
|
25
|
+
|
26
|
+
if s.image.exists?
|
27
|
+
o[:image_name] = s.image.name
|
28
|
+
o[:arch] = s.image.arch
|
29
|
+
end
|
30
|
+
o[:private_ips] = s.interfaces.collect { |i| i['ipv4_address'] }.join(", ")
|
31
|
+
o[:cloud_ip_ids] = s.cloud_ips.collect { |i| i['id'] }.join(", ")
|
32
|
+
o[:cloud_ips] = s.cloud_ips.collect { |i| i['public_ip'] }.join(", ")
|
33
|
+
o[:snapshots] = s.snapshots.collect { |i| i['id'] }.join(", ")
|
34
|
+
rows << o
|
28
35
|
end
|
29
|
-
o[:private_ips] = s.interfaces.collect { |i| i['ipv4_address'] }.join(", ")
|
30
|
-
o[:cloud_ip_ids] = s.cloud_ips.collect { |i| i['id'] }.join(", ")
|
31
|
-
o[:cloud_ips] = s.cloud_ips.collect { |i| i['public_ip'] }.join(", ")
|
32
|
-
o[:snapshots] = s.snapshots.collect { |i| i['id'] }.join(", ")
|
33
|
-
rows << o
|
34
|
-
end
|
35
36
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
37
|
+
table_opts = global_options.merge({
|
38
|
+
:vertical => true,
|
39
|
+
:fields => [:id, :status, :name, :description, :created_at, :deleted_at,
|
40
|
+
:zone, :type, :type_name, :type_handle, :ram, :cores,
|
41
|
+
:disk, :image, :image_name, :private_ips, :cloud_ips,
|
42
|
+
:cloud_ip_ids, :hostname, :public_hostname, :snapshots
|
43
|
+
]
|
44
|
+
})
|
44
45
|
|
45
|
-
|
46
|
+
render_table(rows, table_opts)
|
46
47
|
|
48
|
+
end
|
47
49
|
end
|
48
50
|
end
|
@@ -1,18 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Shutdown the specified servers, aka clicking "shutdown" in the OS'
|
3
|
+
arg_name 'server-id...'
|
4
|
+
command [:shutdown] do |c|
|
5
|
+
c.action do |global_options,options,args|
|
5
6
|
|
6
|
-
|
7
|
+
raise "You must specify servers to shutdown" if args.empty?
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
servers = Server.find_or_call(args) do |id|
|
10
|
+
raise "Couldn't find server #{id}"
|
11
|
+
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
servers.each do |s|
|
14
|
+
info "Shutting down server #{s}"
|
15
|
+
s.shutdown
|
16
|
+
end
|
16
17
|
|
18
|
+
end
|
17
19
|
end
|
18
20
|
end
|
@@ -1,19 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Snapshot the specified servers'
|
3
|
+
arg_name 'server-id...'
|
4
|
+
command [:snapshot] do |c|
|
4
5
|
|
5
|
-
|
6
|
+
c.action do |global_options,options,args|
|
6
7
|
|
7
|
-
|
8
|
+
raise "You must specify servers to snapshot" if args.empty?
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
servers = Server.find_or_call(args) do |id|
|
11
|
+
raise "Couldn't find server #{id}"
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
servers.each do |s|
|
15
|
+
info "Snapshotting server #{s}"
|
16
|
+
s.snapshot
|
17
|
+
end
|
17
18
|
|
19
|
+
end
|
18
20
|
end
|
19
21
|
end
|
@@ -1,19 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Start the specified servers'
|
3
|
+
arg_name 'server-id...'
|
4
|
+
command [:start] do |c|
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
c.action do |global_options,options,args|
|
7
|
+
|
8
|
+
raise "You must specify servers to start" if args.empty?
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
servers = Server.find_or_call(args) do |id|
|
11
|
+
raise "Couldn't find server #{id}"
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
servers.each do |s|
|
15
|
+
info "Starting server #{s}"
|
16
|
+
s.start
|
17
|
+
end
|
17
18
|
|
19
|
+
end
|
18
20
|
end
|
19
21
|
end
|
@@ -1,18 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Stop the specified servers, aka turning the power off'
|
3
|
+
arg_name 'server-id...'
|
4
|
+
command [:stop] do |c|
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
c.action do |global_options,options,args|
|
7
|
+
|
8
|
+
raise "You must specify servers to stop" if args.empty?
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
servers = Server.find_or_call(args) do |id|
|
11
|
+
raise "Couldn't find server #{id}"
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
servers.each do |s|
|
15
|
+
info "Stopping server #{s}"
|
16
|
+
s.stop
|
17
|
+
end
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
@@ -1,16 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'List types'
|
3
|
+
arg_name '[type-id...]'
|
4
|
+
command [:list] do |c|
|
5
|
+
c.action do |global_options,options,args|
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
if args.empty?
|
8
|
+
types = Type.find :all
|
9
|
+
else
|
10
|
+
types = Type.find_or_call(args) do |id|
|
11
|
+
warn "Couldn't find type #{id}"
|
12
|
+
end
|
11
13
|
end
|
12
|
-
end
|
13
14
|
|
14
|
-
|
15
|
+
render_table(types.sort, global_options)
|
16
|
+
end
|
15
17
|
end
|
16
18
|
end
|
@@ -1,23 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Show detailed type info'
|
3
|
+
arg_name 'type-id...'
|
4
|
+
command [:show] do |c|
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
c.action do |global_options,options,args|
|
7
|
+
|
8
|
+
if args.empty?
|
9
|
+
raise "You must specify the types you want to show"
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
types = Type.find_or_call(args) do |id|
|
13
|
+
warn "Couldn't find type #{id}"
|
14
|
+
end
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
table_opts = global_options.merge({
|
17
|
+
:vertical => true,
|
18
|
+
:fields => [:id, :handle, :status, :name, :ram, :disk, :cores, :description]
|
19
|
+
})
|
19
20
|
|
20
|
-
|
21
|
+
render_table(types, table_opts)
|
21
22
|
|
23
|
+
end
|
22
24
|
end
|
23
25
|
end
|
@@ -1,16 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'List users'
|
3
|
+
arg_name '[user-id...]'
|
4
|
+
command [:list] do |c|
|
5
|
+
c.action do |global_options, options, args|
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
if args.empty?
|
8
|
+
users = User.find(:all)
|
9
|
+
else
|
10
|
+
users = User.find_or_call(args) do |id|
|
11
|
+
warn "Couldn't find user #{id}"
|
12
|
+
end
|
11
13
|
end
|
12
|
-
end
|
13
14
|
|
14
|
-
|
15
|
+
render_table(users, global_options)
|
16
|
+
end
|
15
17
|
end
|
16
18
|
end
|
@@ -1,23 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Brightbox
|
2
|
+
desc 'Show detailed user info'
|
3
|
+
arg_name 'user-id...'
|
4
|
+
command [:show] do |c|
|
4
5
|
|
5
|
-
|
6
|
+
c.action do |global_options,options,args|
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
if args.empty?
|
9
|
+
raise "You must specify the users you want to show"
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
users = User.find_or_call(args) do |id|
|
13
|
+
warn "Couldn't find user #{id}"
|
14
|
+
end
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
table_opts = global_options.merge({
|
17
|
+
:vertical => true,
|
18
|
+
:fields => [:id, :name, :email_address, :accounts, :ssh_key ]
|
19
|
+
})
|
19
20
|
|
20
|
-
|
21
|
+
render_table(users, table_opts)
|
21
22
|
|
23
|
+
end
|
22
24
|
end
|
23
25
|
end
|