fog-brightbox 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/fog-brightbox.gemspec +28 -0
- data/lib/fog/brightbox/compute/image_selector.rb +45 -0
- data/lib/fog/brightbox/compute/shared.rb +230 -0
- data/lib/fog/brightbox/compute.rb +305 -0
- data/lib/fog/brightbox/core.rb +11 -0
- data/lib/fog/brightbox/models/compute/account.rb +69 -0
- data/lib/fog/brightbox/models/compute/accounts.rb +29 -0
- data/lib/fog/brightbox/models/compute/api_client.rb +37 -0
- data/lib/fog/brightbox/models/compute/api_clients.rb +24 -0
- data/lib/fog/brightbox/models/compute/application.rb +24 -0
- data/lib/fog/brightbox/models/compute/applications.rb +28 -0
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +68 -0
- data/lib/fog/brightbox/models/compute/cloud_ips.rb +34 -0
- data/lib/fog/brightbox/models/compute/collaboration.rb +49 -0
- data/lib/fog/brightbox/models/compute/collaborations.rb +47 -0
- data/lib/fog/brightbox/models/compute/database_server.rb +97 -0
- data/lib/fog/brightbox/models/compute/database_servers.rb +28 -0
- data/lib/fog/brightbox/models/compute/database_snapshot.rb +52 -0
- data/lib/fog/brightbox/models/compute/database_snapshots.rb +24 -0
- data/lib/fog/brightbox/models/compute/database_type.rb +19 -0
- data/lib/fog/brightbox/models/compute/database_types.rb +26 -0
- data/lib/fog/brightbox/models/compute/firewall_policies.rb +29 -0
- data/lib/fog/brightbox/models/compute/firewall_policy.rb +63 -0
- data/lib/fog/brightbox/models/compute/firewall_rule.rb +54 -0
- data/lib/fog/brightbox/models/compute/firewall_rules.rb +24 -0
- data/lib/fog/brightbox/models/compute/flavor.rb +32 -0
- data/lib/fog/brightbox/models/compute/flavors.rb +28 -0
- data/lib/fog/brightbox/models/compute/image.rb +64 -0
- data/lib/fog/brightbox/models/compute/images.rb +28 -0
- data/lib/fog/brightbox/models/compute/load_balancer.rb +107 -0
- data/lib/fog/brightbox/models/compute/load_balancers.rb +28 -0
- data/lib/fog/brightbox/models/compute/server.rb +217 -0
- data/lib/fog/brightbox/models/compute/server_group.rb +94 -0
- data/lib/fog/brightbox/models/compute/server_groups.rb +29 -0
- data/lib/fog/brightbox/models/compute/servers.rb +61 -0
- data/lib/fog/brightbox/models/compute/user.rb +43 -0
- data/lib/fog/brightbox/models/compute/user_collaboration.rb +44 -0
- data/lib/fog/brightbox/models/compute/user_collaborations.rb +31 -0
- data/lib/fog/brightbox/models/compute/users.rb +27 -0
- data/lib/fog/brightbox/models/compute/zone.rb +22 -0
- data/lib/fog/brightbox/models/compute/zones.rb +29 -0
- data/lib/fog/brightbox/oauth2.rb +166 -0
- data/lib/fog/brightbox/requests/compute/accept_user_collaboration.rb +21 -0
- data/lib/fog/brightbox/requests/compute/activate_console_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +24 -0
- data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +24 -0
- data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +34 -0
- data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +24 -0
- data/lib/fog/brightbox/requests/compute/create_api_client.rb +23 -0
- data/lib/fog/brightbox/requests/compute/create_application.rb +23 -0
- data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +24 -0
- data/lib/fog/brightbox/requests/compute/create_collaboration.rb +23 -0
- data/lib/fog/brightbox/requests/compute/create_database_server.rb +25 -0
- data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +26 -0
- data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +29 -0
- data/lib/fog/brightbox/requests/compute/create_image.rb +30 -0
- data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +26 -0
- data/lib/fog/brightbox/requests/compute/create_server.rb +29 -0
- data/lib/fog/brightbox/requests/compute/create_server_group.rb +23 -0
- data/lib/fog/brightbox/requests/compute/delete_api_client.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_application.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_cloud_ip.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_collaboration.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_database_server.rb +26 -0
- data/lib/fog/brightbox/requests/compute/delete_database_snapshot.rb +26 -0
- data/lib/fog/brightbox/requests/compute/delete_firewall_policy.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_firewall_rule.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_image.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_load_balancer.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_server.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_server_group.rb +28 -0
- data/lib/fog/brightbox/requests/compute/delete_user_collaboration.rb +28 -0
- data/lib/fog/brightbox/requests/compute/get_account.rb +29 -0
- data/lib/fog/brightbox/requests/compute/get_api_client.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_application.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +17 -0
- data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_collaboration.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_database_server.rb +19 -0
- data/lib/fog/brightbox/requests/compute/get_database_snapshot.rb +19 -0
- data/lib/fog/brightbox/requests/compute/get_database_type.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_image.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_interface.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +15 -0
- data/lib/fog/brightbox/requests/compute/get_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_server_group.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_server_type.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_user.rb +29 -0
- data/lib/fog/brightbox/requests/compute/get_user_collaboration.rb +21 -0
- data/lib/fog/brightbox/requests/compute/get_zone.rb +21 -0
- data/lib/fog/brightbox/requests/compute/list_accounts.rb +17 -0
- data/lib/fog/brightbox/requests/compute/list_api_clients.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_applications.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_collaborations.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_database_servers.rb +17 -0
- data/lib/fog/brightbox/requests/compute/list_database_snapshots.rb +17 -0
- data/lib/fog/brightbox/requests/compute/list_database_types.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_images.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_server_groups.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_server_types.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_servers.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_user_collaborations.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_users.rb +19 -0
- data/lib/fog/brightbox/requests/compute/list_zones.rb +19 -0
- data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +24 -0
- data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +36 -0
- data/lib/fog/brightbox/requests/compute/reject_user_collaboration.rb +21 -0
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +24 -0
- data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +24 -0
- data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +24 -0
- data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +34 -0
- data/lib/fog/brightbox/requests/compute/resend_collaboration.rb +21 -0
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +32 -0
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +18 -0
- data/lib/fog/brightbox/requests/compute/reset_password_database_server.rb +19 -0
- data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +25 -0
- data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +21 -0
- data/lib/fog/brightbox/requests/compute/shutdown_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/snapshot_database_server.rb +19 -0
- data/lib/fog/brightbox/requests/compute/snapshot_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/start_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/stop_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +21 -0
- data/lib/fog/brightbox/requests/compute/update_account.rb +61 -0
- data/lib/fog/brightbox/requests/compute/update_api_client.rb +26 -0
- data/lib/fog/brightbox/requests/compute/update_application.rb +26 -0
- data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +27 -0
- data/lib/fog/brightbox/requests/compute/update_database_server.rb +25 -0
- data/lib/fog/brightbox/requests/compute/update_database_snapshot.rb +26 -0
- data/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +26 -0
- data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +31 -0
- data/lib/fog/brightbox/requests/compute/update_image.rb +31 -0
- data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +29 -0
- data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +31 -0
- data/lib/fog/brightbox/requests/compute/update_server.rb +28 -0
- data/lib/fog/brightbox/requests/compute/update_server_group.rb +26 -0
- data/lib/fog/brightbox/requests/compute/update_user.rb +29 -0
- data/lib/fog/brightbox/version.rb +5 -0
- data/lib/fog/brightbox.rb +1 -0
- 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 & 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
|