brightbox-cli 4.5.0 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -1
- data/Gemfile.lock +2 -2
- data/lib/brightbox-cli/commands/accounts/show.rb +0 -2
- data/lib/brightbox-cli/commands/images/register.rb +2 -6
- data/lib/brightbox-cli/version.rb +1 -1
- data/locales/en.yml +0 -2
- data/spec/cassettes/Brightbox_Account/_all/when_connected_using_an_client/returns_a_collection_of_Accounts.yml +2 -2
- data/spec/cassettes/Brightbox_Account/_all/when_connected_using_an_client/returns_resources_on_the_same_connection.yml +1 -1
- data/spec/cassettes/Brightbox_BBConfig/_find_or_set_default_account/when_client_is_not_authenticated/does_not_raise_an_error.yml +1 -1
- data/spec/cassettes/Brightbox_BBConfig/_find_or_set_default_account/when_client_may_access_one_account/updates_the_setting.yml +1 -1
- data/spec/cassettes/Brightbox_CloudIP/_find_all_/when_a_Cloud_IP_exists/returns_a_suitable.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallPolicy/_apply_to/should_apply_firewall_policy.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallPolicy/_create/should_create_firewall_policy.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallPolicy/_destroy/should_destroy_firewall_policy.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallPolicy/_find_all_/when_a_policy_exists/should_list_firewall_policy.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallPolicy/_find_or_call/when_a_policy_exists/should_show_firewall_policy.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallRule/_create/when_policy_exists/creates_the_rule_successfully.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallRule/_destroy/when_rule_exists/destroys_a_rule.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallRule/_find/when_rule_exists/can_display_the_result.yml +1 -1
- data/spec/cassettes/Brightbox_FirewallRule/_from_policy/when_policy_exists_with_a_rule/lists_all_rules.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_destroy/when_server_exists/should_work.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_find_all_/when_a_server_exists/should_print_server_list.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_show/when_server_exists/shows_detailed_attributes_of_a_server.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_shutdown/should_work.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_start/should_work.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_stop/should_work.yml +1 -1
- data/spec/cassettes/Brightbox_Server/_update/when_passing_new_group_membership/should_update_with_group.yml +1 -1
- data/spec/cassettes/Brightbox_ServerGroup/_find_all_/when_a_group_exists/list_server_groups.yml +1 -1
- data/spec/cassettes/brightbox_accounts/list/does_not_error.yml +1 -1
- data/spec/cassettes/brightbox_config/client_add/when_adding_a_new_client/does_not_error.yml +1 -1
- data/spec/cassettes/brightbox_config/client_add/when_adding_a_new_client/sets_up_the_config.yml +1 -1
- data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/does_not_change_the_default_client.yml +1 -1
- data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/does_not_error.yml +1 -1
- data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/sets_this_as_the_default_client.yml +1 -1
- data/spec/cassettes/brightbox_config/client_add/when_new_client_is_first_and_only_client/sets_up_the_config.yml +1 -1
- data/spec/commands/images/register_spec.rb +5 -43
- metadata +1 -4
- data/lib/brightbox-cli/commands/accounts/reset_ftp_password.rb +0 -40
- data/spec/commands/accounts/reset_ftp_password_spec.rb +0 -17
@@ -78,7 +78,7 @@ http_interactions:
|
|
78
78
|
Cache-Control:
|
79
79
|
- max-age=0, private, must-revalidate
|
80
80
|
body:
|
81
|
-
string: "{\"id\":\"acc-12345\",\"resource_type\":\"account\",\"url\":\"https://api.gb1.brightbox.com/1.0/accounts/acc-12345\",\"name\":\"Aurnqfvgsbeyiprni\",\"status\":\"active\",\"address_1\":\"Kaycee Throughway\",\"address_2\":\"\",\"city\":\"South Hellenport\",\"county\":\"\",\"postcode\":\"60364-9886\",\"country_code\":\"GB\",\"country_name\":\"United Kingdom\",\"vat_registration_number\":\"\",\"telephone_number\":\"+444238318140\",\"telephone_verified\":false,\"verified_telephone\":null,\"verified_at\":null,\"verified_ip\":null,\"created_at\":\"2013-09-04T07:53:13Z\",\"ram_limit\":32768,\"ram_used\":0,\"cloud_ips_limit\":20,\"cloud_ips_used\":1,\"load_balancers_limit\":5,\"load_balancers_used\":0,\"valid_credit_card\":false,\"library_ftp_host\":\"
|
81
|
+
string: "{\"id\":\"acc-12345\",\"resource_type\":\"account\",\"url\":\"https://api.gb1.brightbox.com/1.0/accounts/acc-12345\",\"name\":\"Aurnqfvgsbeyiprni\",\"status\":\"active\",\"address_1\":\"Kaycee Throughway\",\"address_2\":\"\",\"city\":\"South Hellenport\",\"county\":\"\",\"postcode\":\"60364-9886\",\"country_code\":\"GB\",\"country_name\":\"United Kingdom\",\"vat_registration_number\":\"\",\"telephone_number\":\"+444238318140\",\"telephone_verified\":false,\"verified_telephone\":null,\"verified_at\":null,\"verified_ip\":null,\"created_at\":\"2013-09-04T07:53:13Z\",\"ram_limit\":32768,\"ram_used\":0,\"cloud_ips_limit\":20,\"cloud_ips_used\":1,\"load_balancers_limit\":5,\"load_balancers_used\":0,\"valid_credit_card\":false,\"library_ftp_host\":\"\",\"library_ftp_user\":\"acc-12345\",\"library_ftp_password\":null,\"clients\":[{\"id\":\"cli-12345\",\"resource_type\":\"api_client\",\"url\":\"https://api.gb1.brightbox.com/1.0/api_clients/cli-12345\",\"name\":null,\"description\":null,\"revoked_at\":null}],\"images\":[],\"servers\":[],\"load_balancers\":[],\"cloud_ips\":[{\"id\":\"cip-12345\",\"resource_type\":\"cloud_ip\",\"url\":\"https://api.gb1.brightbox.com/1.0/cloud_ips/cip-12345\",\"status\":\"unmapped\",\"public_ip\":\"56.67.59.219\",\"reverse_dns\":\"cip-12345-67-59-219.gb1.brightbox.com\",\"name\":null}],\"server_groups\":[{\"id\":\"grp-12345\",\"resource_type\":\"server_group\",\"url\":\"https://api.gb1.brightbox.com/1.0/server_groups/grp-12345\",\"name\":\"default\",\"description\":\"All new servers are added to this group unless specified otherwise.\",\"created_at\":\"2013-09-04T07:53:13Z\",\"default\":true}],\"firewall_policies\":[{\"id\":\"fwp-12345\",\"resource_type\":\"firewall_policy\",\"url\":\"https://api.gb1.brightbox.com/1.0/firewall_policies/fwp-12345\",\"default\":true,\"name\":\"default\",\"created_at\":\"2013-09-04T07:53:14Z\",\"description\":\"Applied to the default server group.\"}],\"owner\":{\"id\":\"usr-12345\",\"resource_type\":\"user\",\"url\":\"https://api.gb1.brightbox.com/1.0/users/usr-12345\",\"name\":\"Dylan Fay DDS\",\"email_address\":\"jason.null@brightbox.com\"},\"users\":[],\"zones\":[{\"id\":\"zon-12345\",\"resource_type\":\"zone\",\"url\":\"https://api.gb1.brightbox.com/1.0/zones/zon-12345\",\"handle\":\"gb1-a\"},{\"id\":\"zon-12345\",\"resource_type\":\"zone\",\"url\":\"https://api.gb1.brightbox.com/1.0/zones/zon-12345\",\"handle\":\"gb1-b\"}]}"
|
82
82
|
http_version:
|
83
83
|
recorded_at: Fri, 06 Sep 2013 15:58:58 GMT
|
84
84
|
- request:
|
@@ -29,18 +29,18 @@ describe "brightbox images" do
|
|
29
29
|
it "does not error" do
|
30
30
|
expect { output }.to_not raise_error
|
31
31
|
|
32
|
-
expect(stderr).to match("ERROR: You must specify one of 'server', '
|
32
|
+
expect(stderr).to match("ERROR: You must specify one of 'server', 'url', or 'volume'")
|
33
33
|
expect(stdout).to match("")
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
37
|
context "with mutually exclusive arguments" do
|
38
|
-
let(:argv) { %w[images register --arch x86_64 --
|
38
|
+
let(:argv) { %w[images register --arch x86_64 --server srv-12345 --url http://example.com/test.img] }
|
39
39
|
|
40
40
|
it "does not error" do
|
41
41
|
expect { output }.to_not raise_error
|
42
42
|
|
43
|
-
expect(stderr).to match("ERROR: You cannot register from multiple sources. Use either '
|
43
|
+
expect(stderr).to match("ERROR: You cannot register from multiple sources. Use either 'server', 'url', or 'volume'")
|
44
44
|
expect(stdout).to match("")
|
45
45
|
end
|
46
46
|
end
|
@@ -83,44 +83,6 @@ describe "brightbox images" do
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
-
context "with 'source' argument" do
|
87
|
-
let(:argv) { %w[images register --arch x86_64 --source custom.img] }
|
88
|
-
|
89
|
-
before do
|
90
|
-
expect(Brightbox::Image).to receive(:register)
|
91
|
-
.with(hash_including(
|
92
|
-
arch: "x86_64",
|
93
|
-
source: "custom.img"
|
94
|
-
))
|
95
|
-
.and_call_original
|
96
|
-
|
97
|
-
stub_request(:post, "#{api_url}/1.0/images?account_id=acc-12345")
|
98
|
-
.with(body: /"source":"custom.img"/)
|
99
|
-
.to_return(
|
100
|
-
status: 201,
|
101
|
-
body: {
|
102
|
-
id: "img-12345"
|
103
|
-
}.to_json
|
104
|
-
)
|
105
|
-
|
106
|
-
stub_request(:get, "#{api_url}/1.0/images/img-12345?account_id=acc-12345")
|
107
|
-
.to_return(
|
108
|
-
status: 200,
|
109
|
-
body: {
|
110
|
-
id: "img-12345"
|
111
|
-
}.to_json
|
112
|
-
)
|
113
|
-
end
|
114
|
-
|
115
|
-
it "does not error" do
|
116
|
-
expect { output }.to_not raise_error
|
117
|
-
|
118
|
-
expect(stderr).to match("")
|
119
|
-
expect(stderr).not_to match("ERROR")
|
120
|
-
expect(stdout).to match("img-12345")
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
86
|
context "with 'url' argument" do
|
125
87
|
let(:argv) { %w[images register --arch x86_64 --url https://example.com/os-22.iso] }
|
126
88
|
|
@@ -198,14 +160,14 @@ describe "brightbox images" do
|
|
198
160
|
end
|
199
161
|
|
200
162
|
context "with min-ram argument" do
|
201
|
-
let(:argv) { %w[images register --arch x86_64 --
|
163
|
+
let(:argv) { %w[images register --arch x86_64 --url https://example.com/os-22.iso --min-ram 2048] }
|
202
164
|
|
203
165
|
before do
|
204
166
|
expect(Brightbox::Image).to receive(:register)
|
205
167
|
.with(hash_including(
|
206
168
|
arch: "x86_64",
|
207
169
|
min_ram: 2048,
|
208
|
-
|
170
|
+
http_url: "https://example.com/os-22.iso"
|
209
171
|
))
|
210
172
|
.and_call_original
|
211
173
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brightbox-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Leach
|
@@ -303,7 +303,6 @@ files:
|
|
303
303
|
- lib/brightbox-cli/commands/accounts/default.rb
|
304
304
|
- lib/brightbox-cli/commands/accounts/list.rb
|
305
305
|
- lib/brightbox-cli/commands/accounts/remove.rb
|
306
|
-
- lib/brightbox-cli/commands/accounts/reset_ftp_password.rb
|
307
306
|
- lib/brightbox-cli/commands/accounts/show.rb
|
308
307
|
- lib/brightbox-cli/commands/cloudips/create.rb
|
309
308
|
- lib/brightbox-cli/commands/cloudips/destroy.rb
|
@@ -588,7 +587,6 @@ files:
|
|
588
587
|
- spec/cassettes/brightbox_sql_snapshots/show/when_resource_exists/does_not_output_to_stderr.yml
|
589
588
|
- spec/commands/accounts/default_spec.rb
|
590
589
|
- spec/commands/accounts/list_spec.rb
|
591
|
-
- spec/commands/accounts/reset_ftp_password_spec.rb
|
592
590
|
- spec/commands/accounts/show_spec.rb
|
593
591
|
- spec/commands/cloudips/create_spec.rb
|
594
592
|
- spec/commands/cloudips/destroy_spec.rb
|
@@ -957,7 +955,6 @@ test_files:
|
|
957
955
|
- spec/cassettes/brightbox_sql_snapshots/show/when_resource_exists/does_not_output_to_stderr.yml
|
958
956
|
- spec/commands/accounts/default_spec.rb
|
959
957
|
- spec/commands/accounts/list_spec.rb
|
960
|
-
- spec/commands/accounts/reset_ftp_password_spec.rb
|
961
958
|
- spec/commands/accounts/show_spec.rb
|
962
959
|
- spec/commands/cloudips/create_spec.rb
|
963
960
|
- spec/commands/cloudips/destroy_spec.rb
|
@@ -1,40 +0,0 @@
|
|
1
|
-
module Brightbox
|
2
|
-
command [:accounts] do |cmd|
|
3
|
-
cmd.desc I18n.t("accounts.reset_ftp_password.desc")
|
4
|
-
cmd.arg_name "account-id..."
|
5
|
-
cmd.command [:reset_ftp_password] do |c|
|
6
|
-
c.action do |global_options, _options, args|
|
7
|
-
if args.empty?
|
8
|
-
raise "You must specify the accounts to reset ftp passwords for"
|
9
|
-
end
|
10
|
-
|
11
|
-
accounts = Account.find_or_call(args) do |id|
|
12
|
-
raise "Couldn't find account #{id}"
|
13
|
-
end
|
14
|
-
|
15
|
-
rows = []
|
16
|
-
|
17
|
-
accounts.each do |s|
|
18
|
-
info "Resetting ftp password for #{s}"
|
19
|
-
new_password = s.reset_ftp_password
|
20
|
-
o = s.to_row
|
21
|
-
o[:library_ftp_password] = new_password
|
22
|
-
rows << o
|
23
|
-
end
|
24
|
-
|
25
|
-
table_opts = global_options.merge(
|
26
|
-
:vertical => true,
|
27
|
-
:fields => %i[
|
28
|
-
id
|
29
|
-
name
|
30
|
-
library_ftp_host
|
31
|
-
library_ftp_user
|
32
|
-
library_ftp_password
|
33
|
-
]
|
34
|
-
)
|
35
|
-
|
36
|
-
render_table(rows, table_opts)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "brightbox accounts" do
|
4
|
-
describe "reset_ftp_password" do
|
5
|
-
let(:output) { FauxIO.new { Brightbox.run(argv) } }
|
6
|
-
let(:stdout) { output.stdout }
|
7
|
-
let(:stderr) { output.stderr }
|
8
|
-
|
9
|
-
context "" do
|
10
|
-
let(:argv) { %w[accounts reset_ftp_password] }
|
11
|
-
|
12
|
-
it "does not error" do
|
13
|
-
expect { output }.to_not raise_error
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|