bbcloud 0.11.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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