]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/create_image.rb
0a4622370e1a9a86f7866a9c8e5f1128d0a1639d
[dsa-puppet.git] / 3rdparty / modules / aviator / lib / puppet / feature / aviator / openstack / compute / requests / v2 / public / create_image.rb
1 module Aviator
2
3   define_request :create_image, :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/Create_Image-d1e4655.html'
9
10     param :id,       :required => true
11     param :metadata, :required => false
12     param :name,     :required => true
13
14
15     def body
16       p = {
17         :createImage => {
18           :name => params[:name]
19         }
20       }
21       
22       [:metadata].each do |key|
23         p[:createImage][key] = params[key] if params[key]
24       end
25
26       p
27     end
28
29
30     def headers
31       super
32     end
33
34
35     def http_method
36       :post
37     end
38
39
40     def url
41       "#{ base_url }/servers/#{ params[:id] }/action"
42     end
43
44   end
45
46 end