X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fopenstack%2Fcompute%2Fv2%2Fpublic%2Frebuild_server.rb;fp=3rdparty%2Fmodules%2Faviator%2Ffeature%2Faviator%2Fopenstack%2Fcompute%2Fv2%2Fpublic%2Frebuild_server.rb;h=8383f571a743214b2d741fa9cd5f6f3186d3ae6b;hb=4631045ebb77ee8622f6fa09277a50c372bcc02e;hp=0000000000000000000000000000000000000000;hpb=3d4dc4fd9e59bd0e07646c99f6b356c7d9d859aa;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/public/rebuild_server.rb b/3rdparty/modules/aviator/feature/aviator/openstack/compute/v2/public/rebuild_server.rb new file mode 100644 index 000000000..8383f571a --- /dev/null +++ b/3rdparty/modules/aviator/feature/aviator/openstack/compute/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