fog-brightbox 0.0.1

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 (147) hide show
  1. checksums.yaml +7 -0
  2. data/fog-brightbox.gemspec +28 -0
  3. data/lib/fog/brightbox/compute/image_selector.rb +45 -0
  4. data/lib/fog/brightbox/compute/shared.rb +230 -0
  5. data/lib/fog/brightbox/compute.rb +305 -0
  6. data/lib/fog/brightbox/core.rb +11 -0
  7. data/lib/fog/brightbox/models/compute/account.rb +69 -0
  8. data/lib/fog/brightbox/models/compute/accounts.rb +29 -0
  9. data/lib/fog/brightbox/models/compute/api_client.rb +37 -0
  10. data/lib/fog/brightbox/models/compute/api_clients.rb +24 -0
  11. data/lib/fog/brightbox/models/compute/application.rb +24 -0
  12. data/lib/fog/brightbox/models/compute/applications.rb +28 -0
  13. data/lib/fog/brightbox/models/compute/cloud_ip.rb +68 -0
  14. data/lib/fog/brightbox/models/compute/cloud_ips.rb +34 -0
  15. data/lib/fog/brightbox/models/compute/collaboration.rb +49 -0
  16. data/lib/fog/brightbox/models/compute/collaborations.rb +47 -0
  17. data/lib/fog/brightbox/models/compute/database_server.rb +97 -0
  18. data/lib/fog/brightbox/models/compute/database_servers.rb +28 -0
  19. data/lib/fog/brightbox/models/compute/database_snapshot.rb +52 -0
  20. data/lib/fog/brightbox/models/compute/database_snapshots.rb +24 -0
  21. data/lib/fog/brightbox/models/compute/database_type.rb +19 -0
  22. data/lib/fog/brightbox/models/compute/database_types.rb +26 -0
  23. data/lib/fog/brightbox/models/compute/firewall_policies.rb +29 -0
  24. data/lib/fog/brightbox/models/compute/firewall_policy.rb +63 -0
  25. data/lib/fog/brightbox/models/compute/firewall_rule.rb +54 -0
  26. data/lib/fog/brightbox/models/compute/firewall_rules.rb +24 -0
  27. data/lib/fog/brightbox/models/compute/flavor.rb +32 -0
  28. data/lib/fog/brightbox/models/compute/flavors.rb +28 -0
  29. data/lib/fog/brightbox/models/compute/image.rb +64 -0
  30. data/lib/fog/brightbox/models/compute/images.rb +28 -0
  31. data/lib/fog/brightbox/models/compute/load_balancer.rb +107 -0
  32. data/lib/fog/brightbox/models/compute/load_balancers.rb +28 -0
  33. data/lib/fog/brightbox/models/compute/server.rb +217 -0
  34. data/lib/fog/brightbox/models/compute/server_group.rb +94 -0
  35. data/lib/fog/brightbox/models/compute/server_groups.rb +29 -0
  36. data/lib/fog/brightbox/models/compute/servers.rb +61 -0
  37. data/lib/fog/brightbox/models/compute/user.rb +43 -0
  38. data/lib/fog/brightbox/models/compute/user_collaboration.rb +44 -0
  39. data/lib/fog/brightbox/models/compute/user_collaborations.rb +31 -0
  40. data/lib/fog/brightbox/models/compute/users.rb +27 -0
  41. data/lib/fog/brightbox/models/compute/zone.rb +22 -0
  42. data/lib/fog/brightbox/models/compute/zones.rb +29 -0
  43. data/lib/fog/brightbox/oauth2.rb +166 -0
  44. data/lib/fog/brightbox/requests/compute/accept_user_collaboration.rb +21 -0
  45. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +21 -0
  46. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +24 -0
  47. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +24 -0
  48. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +34 -0
  49. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +24 -0
  50. data/lib/fog/brightbox/requests/compute/create_api_client.rb +23 -0
  51. data/lib/fog/brightbox/requests/compute/create_application.rb +23 -0
  52. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +24 -0
  53. data/lib/fog/brightbox/requests/compute/create_collaboration.rb +23 -0
  54. data/lib/fog/brightbox/requests/compute/create_database_server.rb +25 -0
  55. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +26 -0
  56. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +29 -0
  57. data/lib/fog/brightbox/requests/compute/create_image.rb +30 -0
  58. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +26 -0
  59. data/lib/fog/brightbox/requests/compute/create_server.rb +29 -0
  60. data/lib/fog/brightbox/requests/compute/create_server_group.rb +23 -0
  61. data/lib/fog/brightbox/requests/compute/delete_api_client.rb +28 -0
  62. data/lib/fog/brightbox/requests/compute/delete_application.rb +28 -0
  63. data/lib/fog/brightbox/requests/compute/delete_cloud_ip.rb +28 -0
  64. data/lib/fog/brightbox/requests/compute/delete_collaboration.rb +28 -0
  65. data/lib/fog/brightbox/requests/compute/delete_database_server.rb +26 -0
  66. data/lib/fog/brightbox/requests/compute/delete_database_snapshot.rb +26 -0
  67. data/lib/fog/brightbox/requests/compute/delete_firewall_policy.rb +28 -0
  68. data/lib/fog/brightbox/requests/compute/delete_firewall_rule.rb +28 -0
  69. data/lib/fog/brightbox/requests/compute/delete_image.rb +28 -0
  70. data/lib/fog/brightbox/requests/compute/delete_load_balancer.rb +28 -0
  71. data/lib/fog/brightbox/requests/compute/delete_server.rb +28 -0
  72. data/lib/fog/brightbox/requests/compute/delete_server_group.rb +28 -0
  73. data/lib/fog/brightbox/requests/compute/delete_user_collaboration.rb +28 -0
  74. data/lib/fog/brightbox/requests/compute/get_account.rb +29 -0
  75. data/lib/fog/brightbox/requests/compute/get_api_client.rb +21 -0
  76. data/lib/fog/brightbox/requests/compute/get_application.rb +21 -0
  77. data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +17 -0
  78. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +21 -0
  79. data/lib/fog/brightbox/requests/compute/get_collaboration.rb +21 -0
  80. data/lib/fog/brightbox/requests/compute/get_database_server.rb +19 -0
  81. data/lib/fog/brightbox/requests/compute/get_database_snapshot.rb +19 -0
  82. data/lib/fog/brightbox/requests/compute/get_database_type.rb +21 -0
  83. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +21 -0
  84. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +21 -0
  85. data/lib/fog/brightbox/requests/compute/get_image.rb +21 -0
  86. data/lib/fog/brightbox/requests/compute/get_interface.rb +21 -0
  87. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +21 -0
  88. data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +15 -0
  89. data/lib/fog/brightbox/requests/compute/get_server.rb +21 -0
  90. data/lib/fog/brightbox/requests/compute/get_server_group.rb +21 -0
  91. data/lib/fog/brightbox/requests/compute/get_server_type.rb +21 -0
  92. data/lib/fog/brightbox/requests/compute/get_user.rb +29 -0
  93. data/lib/fog/brightbox/requests/compute/get_user_collaboration.rb +21 -0
  94. data/lib/fog/brightbox/requests/compute/get_zone.rb +21 -0
  95. data/lib/fog/brightbox/requests/compute/list_accounts.rb +17 -0
  96. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +19 -0
  97. data/lib/fog/brightbox/requests/compute/list_applications.rb +19 -0
  98. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +19 -0
  99. data/lib/fog/brightbox/requests/compute/list_collaborations.rb +19 -0
  100. data/lib/fog/brightbox/requests/compute/list_database_servers.rb +17 -0
  101. data/lib/fog/brightbox/requests/compute/list_database_snapshots.rb +17 -0
  102. data/lib/fog/brightbox/requests/compute/list_database_types.rb +19 -0
  103. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +19 -0
  104. data/lib/fog/brightbox/requests/compute/list_images.rb +19 -0
  105. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +19 -0
  106. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +19 -0
  107. data/lib/fog/brightbox/requests/compute/list_server_types.rb +19 -0
  108. data/lib/fog/brightbox/requests/compute/list_servers.rb +19 -0
  109. data/lib/fog/brightbox/requests/compute/list_user_collaborations.rb +19 -0
  110. data/lib/fog/brightbox/requests/compute/list_users.rb +19 -0
  111. data/lib/fog/brightbox/requests/compute/list_zones.rb +19 -0
  112. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +24 -0
  113. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +36 -0
  114. data/lib/fog/brightbox/requests/compute/reject_user_collaboration.rb +21 -0
  115. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +24 -0
  116. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +24 -0
  117. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +24 -0
  118. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +34 -0
  119. data/lib/fog/brightbox/requests/compute/resend_collaboration.rb +21 -0
  120. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +32 -0
  121. data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +18 -0
  122. data/lib/fog/brightbox/requests/compute/reset_password_database_server.rb +19 -0
  123. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +25 -0
  124. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +21 -0
  125. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +21 -0
  126. data/lib/fog/brightbox/requests/compute/snapshot_database_server.rb +19 -0
  127. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +21 -0
  128. data/lib/fog/brightbox/requests/compute/start_server.rb +21 -0
  129. data/lib/fog/brightbox/requests/compute/stop_server.rb +21 -0
  130. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +21 -0
  131. data/lib/fog/brightbox/requests/compute/update_account.rb +61 -0
  132. data/lib/fog/brightbox/requests/compute/update_api_client.rb +26 -0
  133. data/lib/fog/brightbox/requests/compute/update_application.rb +26 -0
  134. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +27 -0
  135. data/lib/fog/brightbox/requests/compute/update_database_server.rb +25 -0
  136. data/lib/fog/brightbox/requests/compute/update_database_snapshot.rb +26 -0
  137. data/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +26 -0
  138. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +31 -0
  139. data/lib/fog/brightbox/requests/compute/update_image.rb +31 -0
  140. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +29 -0
  141. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +31 -0
  142. data/lib/fog/brightbox/requests/compute/update_server.rb +28 -0
  143. data/lib/fog/brightbox/requests/compute/update_server_group.rb +26 -0
  144. data/lib/fog/brightbox/requests/compute/update_user.rb +29 -0
  145. data/lib/fog/brightbox/version.rb +5 -0
  146. data/lib/fog/brightbox.rb +1 -0
  147. metadata +261 -0
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Accepts the collaboration and gaining permitted access
6
+ #
7
+ # @param [String] identifier Unique reference to identify the resource
8
+ #
9
+ # @return [Hash] if successful Hash version of JSON object
10
+ #
11
+ # @see https://api.gb1.brightbox.com/1.0/#user_collaboration_accept_user_collaboration
12
+ #
13
+ def accept_user_collaboration(identifier)
14
+ return nil if identifier.nil? || identifier == ""
15
+ wrapped_request("post", "/1.0/user/collaborations/#{identifier}/accept", [200])
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Enable console access via VNC to the server for 15 minutes.
6
+ #
7
+ # @param [String] identifier Unique reference to identify the resource
8
+ #
9
+ # @return [Hash] if successful Hash version of JSON object
10
+ #
11
+ # @see https://api.gb1.brightbox.com/1.0/#server_activate_console_server
12
+ #
13
+ def activate_console_server(identifier)
14
+ return nil if identifier.nil? || identifier == ""
15
+ wrapped_request("post", "/1.0/servers/#{identifier}/activate_console", [202])
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Adds a number of listeners to the load balancer to enable balancing across nodes for those settings.
6
+ #
7
+ # @param [String] identifier Unique reference to identify the resource
8
+ # @param [Hash] options
9
+ # @option options [Array] :listeners Array of Listener parameters. Timeout is optional and specified in milliseconds.
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#load_balancer_add_listeners_load_balancer
15
+ #
16
+ def add_listeners_load_balancer(identifier, options)
17
+ return nil if identifier.nil? || identifier == ""
18
+ wrapped_request("post", "/1.0/load_balancers/#{identifier}/add_listeners", [202], options)
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Add a number of nodes to the load balancer
6
+ #
7
+ # @param [String] identifier Unique reference to identify the resource
8
+ # @param [Hash] options
9
+ # @option options [Array] :nodes Array of Node parameters
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#load_balancer_add_nodes_load_balancer
15
+ #
16
+ def add_nodes_load_balancer(identifier, options)
17
+ return nil if identifier.nil? || identifier == ""
18
+ wrapped_request("post", "/1.0/load_balancers/#{identifier}/add_nodes", [202], options)
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,34 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Add a number of servers to the server group.
6
+ #
7
+ # @param [String] identifier Unique reference to identify the resource
8
+ # @param [Hash] options
9
+ # @option options [Array<Hash>] :servers Array of Hashes containing
10
+ # +{"server" => server_id}+ for each server to add
11
+ #
12
+ # @return [Hash] if successful Hash version of JSON object
13
+ # @return [NilClass] if no options were passed
14
+ #
15
+ # @see https://api.gb1.brightbox.com/1.0/#server_group_add_servers_server_group
16
+ #
17
+ # @example
18
+ # options = {
19
+ # :servers => [
20
+ # {"server" => "srv-abcde"},
21
+ # {"server" => "srv-fghij"}
22
+ # ]
23
+ # }
24
+ # Compute[:brightbox].add_servers_server_group "grp-12345", options
25
+ #
26
+ def add_servers_server_group(identifier, options)
27
+ return nil if identifier.nil? || identifier == ""
28
+ wrapped_request("post", "/1.0/server_groups/#{identifier}/add_servers", [202], options)
29
+ end
30
+
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Applies firewall policy to given server group
6
+ #
7
+ # @param [String] identifier Unique reference to identify the resource
8
+ # @param [Hash] options
9
+ # @option options [String] :server_group Server Group to apply to
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#firewall_policy_apply_to_firewall_policy
15
+ #
16
+ def apply_to_firewall_policy(identifier, options)
17
+ return nil if identifier.nil? || identifier == ""
18
+ wrapped_request("post", "/1.0/firewall_policies/#{identifier}/apply_to", [202], options)
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new API client for the account.
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :name
9
+ # @option options [String] :description
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#api_client_create_api_client
15
+ #
16
+ def create_api_client(options)
17
+ wrapped_request("post", "/1.0/api_clients", [201], options)
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new application for the user.
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :name
9
+ # @option options [String] :description
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#application_create_application
15
+ #
16
+ def create_application(options)
17
+ wrapped_request("post", "/1.0/applications", [201], options)
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Requests a new cloud IP address for the account.
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :reverse_dns Reverse DNS hostname
9
+ # @option options [String] :name Name for Cloud IP
10
+ # @option options [Array] :port_translators Port on which external clients connect and port on which your service is listening.
11
+ #
12
+ # @return [Hash] if successful Hash version of JSON object
13
+ # @return [NilClass] if no options were passed
14
+ #
15
+ # @see https://api.gb1.brightbox.com/1.0/#cloud_ip_create_cloud_ip
16
+ #
17
+ def create_cloud_ip(options = {})
18
+ wrapped_request("post", "/1.0/cloud_ips", [201], options)
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Creates a new collaboration for a user for the account
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :email Email address of user to invite
9
+ # @option options [String] :role Role to grant to the user. Currently only `admin`
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#collaboration_create_collaboration
15
+ #
16
+ def create_collaboration(options)
17
+ wrapped_request("post", "/1.0/collaborations", [201], options)
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # @param [Hash] options
6
+ # @option options [String] :name
7
+ # @option options [String] :description
8
+ # @option options [String] :version Database version to request
9
+ # @option options [Array] :allow_access ...
10
+ # @option options [String] :snapshot
11
+ # @option options [String] :zone
12
+ #
13
+ # @return [Hash] if successful Hash version of JSON object
14
+ # @return [NilClass] if no options were passed
15
+ #
16
+ # @see https://api.gb1.brightbox.com/1.0/#database_server_create_database_server
17
+ #
18
+ def create_database_server(options)
19
+ wrapped_request("post", "/1.0/database_servers", [202], options)
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new firewall policy for the account.
6
+ #
7
+ # Optionally applying to a server group at creation time.
8
+ #
9
+ # @param [Hash] options
10
+ # @option options [String] :server_group
11
+ # @option options [String] :name Editable label
12
+ # @option options [String] :description Longer editable description
13
+ #
14
+ # @return [Hash] if successful Hash version of JSON object
15
+ # @return [NilClass] if no options were passed
16
+ #
17
+ # @see https://api.gb1.brightbox.com/1.0/#firewall_policy_create_firewall_policy
18
+ #
19
+ def create_firewall_policy(options)
20
+ wrapped_request("post", "/1.0/firewall_policies", [201], options)
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new firewall rule for a firewall policy.
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :firewall_policy
9
+ # @option options [String] :protocol
10
+ # @option options [String] :source Required unless destination is set.
11
+ # @option options [String] :source_port
12
+ # @option options [String] :destination Required unless source is set
13
+ # @option options [String] :destination_port
14
+ # @option options [String] :icmp_type_name
15
+ # @option options [String] :description
16
+ #
17
+ # @return [Hash] if successful Hash version of JSON object
18
+ # @return [NilClass] if no options were passed
19
+ #
20
+ # @see https://api.gb1.brightbox.com/1.0/#firewall_rule_create_firewall_rule
21
+ #
22
+ def create_firewall_rule(options)
23
+ wrapped_request("post", "/1.0/firewall_rules", [202], options)
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,30 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new image for the account by registering it against an image stored within the Brightbox cloud image library.
6
+ #
7
+ # The disk image must be in place before you can attempt to create a reference in the API.
8
+ #
9
+ # @param [Hash] options
10
+ # @option options [String] :source Filename of the image file uploaded to /incoming via FTP
11
+ # @option options [String] :arch OS architecture this image is built for
12
+ # @option options [String] :name Name for this image. If no name is specified, a name will be autogenerated based on the source filename &amp; current time. Can be modified later.
13
+ # @option options [String] :username Username for the image
14
+ # @option options [Boolean] :public
15
+ # @option options [Boolean] :compatibility_mode
16
+ # @option options [String] :description
17
+ #
18
+ # @return [Hash] if successful Hash version of JSON object
19
+ # @return [NilClass] if no options were passed
20
+ #
21
+ # @see https://api.gb1.brightbox.com/1.0/#image_create_image
22
+ #
23
+ def create_image(options)
24
+ wrapped_request("post", "/1.0/images", [201], options)
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new load balancer for the account.
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :name Editable label
9
+ # @option options [Array] :nodes Array of Node parameters
10
+ # @option options [String] :policy Method of Load balancing to use
11
+ # @option options [Array] :listeners What port to listen on, port to pass through to and protocol (tcp, http or http+ws) of listener. Timeout is optional and specified in milliseconds (default is 50000).
12
+ # @option options [String] :healthcheck Healthcheck options - only "port" and "type" required
13
+ #
14
+ # @return [Hash] if successful Hash version of JSON object
15
+ # @return [NilClass] if no options were passed
16
+ #
17
+ # @see https://api.gb1.brightbox.com/1.0/#load_balancer_create_load_balancer
18
+ #
19
+ def create_load_balancer(options)
20
+ wrapped_request("post", "/1.0/load_balancers", [202], options)
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new server for the account based on the required disk image.
6
+ #
7
+ # Optionally can setup the type of server, zone to locate it, groups to join and custom metadata.
8
+ #
9
+ # @param [Hash] options
10
+ # @option options [String] :image
11
+ # @option options [String] :name Editable label
12
+ # @option options [String] :server_type
13
+ # @option options [String] :zone Zone in which to create new Server
14
+ # @option options [String] :user_data
15
+ # @option options [Array] :server_groups Array of server groups to add server to
16
+ #
17
+ # @return [Hash] if successful Hash version of JSON object
18
+ # @return [NilClass] if no options were passed
19
+ #
20
+ # @see https://api.gb1.brightbox.com/1.0/#server_create_server
21
+ #
22
+ def create_server(options)
23
+ wrapped_request("post", "/1.0/servers", [202], options)
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Brightbox
4
+ class Real
5
+ # Create a new server group for the account.
6
+ #
7
+ # @param [Hash] options
8
+ # @option options [String] :name Editable user label
9
+ # @option options [String] :description Editable user description
10
+ #
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
13
+ #
14
+ # @see https://api.gb1.brightbox.com/1.0/#server_group_create_server_group
15
+ #
16
+ def create_server_group(options)
17
+ wrapped_request("post", "/1.0/server_groups", [202], options)
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end