X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fopenstack%2Fcompute%2Fv2%2Fpublic%2Fcreate_image.rb;fp=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fopenstack%2Fcompute%2Fv2%2Fpublic%2Fcreate_image.rb;h=0a4622370e1a9a86f7866a9c8e5f1128d0a1639d;hb=4631045ebb77ee8622f6fa09277a50c372bcc02e;hp=0000000000000000000000000000000000000000;hpb=3d4dc4fd9e59bd0e07646c99f6b356c7d9d859aa;p=dsa-puppet.git diff --git a/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/public/create_image.rb b/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/public/create_image.rb new file mode 100644 index 00000000..0a462237 --- /dev/null +++ b/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/public/create_image.rb @@ -0,0 +1,46 @@ +module Aviator + + define_request :create_image, :inherit => [:openstack, :common, :v2, :public, :base] do + + meta :service, :compute + + link 'documentation', + 'http://docs.openstack.org/api/openstack-compute/2/content/Create_Image-d1e4655.html' + + param :id, :required => true + param :metadata, :required => false + param :name, :required => true + + + def body + p = { + :createImage => { + :name => params[:name] + } + } + + [:metadata].each do |key| + p[:createImage][key] = params[key] if params[key] + end + + p + end + + + def headers + super + end + + + def http_method + :post + end + + + def url + "#{ base_url }/servers/#{ params[:id] }/action" + end + + end + +end