]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/rebuild_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 / rebuild_server.rb
1 module Aviator
2
3   define_request :rebuild_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/Rebuild_Server-d1e3538.html'
9
10     param :accessIPv4,  :required => false, :alias => :access_ipv4
11     param :accessIPv6,  :required => false, :alias => :access_ipv6
12     param :adminPass,   :required => true,  :alias => :admin_pass
13     param :id,          :required => true
14     param :imageRef,    :required => true,  :alias => :image_ref
15     param :metadata,    :required => false
16     param :name,        :required => true
17     param :personality, :required => false
18
19
20     def body
21       p = {
22         :rebuild => {
23           :adminPass => params[:adminPass],
24           :imageRef  => params[:imageRef],
25           :name      => params[:name]
26         }
27       }
28       
29       [:accessIPv4, :accessIPv6, :metadata, :personality].each do |key|
30         p[:rebuild][key] = params[key] if params[key]
31       end
32
33       p
34     end
35
36
37     def headers
38       super
39     end
40
41
42     def http_method
43       :post
44     end
45
46
47     def url
48       "#{ base_url }/servers/#{ params[:id] }/action"
49     end
50
51   end
52
53 end