From f78e99ab32997249412ead7b6b7996590925d874 Mon Sep 17 00:00:00 2001 From: Sergio Rubio Date: Tue, 26 Mar 2013 17:04:48 +0100 Subject: [PATCH] [xenserver|compute] added create_network request --- .../requests/compute/create_network.rb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lib/fog/xenserver/requests/compute/create_network.rb diff --git a/lib/fog/xenserver/requests/compute/create_network.rb b/lib/fog/xenserver/requests/compute/create_network.rb new file mode 100644 index 000000000..133a225b6 --- /dev/null +++ b/lib/fog/xenserver/requests/compute/create_network.rb @@ -0,0 +1,42 @@ +module Fog + module Compute + class XenServer + + class Real + + # Create a Network + # + # @see http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=network + # + def create_network( name, config = {} ) + config.reject! { |k,v| v.nil? } + + default_config = { + :name_label => name, + # Description is mandatory in XenAPI but we default to empty + :name_description => config[:description] || '', + # Mandatory, but can be empty + :other_config => {} + }.merge config + + @connection.request( + { + :parser => Fog::Parsers::XenServer::Base.new, + :method => 'network.create' + }, + default_config + ) + end + end + + class Mock + + def create_network( name, description = '', config = {} ) + Fog::Mock.not_implemented + end + + end + + end + end +end