X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Faviator%2Fopenstack%2Fcompute%2Frequests%2Fv2%2Fpublic%2Frebuild_server.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Faviator%2Fopenstack%2Fcompute%2Frequests%2Fv2%2Fpublic%2Frebuild_server.rb;h=8383f571a743214b2d741fa9cd5f6f3186d3ae6b;hp=0000000000000000000000000000000000000000;hb=b7626cbcbb2fb8e7ce3dc5ac60e80a981175f9d3;hpb=8132e6bb1199463f5e334326659c974d4772b3e3 diff --git a/3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/rebuild_server.rb b/3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/rebuild_server.rb new file mode 100644 index 00000000..8383f571 --- /dev/null +++ b/3rdparty/modules/aviator/lib/puppet/feature/aviator/openstack/compute/requests/v2/public/rebuild_server.rb @@ -0,0 +1,53 @@ +module Aviator + + define_request :rebuild_server, :inherit => [:openstack, :common, :v2, :public, :base] do + + meta :service, :compute + + link 'documentation', + 'http://docs.openstack.org/api/openstack-compute/2/content/Rebuild_Server-d1e3538.html' + + param :accessIPv4, :required => false, :alias => :access_ipv4 + param :accessIPv6, :required => false, :alias => :access_ipv6 + param :adminPass, :required => true, :alias => :admin_pass + param :id, :required => true + param :imageRef, :required => true, :alias => :image_ref + param :metadata, :required => false + param :name, :required => true + param :personality, :required => false + + + def body + p = { + :rebuild => { + :adminPass => params[:adminPass], + :imageRef => params[:imageRef], + :name => params[:name] + } + } + + [:accessIPv4, :accessIPv6, :metadata, :personality].each do |key| + p[:rebuild][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