class Fog::Compute::Brightbox::Real

Public Class Methods

new(options) click to toggle source
# File lib/fog/brightbox/compute.rb, line 118
def initialize(options)
  # Currently authentication and api endpoints are the same but may change
  @auth_url             = options[:brightbox_auth_url] || Fog.credentials[:brightbox_auth_url] || API_URL
  @api_url              = options[:brightbox_api_url] || Fog.credentials[:brightbox_api_url] || API_URL
  @connection_options   = options[:connection_options] || {}
  @brightbox_client_id  = options[:brightbox_client_id] || Fog.credentials[:brightbox_client_id]
  @brightbox_secret     = options[:brightbox_secret] || Fog.credentials[:brightbox_secret]
  @persistent           = options[:persistent] || false
  @connection = Fog::Connection.new(@api_url, @persistent, @connection_options)
end

Public Instance Methods

account() click to toggle source
# File lib/fog/brightbox/compute.rb, line 139
def account
  Fog::Compute::Brightbox::Account.new(get_account)
end
activate_console_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/activate_console_server.rb, line 6
def activate_console_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/servers/#{identifier}/activate_console", [202])
end
add_listeners_load_balancer(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb, line 6
def add_listeners_load_balancer(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/load_balancers/#{identifier}/add_listeners", [202], options)
end
add_nodes_load_balancer(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb, line 6
def add_nodes_load_balancer(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/load_balancers/#{identifier}/add_nodes", [202], options)
end
add_servers_server_group(identifier, options) click to toggle source

Add a number of servers to a server group

>> Compute[:brightbox].add_servers_server_group "grp-12345", :servers => [{:server => "srv-abcde"}]

Parameters:

  • identifier (String) - The identifier of the server group to add to

  • options

    • servers (Array) - An Array of Hashes containing {"server" => server_id} for each server to add

    [{"server" => "srv-abcde"}, {"server" => "srv-fghij"}]

Returns:

A Ruby hash of the server response

# File lib/fog/brightbox/requests/compute/add_servers_server_group.rb, line 20
def add_servers_server_group(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/server_groups/#{identifier}/add_servers", [202], options)
end
apply_to_firewall_policy(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb, line 6
def apply_to_firewall_policy(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/firewall_policies/#{identifier}/apply_to", [202], options)
end
create_api_client(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_api_client.rb, line 6
def create_api_client(options)
  request("post", "/1.0/api_clients", [201], options)
end
create_cloud_ip() click to toggle source
# File lib/fog/brightbox/requests/compute/create_cloud_ip.rb, line 6
def create_cloud_ip
  request("post", "/1.0/cloud_ips", [201])
end
create_firewall_policy(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_firewall_policy.rb, line 6
def create_firewall_policy(options)
  request("post", "/1.0/firewall_policies", [201], options)
end
create_firewall_rule(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_firewall_rule.rb, line 6
def create_firewall_rule(options)
  request("post", "/1.0/firewall_rules", [202], options)
end
create_image(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_image.rb, line 6
def create_image(options)
  request("post", "/1.0/images", [201], options)
end
create_load_balancer(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_load_balancer.rb, line 6
def create_load_balancer(options)
  request("post", "/1.0/load_balancers", [202], options)
end
create_server(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_server.rb, line 6
def create_server(options)
  request("post", "/1.0/servers", [202], options)
end
create_server_group(options) click to toggle source
# File lib/fog/brightbox/requests/compute/create_server_group.rb, line 6
def create_server_group(options)
  request("post", "/1.0/server_groups", [202], options)
end
destroy_api_client(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_api_client.rb, line 6
def destroy_api_client(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/api_clients/#{identifier}", [200])
end
destroy_cloud_ip(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb, line 6
def destroy_cloud_ip(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/cloud_ips/#{identifier}", [200])
end
destroy_firewall_policy(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb, line 6
def destroy_firewall_policy(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/firewall_policies/#{identifier}", [202])
end
destroy_firewall_rule(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb, line 6
def destroy_firewall_rule(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/firewall_rules/#{identifier}", [202])
end
destroy_image(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_image.rb, line 6
def destroy_image(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/images/#{identifier}", [202])
end
destroy_load_balancer(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_load_balancer.rb, line 6
def destroy_load_balancer(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/load_balancers/#{identifier}", [202])
end
destroy_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_server.rb, line 6
def destroy_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/servers/#{identifier}", [202])
end
destroy_server_group(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/destroy_server_group.rb, line 6
def destroy_server_group(identifier)
  return nil if identifier.nil? || identifier == ""
  request("delete", "/1.0/server_groups/#{identifier}", [202])
end
get_account() click to toggle source
# File lib/fog/brightbox/requests/compute/get_account.rb, line 6
def get_account
  request("get", "/1.0/account", [200])
end
get_api_client(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_api_client.rb, line 6
def get_api_client(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/api_clients/#{identifier}", [200])
end
get_cloud_ip(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_cloud_ip.rb, line 6
def get_cloud_ip(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/cloud_ips/#{identifier}", [200])
end
get_firewall_policy(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_firewall_policy.rb, line 6
def get_firewall_policy(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/firewall_policies/#{identifier}", [200])
end
get_firewall_rule(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_firewall_rule.rb, line 6
def get_firewall_rule(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/firewall_rules/#{identifier}", [200])
end
get_image(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_image.rb, line 6
def get_image(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/images/#{identifier}", [200])
end
get_interface(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_interface.rb, line 6
def get_interface(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/interfaces/#{identifier}", [200])
end
get_load_balancer(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_load_balancer.rb, line 6
def get_load_balancer(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/load_balancers/#{identifier}", [200])
end
get_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_server.rb, line 6
def get_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/servers/#{identifier}", [200])
end
get_server_group(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_server_group.rb, line 6
def get_server_group(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/server_groups/#{identifier}", [200])
end
get_server_type(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_server_type.rb, line 6
def get_server_type(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/server_types/#{identifier}", [200])
end
get_user(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_user.rb, line 6
def get_user(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/users/#{identifier}", [200])
end
get_zone(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/get_zone.rb, line 6
def get_zone(identifier)
  return nil if identifier.nil? || identifier == ""
  request("get", "/1.0/zones/#{identifier}", [200])
end
list_api_clients() click to toggle source
# File lib/fog/brightbox/requests/compute/list_api_clients.rb, line 6
def list_api_clients
  request("get", "/1.0/api_clients", [200])
end
list_cloud_ips() click to toggle source
# File lib/fog/brightbox/requests/compute/list_cloud_ips.rb, line 6
def list_cloud_ips
  request("get", "/1.0/cloud_ips", [200])
end
list_firewall_policies() click to toggle source
# File lib/fog/brightbox/requests/compute/list_firewall_policies.rb, line 6
def list_firewall_policies
  request("get", "/1.0/firewall_policies", [200])
end
list_images() click to toggle source
# File lib/fog/brightbox/requests/compute/list_images.rb, line 6
def list_images
  request("get", "/1.0/images", [200])
end
list_load_balancers() click to toggle source
# File lib/fog/brightbox/requests/compute/list_load_balancers.rb, line 6
def list_load_balancers
  request("get", "/1.0/load_balancers", [200])
end
list_server_groups() click to toggle source
# File lib/fog/brightbox/requests/compute/list_server_groups.rb, line 6
def list_server_groups
  request("get", "/1.0/server_groups", [200])
end
list_server_types() click to toggle source
# File lib/fog/brightbox/requests/compute/list_server_types.rb, line 6
def list_server_types
  request("get", "/1.0/server_types", [200])
end
list_servers() click to toggle source
# File lib/fog/brightbox/requests/compute/list_servers.rb, line 6
def list_servers
  request("get", "/1.0/servers", [200])
end
list_users() click to toggle source
# File lib/fog/brightbox/requests/compute/list_users.rb, line 6
def list_users
  request("get", "/1.0/users", [200])
end
list_zones() click to toggle source
# File lib/fog/brightbox/requests/compute/list_zones.rb, line 6
def list_zones
  request("get", "/1.0/zones", [200])
end
map_cloud_ip(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/map_cloud_ip.rb, line 6
def map_cloud_ip(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/cloud_ips/#{identifier}/map", [202], options)
end
move_servers_server_group(identifier, options) click to toggle source

Moves a number of servers between two server groups

>> Compute[:brightbox].remove_servers_server_group "grp-12345", :destination => "grp-67890", :servers => [{:server => "srv-abcde"}]

Parameters:

  • identifier - The identifier (String) of the server group to remove from

  • options (Hash)

    • destination (String)- The identifier of the server group to move to

    • servers (Array) - Array of Hashes containing {"server" => server_id} for each server to remove

    [{"server" => "srv-abcde"}, {"server" => "srv-fghij"}]

Returns:

A Ruby hash of the server response

# File lib/fog/brightbox/requests/compute/move_servers_server_group.rb, line 21
def move_servers_server_group(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/server_groups/#{identifier}/move_servers", [202], options)
end
remove_firewall_policy(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/remove_firewall_policy.rb, line 6
def remove_firewall_policy(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/firewall_policies/#{identifier}/remove", [202], options)
end
remove_listeners_load_balancer(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb, line 6
def remove_listeners_load_balancer(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/load_balancers/#{identifier}/remove_listeners", [202], options)
end
remove_nodes_load_balancer(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb, line 6
def remove_nodes_load_balancer(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/load_balancers/#{identifier}/remove_nodes", [202], options)
end
remove_servers_server_group(identifier, options) click to toggle source

Remove a number of servers from a server group

>> Compute[:brightbox].remove_servers_server_group "grp-12345", :servers => [{:server => "srv-abcde"}]

Parameters:

  • identifier (String) - The identifier of the server group to remove from

  • options (Array) - An Array of Hashes containing {"server" => server_id} for each server to remove

    [{"server" => "srv-abcde"}, {"server" => "srv-fghij"}]

Returns:

A Ruby hash of the server response

# File lib/fog/brightbox/requests/compute/remove_servers_server_group.rb, line 19
def remove_servers_server_group(identifier, options)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/server_groups/#{identifier}/remove_servers", [202], options)
end
request(method, url, expected_responses, options = nil) click to toggle source
# File lib/fog/brightbox/compute.rb, line 129
def request(method, url, expected_responses, options = nil)
  request_options = {
    :method   => method.to_s.upcase,
    :path     => url,
    :expects  => expected_responses
  }
  request_options[:body] = Fog::JSON.encode(options) unless options.nil?
  make_request(request_options)
end
reset_ftp_password_account() click to toggle source
# File lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb, line 6
def reset_ftp_password_account
  request("post", "/1.0/account/reset_ftp_password", [200])
end
reset_secret_api_client(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/reset_secret_api_client.rb, line 6
def reset_secret_api_client(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/api_clients/#{identifier}/reset_secret", [200])
end
shutdown_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/shutdown_server.rb, line 6
def shutdown_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/servers/#{identifier}/shutdown", [202])
end
snapshot_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/snapshot_server.rb, line 6
def snapshot_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/servers/#{identifier}/snapshot", [202])
end
start_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/start_server.rb, line 6
def start_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/servers/#{identifier}/start", [202])
end
stop_server(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/stop_server.rb, line 6
def stop_server(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/servers/#{identifier}/stop", [202])
end
unmap_cloud_ip(identifier) click to toggle source
# File lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb, line 6
def unmap_cloud_ip(identifier)
  return nil if identifier.nil? || identifier == ""
  request("post", "/1.0/cloud_ips/#{identifier}/unmap", [202])
end
update_account(options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_account.rb, line 6
def update_account(options)
  return nil if options.empty? || options.nil?
  request("put", "/1.0/account", [200], options)
end
update_api_client(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_api_client.rb, line 6
def update_api_client(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/api_clients/#{identifier}", [200], options)
end
update_cloud_ip(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_cloud_ip.rb, line 6
def update_cloud_ip(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/cloud_ips/#{identifier}", [200], options)
end
update_firewall_rule(id, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_firewall_rule.rb, line 6
def update_firewall_rule(id, options)
  request("put", "/1.0/firewall_rules/#{id}", [202], options)
end
update_image(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_image.rb, line 6
def update_image(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/images/#{identifier}", [200], options)
end
update_load_balancer(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_load_balancer.rb, line 6
def update_load_balancer(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/load_balancers/#{identifier}", [202], options)
end
update_server(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_server.rb, line 6
def update_server(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/servers/#{identifier}", [200], options)
end
update_server_group(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_server_group.rb, line 6
def update_server_group(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/server_groups/#{identifier}", [202], options)
end
update_user(identifier, options) click to toggle source
# File lib/fog/brightbox/requests/compute/update_user.rb, line 6
def update_user(identifier, options)
  return nil if identifier.nil? || identifier == ""
  return nil if options.empty? || options.nil?
  request("put", "/1.0/users/#{identifier}", [200], options)
end