brightbox-cli 4.6.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +2 -2
- data/CHANGELOG.md +18 -1
- data/Gemfile.lock +9 -7
- data/lib/brightbox-cli/commands/servers/create.rb +2 -4
- data/lib/brightbox-cli/detailed_server.rb +2 -0
- data/lib/brightbox-cli/version.rb +1 -1
- data/spec/cassettes/Brightbox_Server/_show/when_server_exists/shows_detailed_attributes_of_a_server.yml +44 -5
- data/spec/commands/servers/create_spec.rb +52 -0
- data/spec/unit/brightbox/server/find_or_call_spec.rb +3 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1957aedb76eb618990c1deca7846319433ce2cc3b88ed2f4b3eac0b4aca3b3c0
|
4
|
+
data.tar.gz: b7a83328c30eb76699b880cb8a6a356cf61bf3e362c19c50b1f8c4dcbbc17c6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a2a3316ce568a85d06eea928b5382d0a9a0b2737e2e14c01940a2f2071f8cd10d5c7a25c4f3af2878d5d453c98d70b1bfb50a6fa92b46ed7c5ca4f075fb844f
|
7
|
+
data.tar.gz: 3cd77f4748d94aea53ac8685268228f112aef95e9c8b9a8aca00692d67dc10e92948fa5acef2c696cf6ce08c58920ded07a1167e3933fcc4faf9e2736c480903
|
data/.github/workflows/ruby.yml
CHANGED
@@ -20,10 +20,10 @@ jobs:
|
|
20
20
|
|
21
21
|
strategy:
|
22
22
|
matrix:
|
23
|
-
ruby: ["2.5", "2.6", "2.7", "3.0", "3.1", "
|
23
|
+
ruby: ["2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
|
24
24
|
|
25
25
|
steps:
|
26
|
-
- uses: actions/checkout@
|
26
|
+
- uses: actions/checkout@v3
|
27
27
|
- name: Set up Ruby ${{ matrix.ruby }}
|
28
28
|
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
29
29
|
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
### v4.8.0 / 2024-10-23
|
2
|
+
|
3
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v4.7.0...v4.8.0)
|
4
|
+
|
5
|
+
Changes:
|
6
|
+
|
7
|
+
* Increase supported Server `user-data` limit to match 64KiB now
|
8
|
+
supported by API.
|
9
|
+
|
10
|
+
### v4.7.0 / 2024-01-03
|
11
|
+
|
12
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v4.6.0...v4.7.0)
|
13
|
+
|
14
|
+
Changes:
|
15
|
+
|
16
|
+
* Expose `image_username` to `servers show` output
|
17
|
+
|
1
18
|
### v4.6.0 / 2023-02-22
|
2
19
|
|
3
20
|
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v4.5.0...v4.6.0)
|
@@ -9,7 +26,7 @@ Changes:
|
|
9
26
|
* Remove `--source` option from `images register`. This was tied to the FTP
|
10
27
|
based registration which is no longer supported. Using `url` on a HTTP
|
11
28
|
source is now the preferred option for custom uploads.
|
12
|
-
* Update `mime-types-data` gem to
|
29
|
+
* Update `mime-types-data` gem to `3.2023.0218.1`
|
13
30
|
|
14
31
|
### v4.5.0 / 2023-02-08
|
15
32
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
brightbox-cli (4.
|
4
|
+
brightbox-cli (4.8.0)
|
5
5
|
dry-inflector (= 0.2.0)
|
6
6
|
fog-brightbox (>= 1.11.0)
|
7
7
|
fog-core (< 2.0)
|
@@ -18,14 +18,14 @@ GEM
|
|
18
18
|
addressable (2.8.0)
|
19
19
|
public_suffix (>= 2.0.2, < 5.0)
|
20
20
|
ast (2.4.2)
|
21
|
-
builder (3.
|
21
|
+
builder (3.3.0)
|
22
22
|
coderay (1.1.3)
|
23
|
-
concurrent-ruby (1.
|
23
|
+
concurrent-ruby (1.3.4)
|
24
24
|
crack (0.4.5)
|
25
25
|
rexml
|
26
26
|
diff-lcs (1.5.0)
|
27
27
|
dry-inflector (0.2.0)
|
28
|
-
excon (0.
|
28
|
+
excon (0.112.0)
|
29
29
|
fog-brightbox (1.11.0)
|
30
30
|
dry-inflector
|
31
31
|
fog-core (>= 1.45, < 3.0)
|
@@ -38,16 +38,18 @@ GEM
|
|
38
38
|
fog-core
|
39
39
|
multi_json (~> 1.10)
|
40
40
|
formatador (0.3.0)
|
41
|
-
gli (2.21.
|
41
|
+
gli (2.21.5)
|
42
42
|
hashdiff (1.0.1)
|
43
43
|
highline (2.1.0)
|
44
44
|
hirb (0.7.3)
|
45
45
|
i18n (1.10.0)
|
46
46
|
concurrent-ruby (~> 1.0)
|
47
|
+
logger (1.6.1)
|
47
48
|
method_source (1.0.0)
|
48
|
-
mime-types (3.
|
49
|
+
mime-types (3.6.0)
|
50
|
+
logger
|
49
51
|
mime-types-data (~> 3.2015)
|
50
|
-
mime-types-data (3.
|
52
|
+
mime-types-data (3.2024.1001)
|
51
53
|
mocha (1.14.0)
|
52
54
|
multi_json (1.15.0)
|
53
55
|
parallel (1.22.1)
|
@@ -69,10 +69,8 @@ module Brightbox
|
|
69
69
|
if user_data_file
|
70
70
|
raise "Cannot specify user data on command line and in file at same time" if user_data
|
71
71
|
|
72
|
-
#
|
72
|
+
# Used to read the data, be it from stdin or a file on disk
|
73
73
|
file_handler = lambda do |fh|
|
74
|
-
raise "User data file too big (>16k)" if fh.stat.size > 16 * 1024
|
75
|
-
|
76
74
|
user_data = fh.read
|
77
75
|
end
|
78
76
|
# Figure out how to invoke file_handler, and then invoke it
|
@@ -88,7 +86,7 @@ module Brightbox
|
|
88
86
|
require "base64"
|
89
87
|
user_data = Base64.encode64(user_data)
|
90
88
|
end
|
91
|
-
raise "
|
89
|
+
raise "Encoded user-data exceeds 64KiB limit" if user_data.size > 64 * 1024
|
92
90
|
end
|
93
91
|
|
94
92
|
# Split server groups into array of identifiers (or empty array)
|
@@ -17,6 +17,7 @@ module Brightbox
|
|
17
17
|
if image
|
18
18
|
row_attributes[:image_name] = image.name
|
19
19
|
row_attributes[:arch] = image.arch
|
20
|
+
row_attributes[:image_username] = image.username
|
20
21
|
end
|
21
22
|
|
22
23
|
row_attributes[:private_ips] = interfaces.map { |i| i["ipv4_address"] }.join(", ")
|
@@ -65,6 +66,7 @@ module Brightbox
|
|
65
66
|
compatibility_mode
|
66
67
|
image
|
67
68
|
image_name
|
69
|
+
image_username
|
68
70
|
arch
|
69
71
|
private_ips
|
70
72
|
ipv6_address
|
@@ -82,7 +82,7 @@ http_interactions:
|
|
82
82
|
body:
|
83
83
|
encoding: UTF-8
|
84
84
|
string: '{"id":"srv-12345","resource_type":"server","url":"https://api.gb1.brightbox.com/1.0/servers/srv-12345","name":"medium
|
85
|
-
servers","status":"creating","hostname":"srv-12345","created_at":"2013-08-27T16:12:55Z","started_at":null,"deleted_at":null,"user_data":null,"fqdn":"srv-12345.gb1.brightbox.com","compatibility_mode":false,"console_url":null,"console_token":null,"console_token_expires":null,"account":{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"Avkruvviumpksysor","status":"active"},"image":{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","username":
|
85
|
+
servers","status":"creating","hostname":"srv-12345","created_at":"2013-08-27T16:12:55Z","started_at":null,"deleted_at":null,"user_data":null,"fqdn":"srv-12345.gb1.brightbox.com","compatibility_mode":false,"console_url":null,"console_token":null,"console_token_expires":null,"account":{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"Avkruvviumpksysor","status":"active"},"image":{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","username":"ubuntu","status":"available","description":"","source":"46i5i7onyfz8yf5o5nepaohs","arch":"x86_64","created_at":"2013-08-27T15:46:50Z","official":true,"public":true,"owner":"acc-12345"},"server_type":{"id":"typ-12345","resource_type":"server_type","url":"https://api.gb1.brightbox.com/1.0/server_types/typ-12345","name":"xvifyx3u5s","status":"available","cores":2,"ram":3072,"disk_size":10240,"handle":"nano"},"zone":{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-b"},"cloud_ips":[],"interfaces":[{"id":"int-uehbk","resource_type":"interface","url":"https://api.gb1.brightbox.com/1.0/interfaces/int-uehbk","mac_address":"02:24:19:01:3a:72","ipv4_address":"10.1.58.114","ipv6_address":"2a02:1348:18c:4e9c:24:19ff:fe01:3a72"}],"snapshots":[],"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
|
86
86
|
new servers are added to this group unless specified otherwise.","created_at":"2013-08-27T15:47:00Z","default":true}]}'
|
87
87
|
http_version:
|
88
88
|
recorded_at: Tue, 27 Aug 2013 16:12:55 GMT
|
@@ -123,7 +123,7 @@ http_interactions:
|
|
123
123
|
body:
|
124
124
|
encoding: UTF-8
|
125
125
|
string: '{"id":"srv-12345","resource_type":"server","url":"https://api.gb1.brightbox.com/1.0/servers/srv-12345","name":"medium
|
126
|
-
servers","status":"creating","hostname":"srv-12345","created_at":"2013-08-27T16:12:55Z","started_at":null,"deleted_at":null,"user_data":null,"fqdn":"srv-12345.gb1.brightbox.com","compatibility_mode":false,"console_url":null,"console_token":null,"console_token_expires":null,"account":{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"Avkruvviumpksysor","status":"active"},"image":{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","username":
|
126
|
+
servers","status":"creating","hostname":"srv-12345","created_at":"2013-08-27T16:12:55Z","started_at":null,"deleted_at":null,"user_data":null,"fqdn":"srv-12345.gb1.brightbox.com","compatibility_mode":false,"console_url":null,"console_token":null,"console_token_expires":null,"account":{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"Avkruvviumpksysor","status":"active"},"image":{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","username":"ubuntu","status":"available","description":"","source":"46i5i7onyfz8yf5o5nepaohs","arch":"x86_64","created_at":"2013-08-27T15:46:50Z","official":true,"public":true,"owner":"acc-12345"},"server_type":{"id":"typ-12345","resource_type":"server_type","url":"https://api.gb1.brightbox.com/1.0/server_types/typ-12345","name":"xvifyx3u5s","status":"available","cores":2,"ram":3072,"disk_size":10240,"handle":"nano"},"zone":{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-b"},"cloud_ips":[],"interfaces":[{"id":"int-uehbk","resource_type":"interface","url":"https://api.gb1.brightbox.com/1.0/interfaces/int-uehbk","mac_address":"02:24:19:01:3a:72","ipv4_address":"10.1.58.114","ipv6_address":"2a02:1348:18c:4e9c:24:19ff:fe01:3a72"}],"snapshots":[],"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
|
127
127
|
new servers are added to this group unless specified otherwise.","created_at":"2013-08-27T15:47:00Z","default":true}]}'
|
128
128
|
http_version:
|
129
129
|
recorded_at: Tue, 27 Aug 2013 16:12:55 GMT
|
@@ -163,7 +163,7 @@ http_interactions:
|
|
163
163
|
- close
|
164
164
|
body:
|
165
165
|
encoding: UTF-8
|
166
|
-
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":
|
166
|
+
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":"ubuntu","description":"","source":"46i5i7onyfz8yf5o5nepaohs","arch":"x86_64","created_at":"2013-08-27T15:46:50Z","official":true,"public":true,"compatibility_mode":false,"source_type":"upload","disk_size":0,"virtual_size":0,"min_ram":null,"owner":"acc-12345","licence_name":"","ancestor":null}'
|
167
167
|
http_version:
|
168
168
|
recorded_at: Tue, 27 Aug 2013 16:12:56 GMT
|
169
169
|
- request:
|
@@ -202,7 +202,7 @@ http_interactions:
|
|
202
202
|
- close
|
203
203
|
body:
|
204
204
|
encoding: UTF-8
|
205
|
-
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":
|
205
|
+
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":"ubuntu","description":"","source":"46i5i7onyfz8yf5o5nepaohs","arch":"x86_64","created_at":"2013-08-27T15:46:50Z","official":true,"public":true,"compatibility_mode":false,"source_type":"upload","disk_size":0,"virtual_size":0,"min_ram":null,"owner":"acc-12345","licence_name":"","ancestor":null}'
|
206
206
|
http_version:
|
207
207
|
recorded_at: Tue, 27 Aug 2013 16:12:56 GMT
|
208
208
|
- request:
|
@@ -241,7 +241,46 @@ http_interactions:
|
|
241
241
|
- close
|
242
242
|
body:
|
243
243
|
encoding: UTF-8
|
244
|
-
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":
|
244
|
+
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":"ubuntu","description":"","source":"46i5i7onyfz8yf5o5nepaohs","arch":"x86_64","created_at":"2013-08-27T15:46:50Z","official":true,"public":true,"compatibility_mode":false,"source_type":"upload","disk_size":0,"virtual_size":0,"min_ram":null,"owner":"acc-12345","licence_name":"","ancestor":null}'
|
245
|
+
http_version:
|
246
|
+
recorded_at: Tue, 27 Aug 2013 16:12:56 GMT
|
247
|
+
- request:
|
248
|
+
method: get
|
249
|
+
uri: http://api.brightbox.localhost/1.0/images/img-12345?account_id=acc-12345
|
250
|
+
body:
|
251
|
+
encoding: US-ASCII
|
252
|
+
string: ''
|
253
|
+
headers:
|
254
|
+
User-Agent:
|
255
|
+
- fog/1.15.0
|
256
|
+
Authorization:
|
257
|
+
- OAuth 63a4f6dbf53263e7468d3084ae9c50ecdcdf1714
|
258
|
+
Content-Type:
|
259
|
+
- application/json
|
260
|
+
response:
|
261
|
+
status:
|
262
|
+
code: 200
|
263
|
+
message:
|
264
|
+
headers:
|
265
|
+
Content-Type:
|
266
|
+
- application/json; charset=utf-8
|
267
|
+
X-UA-Compatible:
|
268
|
+
- IE=Edge
|
269
|
+
ETag:
|
270
|
+
- '"a9f069f869a9f04d6409baccc7c3419c"'
|
271
|
+
Cache-Control:
|
272
|
+
- max-age=0, private, must-revalidate
|
273
|
+
X-Request-Id:
|
274
|
+
- f33528d490370463e185c3753e8c3ca8
|
275
|
+
X-Runtime:
|
276
|
+
- '0.101272'
|
277
|
+
Date:
|
278
|
+
- Tue, 27 Aug 2013 16:12:56 GMT
|
279
|
+
Connection:
|
280
|
+
- close
|
281
|
+
body:
|
282
|
+
encoding: UTF-8
|
283
|
+
string: '{"id":"img-12345","resource_type":"image","url":"https://api.gb1.brightbox.com/1.0/images/img-12345","name":"dmcuhmirtoevr8bvye46opwd","status":"available","username":"ubuntu","description":"","source":"46i5i7onyfz8yf5o5nepaohs","arch":"x86_64","created_at":"2013-08-27T15:46:50Z","official":true,"public":true,"compatibility_mode":false,"source_type":"upload","disk_size":0,"virtual_size":0,"min_ram":null,"owner":"acc-12345","licence_name":"","ancestor":null}'
|
245
284
|
http_version:
|
246
285
|
recorded_at: Tue, 27 Aug 2013 16:12:56 GMT
|
247
286
|
- request:
|
@@ -195,6 +195,58 @@ describe "brightbox servers" do
|
|
195
195
|
end
|
196
196
|
end
|
197
197
|
|
198
|
+
context "with --user-data flag" do
|
199
|
+
before do
|
200
|
+
expect(Brightbox::Image).to receive(:find).with("img-12345").and_return(image)
|
201
|
+
expect(Brightbox::Type).to receive(:find_by_handle).and_return(type)
|
202
|
+
end
|
203
|
+
|
204
|
+
context "with user data string within limit" do
|
205
|
+
let(:argv) { ["servers", "create", "--user-data", user_data, "--no-base64", "img-12345"] }
|
206
|
+
let(:user_data) { ("a" * 65_535) }
|
207
|
+
|
208
|
+
it "requests new server with user data" do
|
209
|
+
stub_request(:post, "http://api.brightbox.localhost/1.0/servers?account_id=acc-12345")
|
210
|
+
.with(:headers => { "Content-Type" => "application/json" },
|
211
|
+
body: hash_including(user_data: user_data))
|
212
|
+
.and_return(status: 202, body: sample_response)
|
213
|
+
|
214
|
+
aggregate_failures do
|
215
|
+
expect(stderr).not_to match("ERROR")
|
216
|
+
expect(stdout).to match("srv-12345")
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
context "with user data string encoded by client" do
|
222
|
+
let(:argv) { ["servers", "create", "--user-data", user_data, "--base64", "img-12345"] }
|
223
|
+
let(:encoded_user_data) { Base64.encode64(user_data) }
|
224
|
+
let(:user_data) { ("a" * 48_345) }
|
225
|
+
|
226
|
+
it "requests new server with user data" do
|
227
|
+
stub_request(:post, "http://api.brightbox.localhost/1.0/servers?account_id=acc-12345")
|
228
|
+
.with(:headers => { "Content-Type" => "application/json" },
|
229
|
+
body: hash_including(user_data: encoded_user_data))
|
230
|
+
.and_return(status: 202, body: sample_response)
|
231
|
+
|
232
|
+
aggregate_failures do
|
233
|
+
expect(stderr).not_to match("ERROR")
|
234
|
+
expect(stdout).to match("srv-12345")
|
235
|
+
end
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
context "with user data string exceeding limit" do
|
240
|
+
let(:argv) { ["servers", "create", "--user-data", user_data, "img-12345"] }
|
241
|
+
let(:user_data) { ("a" * 65_535) + "b" }
|
242
|
+
|
243
|
+
it "errors" do
|
244
|
+
expect(stderr).to match("Encoded user-data exceeds 64KiB limit")
|
245
|
+
expect(stdout).not_to match("srv-12345")
|
246
|
+
end
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
198
250
|
def sample_response
|
199
251
|
'{
|
200
252
|
"id": "srv-12345",
|
@@ -29,6 +29,9 @@ describe Brightbox::Server do
|
|
29
29
|
expect(output.stdout).to include("hostname: #{@server.id}")
|
30
30
|
expect(output.stdout).to include("ipv6_hostname: ipv6.#{@server.id}.gb1.brightbox.com")
|
31
31
|
expect(output.stdout).to include("fqdn: #{@server.id}.gb1.brightbox.com")
|
32
|
+
|
33
|
+
expect(output.stdout).to include("image: img-12345")
|
34
|
+
expect(output.stdout).to include("image_username: ubuntu")
|
32
35
|
end
|
33
36
|
end
|
34
37
|
end
|
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.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Leach
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-10-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog-brightbox
|
@@ -819,7 +819,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
819
819
|
- !ruby/object:Gem::Version
|
820
820
|
version: '0'
|
821
821
|
requirements: []
|
822
|
-
rubygems_version: 3.
|
822
|
+
rubygems_version: 3.5.16
|
823
823
|
signing_key:
|
824
824
|
specification_version: 4
|
825
825
|
summary: The Brightbox cloud management system
|