]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/create_server.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / aviator / lib / puppet / feature / aviator / openstack / compute / requests / v2 / public / create_server.rb
1 module Aviator
2
3   define_request :create_server, :inherit => [:openstack, :common, :v2, :public, :base] do
4
5     meta :service, :compute
6
7     link 'documentation',
8          'http://docs.openstack.org/api/openstack-compute/2/content/CreateServers.html'
9
10     param :accessIPv4,  :required => false, :alias => :access_ipv4
11     param :accessIPv6,  :required => false, :alias => :access_ipv6
12     param :adminPass,   :required => false, :alias => :admin_pass
13     param :imageRef,    :required => true,  :alias => :image_ref
14     param :flavorRef,   :required => true,  :alias => :flavor_ref
15     param :key_name,    :required => false
16     param :metadata,    :required => false
17     param :name,        :required => true
18     param :networks,    :required => false
19     param :personality, :required => false
20
21
22     def body
23       p = {
24         :server => {
25           :flavorRef => params[:flavorRef],
26           :imageRef  => params[:imageRef],
27           :name      => params[:name]
28         }
29       }
30
31       [:adminPass, :metadata, :personality, :networks, :accessIPv4, :accessIPv6, :key_name].each do |key|
32         p[:server][key] = params[key] if params[key]
33       end
34
35       p
36     end
37
38
39     def headers
40       super
41     end
42
43
44     def http_method
45       :post
46     end
47
48
49     def url
50       "#{ base_url }/servers"
51     end
52
53   end
54
55 end