lib/squall/hypervisor.rb in squall-1.3.0 vs lib/squall/hypervisor.rb in squall-1.3.1
- old
+ new
@@ -1,111 +1,113 @@
module Squall
# OnApp Hypervisor
class Hypervisor < Base
-
- # Returns a list of all hypervisors
+ # Public: Lists all hypervisors.
+ #
+ # Returns an Array.
def list
req = request(:get, '/settings/hypervisors.json')
req.collect { |hv| hv['hypervisor'] }
end
- # Returns the hypervisor info as a hash
+ # Public: Retrieves hypervisor info.
#
- # ==== Params
+ # id - The id of the hypervisor
#
- # * +id+ - The id of the hypervisor
+ # Returns a Hash.
def show(id)
req = request(:get, "/settings/hypervisors/#{id}.json")
req.first[1]
end
- # Create a new Hypervisor
+ # Public: Create a new Hypervisor.
#
- # ==== Params
+ # options - Options for creating the hypervisor:
+ # :label - Label for the hypervisor
+ # :ip_address - IP for the hypervisor
+ # :hypervisor_type - Type of the hypervisor
#
- # * +options+ - Options for creating the hypervisor
+ # Example
#
- # ==== Options
+ # create(
+ # label: 'myhv',
+ # ip_address: '127.0.0.1',
+ # hypervisor_type: 'xen'
+ # )
#
- # * +label*+ - Label for the hypervisor
- # * +ip_address*+ - IP for the hypervisor
- # * +hypervisor_type*+ - Type of the hypervisor
- #
- # ==== Example
- #
- # create :label => 'myhv', :ip_address => '127.0.0.1', :hypervisor_type => 'xen'
+ # Returns a Hash.
def create(options = {})
- params.required(:label, :ip_address, :hypervisor_type).accepts(:memory_overhead, :enabled, :hypervisor_group_id, :disable_failover).validate!(options)
req = request(:post, '/settings/hypervisors.json', default_params(options))
req.first[1]
end
- # Edit a Hypervisor
+ # Public: Edit a Hypervisor.
#
- # ==== Params
+ # id - ID of the hypervisor
+ # options - Params for editing the Hypervisor, see `#create`.
#
- # * +id*+ - ID of the hypervisor
- # * +options+ - Params for editing the Hypervisor
+ # Example
#
- # ==== Options
+ # edit 1, label: 'myhv', ip_address: '127.0.0.1'
#
- # See #create
- #
- # ==== Example
- #
- # edit 1, :label => 'myhv', :ip_address => '127.0.0.1'
- def edit(id, options ={})
- params.accepts(:label, :ip_address, :hypervisor_type, :memory_overhead, :enabled, :hypervisor_group_id, :disable_failover).validate!(options)
+ # Returns a Hash.
+ def edit(id, options = {})
request(:put, "/settings/hypervisors/#{id}.json", default_params(options))
end
- # Reboot a hypervisor
+ # Public: Reboot a hypervisor.
#
- # ==== Params
+ # id - ID of the hypervisor
#
- # * +id*+ - ID of the hypervisor
+ # Returns a Hash.
def reboot(id)
response = request(:get, "/settings/hypervisors/#{id}/rebooting.json")
response['hypervisor']
end
- # Delete a hypervisor
+ # Public: Delete a hypervisor
#
- # ==== Params
+ # id - ID of the hypervisor
#
- # * +id*+ - ID of the hypervisor
+ # Returns a Hash.
def delete(id)
req = request(:delete, "/settings/hypervisors/#{id}.json")
end
+ # TODO: Add documentation
def virtual_machines(id)
response = request(:get, "/settings/hypervisors/#{id}/virtual_machines.json")
response.collect { |vm| vm['virtual_machine'] }
end
+ # TODO: Add documentation
def data_store_joins(id)
response = request(:get, "/settings/hypervisors/#{id}/data_store_joins.json")
response.collect { |dsj| dsj['data_store_join'] }
end
+ # TODO: Add documentation
def add_data_store_join(id, data_store_id)
- request(:post, "/settings/hypervisors/#{id}/data_store_joins.json", :query => {:data_store_id => data_store_id})
+ request(:post, "/settings/hypervisors/#{id}/data_store_joins.json", query: { data_store_id: data_store_id })
end
+ # TODO: Add documentation
def remove_data_store_join(id, data_store_join_id)
request(:delete, "/settings/hypervisors/#{id}/data_store_joins/#{data_store_join_id}.json")
end
+ # TODO: Add documentation
def network_joins(id)
response = request(:get, "/settings/hypervisors/#{id}/network_joins.json")
response.collect { |nj| nj['network_join'] }
end
+ # TODO: Add documentation
def add_network_join(id, options)
- params.required(:network_id, :interface).validate!(options)
- request(:post, "/settings/hypervisors/#{id}/network_joins.json", :query => {:network_join => options})
+ request(:post, "/settings/hypervisors/#{id}/network_joins.json", query: { network_join: options })
end
+ # TODO: Add documentation
def remove_network_join(id, network_join_id)
request(:delete, "/settings/hypervisors/#{id}/network_joins/#{network_join_id}.json")
end
end
end