bbcloud 0.11.2 → 0.12.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.
Files changed (198) hide show
  1. data/.gitignore +3 -2
  2. data/Gemfile +3 -0
  3. data/README +11 -1
  4. data/README.rdoc +11 -1
  5. data/Rakefile +12 -0
  6. data/bbcloud.gemspec +10 -10
  7. data/bin/brightbox-accounts +7 -2
  8. data/bin/brightbox-cloudips +7 -2
  9. data/bin/brightbox-config +7 -2
  10. data/bin/brightbox-images +7 -2
  11. data/bin/brightbox-lbs +7 -2
  12. data/bin/brightbox-servers +7 -2
  13. data/bin/brightbox-types +7 -2
  14. data/bin/brightbox-users +7 -2
  15. data/bin/brightbox-zones +7 -2
  16. data/lib/bbcloud.rb +43 -0
  17. data/lib/bbcloud/accounts.rb +5 -3
  18. data/lib/bbcloud/command_generator.rb +50 -0
  19. data/lib/bbcloud/commands/accounts-list.rb +13 -11
  20. data/lib/bbcloud/commands/accounts-reset-ftp-password.rb +26 -23
  21. data/lib/bbcloud/commands/accounts-show.rb +20 -16
  22. data/lib/bbcloud/commands/cloudips-create.rb +16 -14
  23. data/lib/bbcloud/commands/cloudips-destroy.rb +29 -26
  24. data/lib/bbcloud/commands/cloudips-list.rb +13 -11
  25. data/lib/bbcloud/commands/cloudips-map.rb +48 -46
  26. data/lib/bbcloud/commands/cloudips-show.rb +15 -12
  27. data/lib/bbcloud/commands/cloudips-unmap.rb +28 -25
  28. data/lib/bbcloud/commands/config-client-add.rb +33 -31
  29. data/lib/bbcloud/commands/config-client-default.rb +18 -16
  30. data/lib/bbcloud/commands/config-client-list.rb +19 -16
  31. data/lib/bbcloud/commands/config-client-remove.rb +18 -16
  32. data/lib/bbcloud/commands/images-destroy.rb +18 -16
  33. data/lib/bbcloud/commands/images-list.rb +20 -18
  34. data/lib/bbcloud/commands/images-register.rb +21 -19
  35. data/lib/bbcloud/commands/images-show.rb +17 -15
  36. data/lib/bbcloud/commands/lbs-add-nodes.rb +15 -13
  37. data/lib/bbcloud/commands/lbs-create.rb +65 -63
  38. data/lib/bbcloud/commands/lbs-destroy.rb +13 -11
  39. data/lib/bbcloud/commands/lbs-list.rb +13 -11
  40. data/lib/bbcloud/commands/lbs-remove-nodes.rb +15 -13
  41. data/lib/bbcloud/commands/lbs-show.rb +15 -13
  42. data/lib/bbcloud/commands/lbs-update.rb +59 -57
  43. data/lib/bbcloud/commands/servers-activate-cloud.rb +18 -16
  44. data/lib/bbcloud/commands/servers-create.rb +80 -77
  45. data/lib/bbcloud/commands/servers-destroy.rb +17 -15
  46. data/lib/bbcloud/commands/servers-list.rb +14 -14
  47. data/lib/bbcloud/commands/servers-show.rb +39 -37
  48. data/lib/bbcloud/commands/servers-shutdown.rb +14 -12
  49. data/lib/bbcloud/commands/servers-snapshot.rb +14 -12
  50. data/lib/bbcloud/commands/servers-start.rb +15 -13
  51. data/lib/bbcloud/commands/servers-stop.rb +14 -12
  52. data/lib/bbcloud/commands/types-list.rb +13 -11
  53. data/lib/bbcloud/commands/types-show.rb +18 -16
  54. data/lib/bbcloud/commands/users-list.rb +13 -11
  55. data/lib/bbcloud/commands/users-show.rb +17 -15
  56. data/lib/bbcloud/commands/users-update.rb +27 -25
  57. data/lib/bbcloud/commands/zones-list.rb +13 -11
  58. data/lib/bbcloud/config.rb +125 -111
  59. data/lib/bbcloud/error_parser.rb +34 -0
  60. data/lib/bbcloud/fog_extensions.rb +19 -0
  61. data/lib/bbcloud/gli_global_hooks.rb +56 -0
  62. data/lib/bbcloud/logging.rb +40 -0
  63. data/lib/bbcloud/ruby_core_ext.rb +9 -0
  64. data/lib/bbcloud/servers.rb +7 -2
  65. data/lib/bbcloud/tables.rb +78 -73
  66. data/lib/bbcloud/vendor/gli/.gitignore +10 -0
  67. data/lib/bbcloud/vendor/gli/.rvmrc +1 -0
  68. data/lib/bbcloud/vendor/gli/Gemfile +5 -0
  69. data/lib/bbcloud/vendor/gli/LICENSE.txt +201 -0
  70. data/lib/bbcloud/vendor/gli/README.rdoc +54 -0
  71. data/lib/bbcloud/vendor/gli/Rakefile +84 -0
  72. data/lib/bbcloud/vendor/gli/bin/gli +72 -0
  73. data/lib/bbcloud/vendor/gli/bin/report_on_rake_results +10 -0
  74. data/lib/bbcloud/vendor/gli/bin/test_all_rubies.sh +2 -0
  75. data/lib/bbcloud/vendor/gli/features/gli_executable.feature +88 -0
  76. data/lib/bbcloud/vendor/gli/features/gli_init.feature +122 -0
  77. data/lib/bbcloud/vendor/gli/features/step_definitions/gli_executable_steps.rb +12 -0
  78. data/lib/bbcloud/vendor/gli/features/step_definitions/gli_init_steps.rb +4 -0
  79. data/lib/bbcloud/vendor/gli/features/support/env.rb +21 -0
  80. data/lib/bbcloud/vendor/gli/gli.cheat +80 -0
  81. data/lib/bbcloud/vendor/gli/gli.gemspec +46 -0
  82. data/lib/bbcloud/vendor/gli/gli.rdoc +51 -0
  83. data/lib/bbcloud/vendor/gli/lib/gli.rb +560 -0
  84. data/lib/bbcloud/vendor/gli/lib/gli/command.rb +124 -0
  85. data/lib/bbcloud/vendor/gli/lib/gli/command_line_token.rb +58 -0
  86. data/lib/bbcloud/vendor/gli/lib/gli/copy_options_to_aliases.rb +33 -0
  87. data/lib/bbcloud/vendor/gli/lib/gli/exceptions.rb +45 -0
  88. data/lib/bbcloud/vendor/gli/lib/gli/flag.rb +67 -0
  89. data/lib/bbcloud/vendor/gli/lib/gli/options.rb +19 -0
  90. data/lib/bbcloud/vendor/gli/lib/gli/switch.rb +63 -0
  91. data/lib/bbcloud/vendor/gli/lib/gli/terminal.rb +79 -0
  92. data/lib/bbcloud/vendor/gli/lib/gli_version.rb +3 -0
  93. data/lib/bbcloud/vendor/gli/lib/support/help.rb +180 -0
  94. data/lib/bbcloud/vendor/gli/lib/support/initconfig.rb +34 -0
  95. data/lib/bbcloud/vendor/gli/lib/support/rdoc.rb +119 -0
  96. data/lib/bbcloud/vendor/gli/lib/support/scaffold.rb +284 -0
  97. data/lib/bbcloud/vendor/gli/test/config.yaml +9 -0
  98. data/lib/bbcloud/vendor/gli/test/gli.reek +116 -0
  99. data/lib/bbcloud/vendor/gli/test/roodi.yaml +9 -0
  100. data/lib/bbcloud/vendor/gli/test/tc_command.rb +329 -0
  101. data/lib/bbcloud/vendor/gli/test/tc_flag.rb +67 -0
  102. data/lib/bbcloud/vendor/gli/test/tc_gli.rb +429 -0
  103. data/lib/bbcloud/vendor/gli/test/tc_options.rb +31 -0
  104. data/lib/bbcloud/vendor/gli/test/tc_parsing.rb +279 -0
  105. data/lib/bbcloud/vendor/gli/test/tc_switch.rb +80 -0
  106. data/lib/bbcloud/vendor/gli/test/tc_terminal.rb +91 -0
  107. data/lib/bbcloud/version.rb +1 -1
  108. data/pkg/bbcloud-0.12.0.gem +0 -0
  109. data/spec/fixtures/vcr_cassettes/server_list.yml +117 -0
  110. data/spec/servers_spec.rb +36 -0
  111. data/spec/spec_helper.rb +24 -0
  112. data/spec/support/common_helpers.rb +47 -0
  113. metadata +129 -135
  114. data/lib/bbcloud/cli.rb +0 -160
  115. data/lib/bbcloud/vendor/fog/lib/fog.rb +0 -14
  116. data/lib/bbcloud/vendor/fog/lib/fog/compute.rb +0 -43
  117. data/lib/bbcloud/vendor/fog/lib/fog/compute/brightbox.rb +0 -162
  118. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/account.rb +0 -51
  119. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/cloud_ip.rb +0 -47
  120. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/cloud_ips.rb +0 -34
  121. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/flavor.rb +0 -33
  122. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/flavors.rb +0 -28
  123. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/image.rb +0 -56
  124. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/images.rb +0 -28
  125. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/load_balancer.rb +0 -50
  126. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/load_balancers.rb +0 -28
  127. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/server.rb +0 -108
  128. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/servers.rb +0 -29
  129. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/user.rb +0 -39
  130. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/users.rb +0 -29
  131. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/zone.rb +0 -21
  132. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/zones.rb +0 -29
  133. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/activate_console_server.rb +0 -20
  134. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/add_listeners_load_balancer.rb +0 -20
  135. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/add_nodes_load_balancer.rb +0 -20
  136. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_api_client.rb +0 -19
  137. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_cloud_ip.rb +0 -19
  138. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_image.rb +0 -19
  139. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_load_balancer.rb +0 -19
  140. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_server.rb +0 -19
  141. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_api_client.rb +0 -20
  142. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_cloud_ip.rb +0 -20
  143. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_image.rb +0 -20
  144. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_load_balancer.rb +0 -20
  145. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_server.rb +0 -20
  146. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_account.rb +0 -19
  147. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_api_client.rb +0 -20
  148. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_cloud_ip.rb +0 -20
  149. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_image.rb +0 -20
  150. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_interface.rb +0 -20
  151. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_load_balancer.rb +0 -20
  152. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_server.rb +0 -20
  153. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_server_type.rb +0 -20
  154. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_user.rb +0 -20
  155. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_zone.rb +0 -20
  156. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_api_clients.rb +0 -19
  157. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_cloud_ips.rb +0 -19
  158. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_images.rb +0 -19
  159. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_load_balancers.rb +0 -19
  160. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_server_types.rb +0 -19
  161. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_servers.rb +0 -19
  162. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_users.rb +0 -19
  163. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_zones.rb +0 -19
  164. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/map_cloud_ip.rb +0 -20
  165. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/remove_listeners_load_balancer.rb +0 -20
  166. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/remove_nodes_load_balancer.rb +0 -20
  167. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/reset_ftp_password_account.rb +0 -19
  168. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/resize_server.rb +0 -19
  169. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/shutdown_server.rb +0 -20
  170. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/snapshot_server.rb +0 -20
  171. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/start_server.rb +0 -20
  172. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/stop_server.rb +0 -20
  173. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/unmap_cloud_ip.rb +0 -20
  174. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_account.rb +0 -20
  175. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_api_client.rb +0 -21
  176. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_image.rb +0 -21
  177. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_load_balancer.rb +0 -21
  178. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_server.rb +0 -21
  179. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_user.rb +0 -21
  180. data/lib/bbcloud/vendor/fog/lib/fog/core.rb +0 -32
  181. data/lib/bbcloud/vendor/fog/lib/fog/core/attributes.rb +0 -178
  182. data/lib/bbcloud/vendor/fog/lib/fog/core/collection.rb +0 -127
  183. data/lib/bbcloud/vendor/fog/lib/fog/core/connection.rb +0 -35
  184. data/lib/bbcloud/vendor/fog/lib/fog/core/credentials.rb +0 -92
  185. data/lib/bbcloud/vendor/fog/lib/fog/core/deprecation.rb +0 -23
  186. data/lib/bbcloud/vendor/fog/lib/fog/core/errors.rb +0 -20
  187. data/lib/bbcloud/vendor/fog/lib/fog/core/hmac.rb +0 -48
  188. data/lib/bbcloud/vendor/fog/lib/fog/core/mock.rb +0 -68
  189. data/lib/bbcloud/vendor/fog/lib/fog/core/model.rb +0 -57
  190. data/lib/bbcloud/vendor/fog/lib/fog/core/parser.rb +0 -99
  191. data/lib/bbcloud/vendor/fog/lib/fog/core/provider.rb +0 -18
  192. data/lib/bbcloud/vendor/fog/lib/fog/core/scp.rb +0 -67
  193. data/lib/bbcloud/vendor/fog/lib/fog/core/service.rb +0 -175
  194. data/lib/bbcloud/vendor/fog/lib/fog/core/ssh.rb +0 -120
  195. data/lib/bbcloud/vendor/fog/lib/fog/core/time.rb +0 -27
  196. data/lib/bbcloud/vendor/fog/lib/fog/core/wait_for.rb +0 -17
  197. data/lib/bbcloud/vendor/fog/lib/fog/providers.rb +0 -9
  198. data/lib/bbcloud/vendor/fog/lib/fog/providers/brightbox.rb +0 -9
