f45ef1a78cd16c8bee4ce0e5ab0c9fc52eacf040
[mirror/dsa-puppet.git] /
1 module Aviator
2
3   define_request :create_network, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
5     meta :service, :compute
6
7     link 'documentation',
8          'http://api.openstack.org/api-ref-compute.html#ext-os-networks'
9
10
11     param :label,             :required => true
12     param :bridge,            :required => false
13     param :bridge_interface,  :required => false
14     param :cidr,              :required => false
15     param :cidr_v6,           :required => false
16     param :dns1,              :required => false
17     param :dns2,              :required => false
18     param :gateway,           :required => false
19     param :gateway_v6,        :required => false
20     param :multi_host,        :required => false
21     param :project_id,        :required => false
22     param :vlan,              :required => false
23
24
25     def body
26       p = {
27         :network => {
28           :label => params[:label]
29         }
30       }
31
32       optional_params.each do |key|
33         p[:network][key] = params[key] if params[key]
34       end
35
36       p
37     end
38
39
40     def headers
41       super
42     end
43
44
45     def http_method
46       :post
47     end
48
49
50     def url
51       "#{ base_url }/os-networks"
52     end
53
54   end
55
56 end