]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/admin/create_network.rb
add aimonb/aviator to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / aviator / feature / aviator / openstack / compute / v2 / admin / create_network.rb
diff --git a/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/admin/create_network.rb b/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/admin/create_network.rb
new file mode 100644 (file)
index 0000000..f45ef1a
--- /dev/null
@@ -0,0 +1,56 @@
+module Aviator
+
+  define_request :create_network, :inherit => [:openstack, :common, :v2, :admin, :base] do
+
+    meta :service, :compute
+
+    link 'documentation',
+         'http://api.openstack.org/api-ref-compute.html#ext-os-networks'
+
+
+    param :label,             :required => true
+    param :bridge,            :required => false
+    param :bridge_interface,  :required => false
+    param :cidr,              :required => false
+    param :cidr_v6,           :required => false
+    param :dns1,              :required => false
+    param :dns2,              :required => false
+    param :gateway,           :required => false
+    param :gateway_v6,        :required => false
+    param :multi_host,        :required => false
+    param :project_id,        :required => false
+    param :vlan,              :required => false
+
+
+    def body
+      p = {
+        :network => {
+          :label => params[:label]
+        }
+      }
+
+      optional_params.each do |key|
+        p[:network][key] = params[key] if params[key]
+      end
+
+      p
+    end
+
+
+    def headers
+      super
+    end
+
+
+    def http_method
+      :post
+    end
+
+
+    def url
+      "#{ base_url }/os-networks"
+    end
+
+  end
+
+end