@@ -1,34 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/compute/models/brightbox/cloud_ip'
3
-
4
- module Fog
5
- module Brightbox
6
- class Compute
7
-
8
- class CloudIps < Fog::Collection
9
-
10
- model Fog::Brightbox::Compute::CloudIp
11
-
12
- def all
13
- data = connection.list_cloud_ips
14
- load(data)
15
- end
16
-
17
- def get(identifier)
18
- return nil if identifier.nil? || identifier == ""
19
- data = connection.get_cloud_ip(identifier)
20
- new(data)
21
- rescue Excon::Errors::NotFound
22
- nil
23
- end
24
-
25
- def allocate
26
- data = connection.create_cloud_ip
27
- new(data)
28
- end
29
-
30
- end
31
-
32
- end
33
- end
34
- end
@@ -1,33 +0,0 @@
1
- require 'fog/core/model'
2
-
3
- module Fog
4
- module Brightbox
5
- class Compute
6
-
7
- class Flavor < Fog::Model
8
-
9
- identity :id
10
-
11
- attribute :url
12
- attribute :name
13
- attribute :status
14
-
15
- attribute :handle
16
-
17
- attribute :bits
18
- attribute :cores
19
- attribute :disk, :aliases => "disk_size"
20
- attribute :ram
21
-
22
- attribute :resource_type
23
- attribute :description
24
-
25
- def bits
26
- 0 # This is actually based on the Image type used. 32bit or 64bit Images are supported
27
- end
28
-
29
- end
30
-
31
- end
32
- end
33
- end
@@ -1,28 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/compute/models/brightbox/flavor'
3
-
4
- module Fog
5
- module Brightbox
6
- class Compute
7
-
8
- class Flavors < Fog::Collection
9
-
10
- model Fog::Brightbox::Compute::Flavor
11
-
12
- def all
13
- data = connection.list_server_types
14
- load(data)
15
- end
16
-
17
- def get(identifier)
18
- data = connection.get_server_type(identifier)
19
- new(data)
20
- rescue Excon::Errors::NotFound
21
- nil
22
- end
23
-
24
- end
25
-
26
- end
27
- end
28
- end
@@ -1,56 +0,0 @@
1
- require 'fog/core/model'
2
-
3
- module Fog
4
- module Brightbox
5
- class Compute
6
-
7
- class Image < Fog::Model
8
-
9
- identity :id
10
-
11
- attribute :url
12
- attribute :name
13
- attribute :status
14
- attribute :source
15
- attribute :source_type
16
-
17
- attribute :ancestor_id, :aliases => "ancestor", :squash => "id"
18
- attribute :owner_id, :aliases => "owner", :squash => "id"
19
- attribute :arch
20
-
21
- attribute :resource_type
22
- attribute :description
23
- attribute :public
24
- attribute :official
25
- attribute :virtual_size
26
- attribute :disk_size
27
- attribute :created_at
28
-
29
- def ready?
30
- status == "available"
31
- end
32
-
33
- def save
34
- requires :source, :arch
35
- options = {
36
- :source => source,
37
- :arch => arch,
38
- :name => name,
39
- :description => description
40
- }.delete_if {|k,v| v.nil? || v == "" }
41
- data = connection.create_image(options)
42
- merge_attributes(data)
43
- true
44
- end
45
-
46
- def destroy
47
- requires :identity
48
- connection.destroy_image(identity)
49
- true
50
- end
51
-
52
- end
53
-
54
- end
55
- end
56
- end
@@ -1,28 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/compute/models/brightbox/image'
3
-
4
- module Fog
5
- module Brightbox
6
- class Compute
7
-
8
- class Images < Fog::Collection
9
-
10
- model Fog::Brightbox::Compute::Image
11
-
12
- def all
13
- data = connection.list_images
14
- load(data)
15
- end
16
-
17
- def get(identifier)
18
- data = connection.get_image(identifier)
19
- new(data)
20
- rescue Excon::Errors::NotFound
21
- nil
22
- end
23
-
24
- end
25
-
26
- end
27
- end
28
- end
@@ -1,50 +0,0 @@
1
- require 'fog/core/model'
2
-
3
- module Fog
4
- module Brightbox
5
- class Compute
6
-
7
- class LoadBalancer < Fog::Model
8
-
9
- identity :id
10
-
11
- attribute :url
12
- attribute :name
13
- attribute :status
14
- attribute :resource_type
15
-
16
- attribute :nodes
17
- attribute :policy
18
- attribute :healthcheck
19
- attribute :listeners
20
- attribute :account
21
-
22
- def ready?
23
- status == 'active'
24
- end
25
-
26
- def save
27
- requires :nodes, :listeners, :healthcheck
28
- options = {
29
- :nodes => nodes,
30
- :listeners => listeners,
31
- :healthcheck => healthcheck,
32
- :policy => policy,
33
- :name => name
34
- }.delete_if {|k,v| v.nil? || v == "" }
35
- data = connection.create_load_balancer(options)
36
- merge_attributes(data)
37
- true
38
- end
39
-
40
- def destroy
41
- requires :identity
42
- connection.destroy_load_balancer(identity)
43
- true
44
- end
45
-
46
- end
47
-
48
- end
49
- end
50
- end
@@ -1,28 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/compute/models/brightbox/load_balancer'
3
-
4
- module Fog
5
- module Brightbox
6
- class Compute
7
-
8
- class LoadBalancers < Fog::Collection
9
-
10
- model Fog::Brightbox::Compute::LoadBalancer
11
-
12
- def all
13
- data = connection.list_load_balancers
14
- load(data)
15
- end
16
-
17
- def get(identifier)
18
- data = connection.get_load_balancer(identifier)
19
- new(data)
20
- rescue Excon::Errors::NotFound
21
- nil
22
- end
23
-
24
- end
25
-
26
- end
27
- end
28
- end
@@ -1,108 +0,0 @@
1
- require 'fog/core/model'
2
-
3
- module Fog
4
- module Brightbox
5
- class Compute
6
-
7
- class Server < Fog::Model
8
-
9
- identity :id
10
-
11
- attribute :url
12
- attribute :name
13
- attribute :status
14
- attribute :hostname
15
- attribute :created_at, :type => :time
16
- attribute :deleted_at, :type => :time
17
- attribute :started_at, :type => :time
18
- attribute :user_data
19
-
20
- attribute :resource_type
21
-
22
- attribute :account_id, :aliases => "account", :squash => "id"
23
- attribute :image_id, :aliases => "image", :squash => "id"
24
- attribute :flavor_id, :aliases => "server_type", :squash => "id"
25
- attribute :zone_id, :aliases => "zone", :squash => "id"
26
-
27
- attribute :snapshots
28
- attribute :cloud_ips
29
- attribute :interfaces
30
-
31
- def snapshot
32
- requires :identity
33
- connection.snapshot_server(identity)
34
- end
35
-
36
- def reboot
37
- false
38
- end
39
-
40
- def start
41
- requires :identity
42
- connection.start_server(identity)
43
- true
44
- end
45
-
46
- def stop
47
- requires :identity
48
- connection.stop_server(identity)
49
- true
50
- end
51
-
52
- def shutdown
53
- requires :identity
54
- connection.shutdown_server(identity)
55
- true
56
- end
57
-
58
- def destroy
59
- requires :identity
60
- connection.destroy_server(identity)
61
- true
62
- end
63
-
64
- def flavor
65
- requires :flavor_id
66
- connection.flavors.get(flavor_id)
67
- end
68
-
69
- def image
70
- requires :image_id
71
- connection.images.get(image_id)
72
- end
73
-
74
- def private_ip_address
75
- nil
76
- end
77
-
78
- def public_ip_address
79
- cloud_ips.first
80
- end
81
-
82
- def ready?
83
- status == 'active'
84
- end
85
-
86
- def activate_console
87
- requires :identity
88
- response = connection.activate_console_server(identity)
89
- [response["console_url"], response["console_token"], response["console_token_expires"]]
90
- end
91
-
92
- def save
93
- requires :image_id
94
- options = {
95
- :image => image_id,
96
- :server_type => flavor_id,
97
- :name => name,
98
- :zone => zone_id,
99
- :user_data => user_data
100
- }.delete_if {|k,v| v.nil? || v == "" }
101
- data = connection.create_server(options)
102
- merge_attributes(data)
103
- true
104
- end
105
- end
106
- end
107
- end
108
- end
@@ -1,29 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/compute/models/brightbox/server'
3
-
4
- module Fog
5
- module Brightbox
6
- class Compute
7
-
8
- class Servers < Fog::Collection
9
-
10
- model Fog::Brightbox::Compute::Server
11
-
12
- def all
13
- data = connection.list_servers
14
- load(data)
15
- end
16
-
17
- def get(identifier)
18
- return nil if identifier.nil? || identifier == ""
19
- data = connection.get_server(identifier)
20
- new(data)
21
- rescue Excon::Errors::NotFound
22
- nil
23
- end
24
-
25
- end
26
-
27
- end
28
- end
29
- end
@@ -1,39 +0,0 @@
1
- require 'fog/core/model'
2
-
3
- module Fog
4
- module Brightbox
5
- class Compute
6
-
7
- class User < Fog::Model
8
-
9
- identity :id
10
-
11
- attribute :url
12
- attribute :resource_type
13
- attribute :name
14
- attribute :email_address
15
- attribute :email_verified
16
- attribute :ssh_key
17
-
18
- attribute :account_id, :aliases => "default_account", :squash => "id"
19
- attribute :accounts
20
-
21
- def save
22
- requires :identity
23
-
24
- options = {
25
- :email_address => email_address,
26
- :ssh_key => ssh_key,
27
- :name => name
28
- }
29
-
30
- data = connection.update_user(identity, options)
31
- merge_attributes(data)
32
- true
33
- end
34
-
35
- end
36
-
37
- end
38
- end
39
- end