fog-brightbox 1.6.0 → 1.7.2
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/CHANGELOG.md +19 -0
- data/lib/fog/brightbox/compute.rb +7 -0
- data/lib/fog/brightbox/models/compute/account.rb +30 -18
- data/lib/fog/brightbox/models/compute/api_client.rb +10 -2
- data/lib/fog/brightbox/models/compute/application.rb +8 -0
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +11 -11
- data/lib/fog/brightbox/models/compute/collaboration.rb +11 -0
- data/lib/fog/brightbox/models/compute/config_map.rb +14 -0
- data/lib/fog/brightbox/models/compute/config_maps.rb +22 -0
- data/lib/fog/brightbox/models/compute/database_server.rb +19 -15
- data/lib/fog/brightbox/models/compute/database_snapshot.rb +13 -6
- data/lib/fog/brightbox/models/compute/database_type.rb +6 -3
- data/lib/fog/brightbox/models/compute/event.rb +5 -4
- data/lib/fog/brightbox/models/compute/firewall_policy.rb +10 -4
- data/lib/fog/brightbox/models/compute/firewall_rule.rb +9 -6
- data/lib/fog/brightbox/models/compute/flavor.rb +3 -3
- data/lib/fog/brightbox/models/compute/image.rb +16 -14
- data/lib/fog/brightbox/models/compute/load_balancer.rb +12 -8
- data/lib/fog/brightbox/models/compute/server.rb +19 -17
- data/lib/fog/brightbox/models/compute/server_group.rb +13 -5
- data/lib/fog/brightbox/models/compute/user.rb +9 -4
- data/lib/fog/brightbox/models/compute/user_collaboration.rb +11 -0
- data/lib/fog/brightbox/models/compute/volume.rb +15 -14
- data/lib/fog/brightbox/models/compute/zone.rb +3 -4
- data/lib/fog/brightbox/models/storage/directory.rb +2 -2
- data/lib/fog/brightbox/requests/compute/create_config_map.rb +22 -0
- data/lib/fog/brightbox/requests/compute/delete_config_map.rb +20 -0
- data/lib/fog/brightbox/requests/compute/get_config_map.rb +18 -0
- data/lib/fog/brightbox/requests/compute/list_config_maps.rb +18 -0
- data/lib/fog/brightbox/requests/compute/update_config_map.rb +22 -0
- data/lib/fog/brightbox/storage.rb +2 -1
- data/lib/fog/brightbox/version.rb +1 -1
- metadata +8 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f51c2ad35b105ddc3a6506eba7efc70aeebc19836871abed4b4094495d81b7b5
|
4
|
+
data.tar.gz: c07306a38945cbf30b87fe108a136015c1f25042edc33dd641e21f2fae9c2bd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c418bab634f034c05ee7ca8f53d309e5f6683182d47be8f9a9cb8513904a2545a35a0bc466babcb8ab054cef2c6692dec8af7c0e9d3fb16f9aeceab102305de
|
7
|
+
data.tar.gz: 2b22777c14423713ca9c8ce454bfc2b524b7409986b6a8d1d008dd51dbb7f83587a1835e6204360785e7aca104fd569bbd21c199333116bf98a2637b575f4ea8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
### 1.7.2 / 2022-08-17
|
2
|
+
|
3
|
+
* Fix in `Storage.escape` regexp which failed to handle dashes correctly and broke generated URLs.
|
4
|
+
|
5
|
+
### 1.7.1 / 2022-08-17
|
6
|
+
|
7
|
+
Bug fixes:
|
8
|
+
|
9
|
+
* Implement `Storage::Directory#public_url` to allow generation of `File` public URLs correctly.
|
10
|
+
|
11
|
+
### 1.7.0 / 2022-07-28
|
12
|
+
|
13
|
+
Changes:
|
14
|
+
|
15
|
+
* Adds support for `ConfigMaps` which are simple key/value stores for configuring
|
16
|
+
other resources.
|
17
|
+
* Updated the API models to include the latest set of attributes defined in the
|
18
|
+
Brightbox API enabling them to be referenced.
|
19
|
+
|
1
20
|
### 1.6.0 / 2022-07-25
|
2
21
|
|
3
22
|
Changes:
|
@@ -37,6 +37,8 @@ module Fog
|
|
37
37
|
model :api_client
|
38
38
|
collection :collaborations
|
39
39
|
model :collaboration
|
40
|
+
collection :config_maps
|
41
|
+
model :config_map
|
40
42
|
collection :servers
|
41
43
|
model :server
|
42
44
|
collection :server_groups
|
@@ -85,6 +87,7 @@ module Fog
|
|
85
87
|
request :create_application
|
86
88
|
request :create_cloud_ip
|
87
89
|
request :create_collaboration
|
90
|
+
request :create_config_map
|
88
91
|
request :create_firewall_policy
|
89
92
|
request :create_firewall_rule
|
90
93
|
request :create_image
|
@@ -97,6 +100,7 @@ module Fog
|
|
97
100
|
request :delete_application
|
98
101
|
request :delete_cloud_ip
|
99
102
|
request :delete_collaboration
|
103
|
+
request :delete_config_map
|
100
104
|
request :delete_firewall_policy
|
101
105
|
request :delete_firewall_rule
|
102
106
|
request :delete_image
|
@@ -114,6 +118,7 @@ module Fog
|
|
114
118
|
request :get_authenticated_user
|
115
119
|
request :get_cloud_ip
|
116
120
|
request :get_collaboration
|
121
|
+
request :get_config_map
|
117
122
|
request :get_firewall_policy
|
118
123
|
request :get_firewall_rule
|
119
124
|
request :get_image
|
@@ -135,6 +140,7 @@ module Fog
|
|
135
140
|
request :list_applications
|
136
141
|
request :list_cloud_ips
|
137
142
|
request :list_collaborations
|
143
|
+
request :list_config_maps
|
138
144
|
request :list_events
|
139
145
|
request :list_firewall_policies
|
140
146
|
request :list_images
|
@@ -188,6 +194,7 @@ module Fog
|
|
188
194
|
request :update_api_client
|
189
195
|
request :update_application
|
190
196
|
request :update_cloud_ip
|
197
|
+
request :update_config_map
|
191
198
|
request :update_firewall_policy
|
192
199
|
request :update_firewall_rule
|
193
200
|
request :update_image
|
@@ -3,8 +3,8 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class Account < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
7
|
+
attribute :url
|
8
8
|
|
9
9
|
attribute :name
|
10
10
|
attribute :status
|
@@ -20,35 +20,47 @@ module Fog
|
|
20
20
|
attribute :telephone_number
|
21
21
|
attribute :verified_telephone
|
22
22
|
attribute :verified_ip
|
23
|
-
|
24
|
-
|
25
|
-
attribute :
|
26
|
-
attribute :
|
27
|
-
attribute :
|
28
|
-
attribute :
|
29
|
-
attribute :
|
30
|
-
attribute :
|
31
|
-
attribute :
|
32
|
-
attribute :
|
23
|
+
|
24
|
+
# Account limits (read-only)
|
25
|
+
attribute :block_storage_limit, type: :integer
|
26
|
+
attribute :block_storage_used, type: :integer
|
27
|
+
attribute :cloud_ips_limit, type: :integer
|
28
|
+
attribute :cloud_ips_used, type: :integer
|
29
|
+
attribute :dbs_instances_used, type: :integer
|
30
|
+
attribute :dbs_ram_limit, type: :integer
|
31
|
+
attribute :dbs_ram_used, type: :integer
|
32
|
+
attribute :load_balancers_limit, type: :integer
|
33
|
+
attribute :load_balancers_used, type: :integer
|
34
|
+
attribute :ram_limit, type: :integer
|
35
|
+
attribute :ram_used, type: :integer
|
36
|
+
attribute :servers_used, type: :integer
|
37
|
+
|
33
38
|
attribute :library_ftp_host
|
34
39
|
attribute :library_ftp_user
|
35
40
|
# This is always returned as nil unless after a call to reset_ftp_password
|
36
41
|
attribute :library_ftp_password
|
37
42
|
|
38
43
|
# Boolean flags
|
39
|
-
attribute :valid_credit_card
|
40
|
-
attribute :telephone_verified
|
44
|
+
attribute :valid_credit_card, type: :boolean
|
45
|
+
attribute :telephone_verified, type: :boolean
|
41
46
|
|
42
|
-
#
|
43
|
-
attribute :created_at, :
|
44
|
-
attribute :verified_at, :
|
47
|
+
# Timestamps
|
48
|
+
attribute :created_at, type: :time
|
49
|
+
attribute :verified_at, type: :time
|
45
50
|
|
46
|
-
# Links
|
47
|
-
attribute :owner_id, :
|
51
|
+
# Links
|
52
|
+
attribute :owner_id, aliases: "owner", squash: "id"
|
48
53
|
attribute :clients
|
54
|
+
attribute :cloud_ips
|
55
|
+
attribute :database_servers
|
56
|
+
attribute :database_snapshots
|
57
|
+
attribute :firewall_policies
|
49
58
|
attribute :images
|
59
|
+
attribute :load_balancers
|
60
|
+
attribute :server_groups
|
50
61
|
attribute :servers
|
51
62
|
attribute :users
|
63
|
+
attribute :volumes
|
52
64
|
attribute :zones
|
53
65
|
|
54
66
|
# Resets the account's image library FTP password returning the new value
|
@@ -3,12 +3,20 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class ApiClient < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
+
attribute :resource_type
|
7
|
+
attribute :url
|
8
|
+
|
6
9
|
attribute :name
|
7
10
|
attribute :description
|
11
|
+
|
8
12
|
attribute :secret
|
9
|
-
attribute :revoked_at, :type => :time
|
10
13
|
attribute :permissions_group
|
11
|
-
|
14
|
+
|
15
|
+
# Timestamps
|
16
|
+
attribute :revoked_at, type: :time
|
17
|
+
|
18
|
+
# Links
|
19
|
+
attribute :account_id, aliases: "account", squash: "id"
|
12
20
|
|
13
21
|
def save
|
14
22
|
raise Fog::Errors::Error.new("Resaving an existing object may create a duplicate") if persisted?
|
@@ -3,10 +3,18 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class Application < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
+
attribute :resource_type
|
6
7
|
attribute :url
|
8
|
+
|
7
9
|
attribute :name
|
10
|
+
attribute :description
|
8
11
|
attribute :secret
|
9
12
|
|
13
|
+
# Timestamps
|
14
|
+
attribute :created_at, type: :time
|
15
|
+
attribute :updated_at, type: :time
|
16
|
+
attribute :revoked_at, type: :time
|
17
|
+
|
10
18
|
def save
|
11
19
|
raise Fog::Errors::Error.new("Resaving an existing object may create a duplicate") if persisted?
|
12
20
|
options = {
|
@@ -3,28 +3,28 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class CloudIp < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
7
|
+
attribute :url
|
8
8
|
|
9
9
|
attribute :name
|
10
10
|
attribute :status
|
11
11
|
attribute :description
|
12
12
|
|
13
|
-
attribute :
|
13
|
+
attribute :fqdn
|
14
|
+
attribute :mode
|
14
15
|
attribute :public_ip
|
15
16
|
attribute :public_ipv4
|
16
17
|
attribute :public_ipv6
|
17
|
-
attribute :
|
18
|
+
attribute :reverse_dns
|
18
19
|
|
19
|
-
# Links
|
20
|
-
attribute :account_id, :
|
21
|
-
attribute :interface_id, :
|
22
|
-
attribute :server_id, :
|
23
|
-
attribute :load_balancer, :alias => "load_balancer", :
|
24
|
-
attribute :server_group, :alias => "server_group", :
|
25
|
-
attribute :database_server, :alias => "database_server", :
|
20
|
+
# Links
|
21
|
+
attribute :account_id, aliases: "account", squash: "id"
|
22
|
+
attribute :interface_id, aliases: "interface", squash: "id"
|
23
|
+
attribute :server_id, aliases: "server", squash: "id"
|
24
|
+
attribute :load_balancer, :alias => "load_balancer", squash: "id"
|
25
|
+
attribute :server_group, :alias => "server_group", squash: "id"
|
26
|
+
attribute :database_server, :alias => "database_server", squash: "id"
|
26
27
|
attribute :port_translators
|
27
|
-
attribute :name
|
28
28
|
|
29
29
|
# Attempt to map or point the Cloud IP to the destination resource.
|
30
30
|
#
|
@@ -3,10 +3,21 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class Collaboration < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
+
attribute :resource_type
|
7
|
+
attribute :url
|
8
|
+
|
6
9
|
attribute :status
|
10
|
+
|
7
11
|
attribute :email
|
8
12
|
attribute :role
|
9
13
|
attribute :role_label
|
14
|
+
|
15
|
+
# Timestamps
|
16
|
+
attribute :created_at, type: :time
|
17
|
+
attribute :started_at, type: :time
|
18
|
+
attribute :finished_at, type: :time
|
19
|
+
|
20
|
+
# Links
|
10
21
|
attribute :account
|
11
22
|
attribute :user
|
12
23
|
attribute :inviter
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class ConfigMaps < Fog::Collection
|
5
|
+
model Fog::Brightbox::Compute::ConfigMap
|
6
|
+
|
7
|
+
def all
|
8
|
+
data = service.list_config_maps
|
9
|
+
load(data)
|
10
|
+
end
|
11
|
+
|
12
|
+
def get(identifier)
|
13
|
+
return nil if identifier.nil? || identifier == ""
|
14
|
+
data = service.get_config_map(identifier)
|
15
|
+
new(data)
|
16
|
+
rescue Excon::Errors::NotFound
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -5,39 +5,43 @@ module Fog
|
|
5
5
|
include Fog::Brightbox::Compute::ResourceLocking
|
6
6
|
|
7
7
|
identity :id
|
8
|
-
attribute :url
|
9
8
|
attribute :resource_type
|
9
|
+
attribute :url
|
10
10
|
|
11
11
|
attribute :name
|
12
12
|
attribute :description
|
13
|
-
attribute :state, :
|
13
|
+
attribute :state, aliases: "status"
|
14
14
|
|
15
15
|
attribute :admin_username
|
16
16
|
attribute :admin_password
|
17
|
-
|
17
|
+
attribute :allow_access
|
18
18
|
attribute :database_engine
|
19
19
|
attribute :database_version
|
20
|
+
attribute :maintenance_hour #, type: :integer
|
21
|
+
attribute :maintenance_weekday #, type: :integer
|
22
|
+
attribute :source
|
20
23
|
|
21
|
-
attribute :
|
22
|
-
attribute :maintenance_hour
|
24
|
+
attribute :snapshots_retention, type: :string
|
23
25
|
|
24
26
|
# This is a crontab formatted string e.g. "* 5 * * 0"
|
25
|
-
attribute :snapshots_schedule, :
|
26
|
-
attribute :snapshots_schedule_next_at, :
|
27
|
+
attribute :snapshots_schedule, type: :string
|
28
|
+
attribute :snapshots_schedule_next_at, type: :time
|
27
29
|
|
28
|
-
|
29
|
-
attribute :
|
30
|
-
attribute :
|
30
|
+
# Timestamps
|
31
|
+
attribute :created_at, type: :time
|
32
|
+
attribute :updated_at, type: :time
|
33
|
+
attribute :deleted_at, type: :time
|
31
34
|
|
32
|
-
|
35
|
+
# Links
|
36
|
+
attribute :flavor_id, alias: "database_server_type", squash: "id"
|
37
|
+
attribute :zone_id, alias: "zone", squash: "id"
|
33
38
|
|
34
|
-
attribute :
|
35
|
-
attribute :
|
39
|
+
attribute :account
|
40
|
+
attribute :cloud_ips
|
36
41
|
|
42
|
+
# Generated from snapshot action and not a real attribute
|
37
43
|
attribute :snapshot_id
|
38
44
|
|
39
|
-
attribute :cloud_ips
|
40
|
-
|
41
45
|
def save
|
42
46
|
options = {
|
43
47
|
:name => name,
|
@@ -7,21 +7,28 @@ module Fog
|
|
7
7
|
include Fog::Brightbox::Compute::ResourceLocking
|
8
8
|
|
9
9
|
identity :id
|
10
|
-
attribute :url
|
11
10
|
attribute :resource_type
|
11
|
+
attribute :url
|
12
12
|
|
13
13
|
attribute :name
|
14
14
|
attribute :description
|
15
|
-
attribute :state, :
|
15
|
+
attribute :state, aliases: "status"
|
16
16
|
|
17
17
|
attribute :database_engine
|
18
18
|
attribute :database_version
|
19
19
|
|
20
|
-
attribute :size
|
20
|
+
attribute :size, type: :integer
|
21
|
+
attribute :source
|
22
|
+
attribute :source_trigger
|
23
|
+
|
24
|
+
# Timestamps
|
25
|
+
attribute :created_at, type: :time
|
26
|
+
attribute :updated_at, type: :time
|
27
|
+
attribute :deleted_at, type: :time
|
21
28
|
|
22
|
-
|
23
|
-
attribute :
|
24
|
-
attribute :
|
29
|
+
# Links
|
30
|
+
attribute :account
|
31
|
+
attribute :account_id, aliases: "account", squash: "id"
|
25
32
|
|
26
33
|
def save
|
27
34
|
options = {
|
@@ -3,14 +3,17 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class DatabaseType < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
7
|
+
attribute :url
|
8
8
|
|
9
9
|
attribute :name
|
10
10
|
attribute :description
|
11
11
|
|
12
|
-
attribute :disk, :
|
13
|
-
attribute :ram
|
12
|
+
attribute :disk, aliases: "disk_size", type: :integer
|
13
|
+
attribute :ram, type: :integer
|
14
|
+
|
15
|
+
# Boolean flags
|
16
|
+
attribute :default, type: :boolean
|
14
17
|
end
|
15
18
|
end
|
16
19
|
end
|
@@ -4,17 +4,18 @@ module Fog
|
|
4
4
|
# @api private
|
5
5
|
class Event < Fog::Brightbox::Model
|
6
6
|
identity :id
|
7
|
-
attribute :url
|
8
7
|
attribute :resource_type
|
8
|
+
attribute :url
|
9
9
|
|
10
10
|
attribute :action
|
11
11
|
attribute :message
|
12
12
|
attribute :short_message
|
13
13
|
|
14
|
-
#
|
15
|
-
attribute :created_at, :
|
14
|
+
# Timestamps
|
15
|
+
attribute :created_at, type: :time
|
16
16
|
|
17
|
-
# Links
|
17
|
+
# Links
|
18
|
+
attribute :affects
|
18
19
|
attribute :resource
|
19
20
|
attribute :client
|
20
21
|
attribute :user
|
@@ -3,16 +3,22 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class FirewallPolicy < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
7
|
+
attribute :url
|
8
8
|
|
9
9
|
attribute :name
|
10
10
|
attribute :description
|
11
11
|
|
12
|
-
|
12
|
+
# Boolean flags
|
13
|
+
attribute :default, type: :boolean
|
14
|
+
|
15
|
+
# Timestamps
|
16
|
+
attribute :created_at, type: :time
|
17
|
+
|
18
|
+
# Links
|
19
|
+
attribute :account_id, aliases: "account", squash: "id"
|
20
|
+
attribute :server_group_id, aliases: "server_group", squash: "id"
|
13
21
|
|
14
|
-
attribute :server_group_id, :aliases => "server_group", :squash => "id"
|
15
|
-
attribute :created_at, :type => :time
|
16
22
|
attribute :rules
|
17
23
|
|
18
24
|
# Sticking with existing Fog behaviour, save does not update but creates a new resource
|
@@ -3,20 +3,23 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class FirewallRule < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
7
|
+
attribute :url
|
8
8
|
|
9
9
|
attribute :description
|
10
10
|
|
11
|
-
attribute :source
|
12
|
-
attribute :source_port
|
13
11
|
attribute :destination
|
14
12
|
attribute :destination_port
|
15
|
-
attribute :protocol
|
16
13
|
attribute :icmp_type_name
|
17
|
-
attribute :
|
14
|
+
attribute :protocol
|
15
|
+
attribute :source
|
16
|
+
attribute :source_port
|
17
|
+
|
18
|
+
# Timestamps
|
19
|
+
attribute :created_at, type: :time
|
18
20
|
|
19
|
-
|
21
|
+
# Links
|
22
|
+
attribute :firewall_policy_id, aliases: "firewall_policy", squash: "id"
|
20
23
|
|
21
24
|
# Sticking with existing Fog behaviour, save does not update but creates a new resource
|
22
25
|
def save
|
@@ -3,19 +3,19 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class Flavor < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
7
|
+
attribute :url
|
8
8
|
|
9
9
|
attribute :name
|
10
10
|
attribute :status
|
11
|
-
attribute :description
|
12
11
|
|
13
12
|
attribute :handle
|
14
13
|
|
15
14
|
attribute :bits
|
16
15
|
attribute :cores
|
17
|
-
attribute :disk, :
|
16
|
+
attribute :disk, aliases: "disk_size"
|
18
17
|
attribute :ram
|
18
|
+
attribute :storage_type
|
19
19
|
|
20
20
|
def bits
|
21
21
|
64 # This is actually based on the Image type used. 32bit or 64bit Images are supported
|
@@ -5,32 +5,34 @@ module Fog
|
|
5
5
|
include Fog::Brightbox::Compute::ResourceLocking
|
6
6
|
|
7
7
|
identity :id
|
8
|
-
attribute :url
|
9
8
|
attribute :resource_type
|
9
|
+
attribute :url
|
10
10
|
|
11
11
|
attribute :name
|
12
|
-
attribute :username
|
13
12
|
attribute :status
|
14
13
|
attribute :description
|
15
14
|
|
16
|
-
attribute :source
|
17
|
-
attribute :source_type
|
18
15
|
attribute :arch
|
19
|
-
attribute :
|
20
|
-
attribute :disk_size
|
16
|
+
attribute :disk_size, type: :integer
|
21
17
|
attribute :licence_name
|
18
|
+
attribute :min_ram, type: :integer
|
19
|
+
attribute :source
|
20
|
+
attribute :source_trigger
|
21
|
+
attribute :source_type
|
22
|
+
attribute :username
|
23
|
+
attribute :virtual_size, type: :integer
|
22
24
|
|
23
25
|
# Boolean flags
|
24
|
-
attribute :
|
25
|
-
attribute :official
|
26
|
-
attribute :
|
26
|
+
attribute :compatibility_mode, type: :boolean
|
27
|
+
attribute :official, type: :boolean
|
28
|
+
attribute :public, type: :boolean
|
27
29
|
|
28
|
-
#
|
29
|
-
attribute :created_at, :
|
30
|
+
# Timestamps
|
31
|
+
attribute :created_at, type: :time
|
30
32
|
|
31
|
-
# Links
|
32
|
-
attribute :ancestor_id, :
|
33
|
-
attribute :owner_id, :
|
33
|
+
# Links
|
34
|
+
attribute :ancestor_id, aliases: "ancestor", squash: "id"
|
35
|
+
attribute :owner_id, aliases: "owner", squash: "id"
|
34
36
|
|
35
37
|
def ready?
|
36
38
|
status == "available"
|
@@ -5,13 +5,13 @@ module Fog
|
|
5
5
|
include Fog::Brightbox::Compute::ResourceLocking
|
6
6
|
|
7
7
|
identity :id
|
8
|
-
attribute :url
|
9
8
|
attribute :resource_type
|
9
|
+
attribute :url
|
10
10
|
|
11
11
|
attribute :name
|
12
12
|
attribute :status
|
13
13
|
|
14
|
-
attribute :buffer_size
|
14
|
+
attribute :buffer_size, type: :integer
|
15
15
|
|
16
16
|
attribute :policy
|
17
17
|
attribute :nodes
|
@@ -34,14 +34,18 @@ module Fog
|
|
34
34
|
# List of domains for ACME
|
35
35
|
attribute :domains
|
36
36
|
|
37
|
-
#
|
38
|
-
attribute :
|
39
|
-
|
37
|
+
# Booleans
|
38
|
+
attribute :https_redirect, type: :boolean
|
39
|
+
|
40
|
+
# Timestamps
|
41
|
+
attribute :created_at, type: :time
|
42
|
+
attribute :deleted_at, type: :time
|
40
43
|
|
41
|
-
# Links
|
44
|
+
# Links
|
42
45
|
attribute :account
|
43
|
-
|
44
|
-
attribute :
|
46
|
+
|
47
|
+
attribute :nodes
|
48
|
+
attribute :cloud_ips
|
45
49
|
|
46
50
|
def ready?
|
47
51
|
status == "active"
|
@@ -14,35 +14,37 @@ module Fog
|
|
14
14
|
attribute :url
|
15
15
|
|
16
16
|
attribute :name
|
17
|
-
attribute :state,
|
17
|
+
attribute :state, aliases: "status"
|
18
18
|
|
19
|
-
attribute :
|
20
|
-
attribute :fqdn
|
21
|
-
attribute :user_data
|
19
|
+
attribute :console_token
|
22
20
|
attribute :console_url
|
23
21
|
attribute :fqdn
|
24
|
-
attribute :
|
22
|
+
attribute :hostname
|
23
|
+
attribute :user_data
|
25
24
|
|
26
|
-
|
25
|
+
# Boolean flags
|
26
|
+
attribute :compatibility_mode, type: :boolean
|
27
|
+
attribute :disk_encrypted, type: :boolean
|
27
28
|
|
28
|
-
#
|
29
|
-
attribute :created_at, :
|
30
|
-
attribute :started_at, :
|
31
|
-
attribute :console_token_expires, :
|
32
|
-
attribute :deleted_at, :
|
29
|
+
# Timestamps
|
30
|
+
attribute :created_at, type: :time
|
31
|
+
attribute :started_at, type: :time
|
32
|
+
attribute :console_token_expires, type: :time
|
33
|
+
attribute :deleted_at, type: :time
|
33
34
|
|
34
|
-
# Links
|
35
|
-
attribute :account_id,
|
36
|
-
attribute :image_id,
|
35
|
+
# Links
|
36
|
+
attribute :account_id, aliases: "account", squash: "id"
|
37
|
+
attribute :image_id, aliases: "image", squash: "id"
|
37
38
|
|
38
|
-
attribute :
|
39
|
+
attribute :server_type
|
40
|
+
attribute :zone
|
39
41
|
attribute :cloud_ip # Creation option only
|
42
|
+
|
40
43
|
attribute :cloud_ips
|
41
44
|
attribute :interfaces
|
42
45
|
attribute :server_groups
|
46
|
+
attribute :snapshots
|
43
47
|
attribute :volumes
|
44
|
-
attribute :zone
|
45
|
-
attribute :server_type
|
46
48
|
|
47
49
|
def initialize(attributes = {})
|
48
50
|
# Call super first to initialize the service object for our default image
|
@@ -6,15 +6,23 @@ module Fog
|
|
6
6
|
# Certain actions can accept a server group and affect all members
|
7
7
|
class ServerGroup < Fog::Brightbox::Model
|
8
8
|
identity :id
|
9
|
-
|
10
|
-
attribute :url
|
11
9
|
attribute :resource_type
|
10
|
+
attribute :url
|
11
|
+
|
12
12
|
attribute :name
|
13
13
|
attribute :description
|
14
|
-
attribute :
|
15
|
-
|
14
|
+
attribute :fqdn
|
15
|
+
|
16
|
+
# Booleans
|
17
|
+
attribute :default, type: :boolean
|
18
|
+
|
19
|
+
# Timestamps
|
20
|
+
attribute :created_at, type: :time
|
16
21
|
|
17
|
-
|
22
|
+
# Links
|
23
|
+
attribute :account_id, aliases: "account", squash: "id"
|
24
|
+
attribute :firewall_policy_id, aliases: "firewall_policy", squash: "id"
|
25
|
+
attribute :server_ids, aliases: "servers"
|
18
26
|
|
19
27
|
def save
|
20
28
|
options = {
|
@@ -11,13 +11,18 @@ module Fog
|
|
11
11
|
attribute :ssh_key
|
12
12
|
|
13
13
|
# Boolean flags
|
14
|
-
attribute :email_verified
|
15
|
-
attribute :messaging_pref
|
14
|
+
attribute :email_verified, type: :boolean
|
16
15
|
|
17
|
-
#
|
18
|
-
attribute :
|
16
|
+
# Timestamps
|
17
|
+
attribute :created_at, type: :time
|
18
|
+
|
19
|
+
# Links
|
20
|
+
attribute :account_id, aliases: "default_account", squash: "id"
|
19
21
|
attribute :accounts
|
20
22
|
|
23
|
+
# Deprecated
|
24
|
+
attribute :messaging_pref, type: :boolean
|
25
|
+
|
21
26
|
def save
|
22
27
|
requires :identity
|
23
28
|
|
@@ -3,10 +3,21 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class UserCollaboration < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
+
# resource_type is buggy for this resource
|
7
|
+
attribute :url
|
8
|
+
|
6
9
|
attribute :status
|
10
|
+
|
7
11
|
attribute :email
|
8
12
|
attribute :role
|
9
13
|
attribute :role_label
|
14
|
+
|
15
|
+
# Timestamps
|
16
|
+
attribute :created_at, type: :time
|
17
|
+
attribute :started_at, type: :time
|
18
|
+
attribute :finished_at, type: :time
|
19
|
+
|
20
|
+
# Links
|
10
21
|
attribute :account
|
11
22
|
attribute :user
|
12
23
|
attribute :inviter
|
@@ -5,34 +5,35 @@ module Fog
|
|
5
5
|
include Fog::Brightbox::Compute::ResourceLocking
|
6
6
|
|
7
7
|
identity :id
|
8
|
-
attribute :url
|
9
8
|
attribute :resource_type
|
9
|
+
attribute :url
|
10
10
|
|
11
11
|
attribute :name
|
12
|
-
attribute :state, :
|
13
|
-
|
12
|
+
attribute :state, aliases: "status"
|
14
13
|
attribute :description
|
14
|
+
|
15
15
|
attribute :filesystem_label
|
16
16
|
attribute :filesystem_type
|
17
17
|
attribute :serial
|
18
|
-
attribute :size
|
18
|
+
attribute :size, type: :integer
|
19
19
|
attribute :source
|
20
20
|
attribute :source_type
|
21
21
|
attribute :storage_type
|
22
22
|
|
23
|
-
|
24
|
-
attribute :
|
25
|
-
attribute :
|
23
|
+
# Boolean flags
|
24
|
+
attribute :boot, type: :boolean
|
25
|
+
attribute :delete_with_server, type: :boolean
|
26
|
+
attribute :encrypted, type: :boolean
|
26
27
|
|
27
|
-
#
|
28
|
-
attribute :created_at, :
|
29
|
-
attribute :updated_at, :
|
30
|
-
attribute :deleted_at, :
|
28
|
+
# Timestamps
|
29
|
+
attribute :created_at, type: :time
|
30
|
+
attribute :updated_at, type: :time
|
31
|
+
attribute :deleted_at, type: :time
|
31
32
|
|
32
33
|
# Links
|
33
|
-
attribute :account_id, :
|
34
|
-
attribute :image_id, :
|
35
|
-
attribute :server_id, :
|
34
|
+
attribute :account_id, aliases: "account", squash: "id"
|
35
|
+
attribute :image_id, aliases: "image", squash: "id"
|
36
|
+
attribute :server_id, aliases: "server", squash: "id"
|
36
37
|
|
37
38
|
def attach(server)
|
38
39
|
requires :identity
|
@@ -3,13 +3,12 @@ module Fog
|
|
3
3
|
class Compute
|
4
4
|
class Zone < Fog::Brightbox::Model
|
5
5
|
identity :id
|
6
|
-
attribute :url
|
7
6
|
attribute :resource_type
|
8
|
-
|
9
|
-
attribute :status
|
10
|
-
attribute :handle
|
7
|
+
attribute :url
|
11
8
|
|
12
9
|
attribute :description
|
10
|
+
attribute :handle
|
11
|
+
attribute :status
|
13
12
|
end
|
14
13
|
end
|
15
14
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
# Create a new config map
|
6
|
+
#
|
7
|
+
# @param [Hash] options
|
8
|
+
# @option options [String] :name to identify this config map
|
9
|
+
# @option options [Hash] :data key/values to expose in config map
|
10
|
+
# @option options [Boolean] :nested passed through with the API request. When true nested resources are expanded.
|
11
|
+
#
|
12
|
+
# @return [Hash] if successful Hash version of JSON object
|
13
|
+
# @return [NilClass] if no options were passed
|
14
|
+
#
|
15
|
+
def create_config_map(options)
|
16
|
+
return nil if options.empty? || options.nil?
|
17
|
+
wrapped_request("post", "/1.0/config_maps", [200], options)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
# Destroy the config map
|
6
|
+
#
|
7
|
+
# @param [String] identifier Unique reference to identify the resource
|
8
|
+
# @param [Hash] options
|
9
|
+
# @option options [Boolean] :nested passed through with the API request. When true nested resources are expanded.
|
10
|
+
#
|
11
|
+
# @return [Hash] if successful Hash version of JSON object
|
12
|
+
#
|
13
|
+
def delete_config_map(identifier, options = {})
|
14
|
+
return nil if identifier.nil? || identifier == ""
|
15
|
+
wrapped_request("delete", "/1.0/config_maps/#{identifier}", [200], options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
# @param [String] identifier Unique reference to identify the resource
|
6
|
+
# @param [Hash] options
|
7
|
+
# @option options [Boolean] :nested passed through with the API request. When true nested resources are expanded.
|
8
|
+
#
|
9
|
+
# @return [Hash] if successful Hash version of JSON object
|
10
|
+
#
|
11
|
+
def get_config_map(identifier, options = {})
|
12
|
+
return nil if identifier.nil? || identifier == ""
|
13
|
+
wrapped_request("get", "/1.0/config_maps/#{identifier}", [200], options)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
# Lists summary details of config maps owned by the account.
|
6
|
+
#
|
7
|
+
# @param [Hash] options
|
8
|
+
# @option options [Boolean] :nested passed through with the API request. When true nested resources are expanded.
|
9
|
+
#
|
10
|
+
# @return [Hash] if successful Hash version of JSON object
|
11
|
+
#
|
12
|
+
def list_config_maps(options = {})
|
13
|
+
wrapped_request("get", "/1.0/config_maps", [200], options)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
# @param [String] identifier Unique reference to identify the resource
|
6
|
+
# @param [Hash] options
|
7
|
+
# @option options [String] :name to identifier this config map
|
8
|
+
# @option options [Hash] :data key/values to expose in config map
|
9
|
+
# @option options [Boolean] :nested passed through with the API request. When true nested resources are expanded.
|
10
|
+
#
|
11
|
+
# @return [Hash] if successful Hash version of JSON object
|
12
|
+
# @return [NilClass] if no options were passed
|
13
|
+
#
|
14
|
+
def update_config_map(identifier, options)
|
15
|
+
return nil if identifier.nil? || identifier == ""
|
16
|
+
return nil if options.empty? || options.nil?
|
17
|
+
wrapped_request("put", "/1.0/config_maps/#{identifier}", [200], options)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -215,7 +215,8 @@ module Fog
|
|
215
215
|
|
216
216
|
# CGI.escape, but without special treatment on spaces
|
217
217
|
def self.escape(str, extra_exclude_chars = "")
|
218
|
-
|
218
|
+
# Includes fix to Regexp so "-" is correctly handled by placing last
|
219
|
+
str.gsub(/([^a-zA-Z0-9_.#{extra_exclude_chars}-]+)/) do
|
219
220
|
"%" + Regexp.last_match[1].unpack("H2" * Regexp.last_match[1].bytesize).join("%").upcase
|
220
221
|
end
|
221
222
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-brightbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Thornthwaite
|
@@ -193,6 +193,8 @@ files:
|
|
193
193
|
- lib/fog/brightbox/models/compute/cloud_ips.rb
|
194
194
|
- lib/fog/brightbox/models/compute/collaboration.rb
|
195
195
|
- lib/fog/brightbox/models/compute/collaborations.rb
|
196
|
+
- lib/fog/brightbox/models/compute/config_map.rb
|
197
|
+
- lib/fog/brightbox/models/compute/config_maps.rb
|
196
198
|
- lib/fog/brightbox/models/compute/database_server.rb
|
197
199
|
- lib/fog/brightbox/models/compute/database_servers.rb
|
198
200
|
- lib/fog/brightbox/models/compute/database_snapshot.rb
|
@@ -240,6 +242,7 @@ files:
|
|
240
242
|
- lib/fog/brightbox/requests/compute/create_application.rb
|
241
243
|
- lib/fog/brightbox/requests/compute/create_cloud_ip.rb
|
242
244
|
- lib/fog/brightbox/requests/compute/create_collaboration.rb
|
245
|
+
- lib/fog/brightbox/requests/compute/create_config_map.rb
|
243
246
|
- lib/fog/brightbox/requests/compute/create_database_server.rb
|
244
247
|
- lib/fog/brightbox/requests/compute/create_firewall_policy.rb
|
245
248
|
- lib/fog/brightbox/requests/compute/create_firewall_rule.rb
|
@@ -252,6 +255,7 @@ files:
|
|
252
255
|
- lib/fog/brightbox/requests/compute/delete_application.rb
|
253
256
|
- lib/fog/brightbox/requests/compute/delete_cloud_ip.rb
|
254
257
|
- lib/fog/brightbox/requests/compute/delete_collaboration.rb
|
258
|
+
- lib/fog/brightbox/requests/compute/delete_config_map.rb
|
255
259
|
- lib/fog/brightbox/requests/compute/delete_database_server.rb
|
256
260
|
- lib/fog/brightbox/requests/compute/delete_database_snapshot.rb
|
257
261
|
- lib/fog/brightbox/requests/compute/delete_firewall_policy.rb
|
@@ -269,6 +273,7 @@ files:
|
|
269
273
|
- lib/fog/brightbox/requests/compute/get_authenticated_user.rb
|
270
274
|
- lib/fog/brightbox/requests/compute/get_cloud_ip.rb
|
271
275
|
- lib/fog/brightbox/requests/compute/get_collaboration.rb
|
276
|
+
- lib/fog/brightbox/requests/compute/get_config_map.rb
|
272
277
|
- lib/fog/brightbox/requests/compute/get_database_server.rb
|
273
278
|
- lib/fog/brightbox/requests/compute/get_database_snapshot.rb
|
274
279
|
- lib/fog/brightbox/requests/compute/get_database_type.rb
|
@@ -290,6 +295,7 @@ files:
|
|
290
295
|
- lib/fog/brightbox/requests/compute/list_applications.rb
|
291
296
|
- lib/fog/brightbox/requests/compute/list_cloud_ips.rb
|
292
297
|
- lib/fog/brightbox/requests/compute/list_collaborations.rb
|
298
|
+
- lib/fog/brightbox/requests/compute/list_config_maps.rb
|
293
299
|
- lib/fog/brightbox/requests/compute/list_database_servers.rb
|
294
300
|
- lib/fog/brightbox/requests/compute/list_database_snapshots.rb
|
295
301
|
- lib/fog/brightbox/requests/compute/list_database_types.rb
|
@@ -342,6 +348,7 @@ files:
|
|
342
348
|
- lib/fog/brightbox/requests/compute/update_api_client.rb
|
343
349
|
- lib/fog/brightbox/requests/compute/update_application.rb
|
344
350
|
- lib/fog/brightbox/requests/compute/update_cloud_ip.rb
|
351
|
+
- lib/fog/brightbox/requests/compute/update_config_map.rb
|
345
352
|
- lib/fog/brightbox/requests/compute/update_database_server.rb
|
346
353
|
- lib/fog/brightbox/requests/compute/update_database_snapshot.rb
|
347
354
|
- lib/fog/brightbox/requests/compute/update_firewall_policy.rb
|