Sha256: 81c16e6fb2e1b4485b541534fa95ae22548ecbfba0d0e68491333f06a6127758
Contents?: true
Size: 1.21 KB
Versions: 17
Compression:
Stored size: 1.21 KB
Contents
module Fog module Compute class Ecloud module Shared def validate_edit_server_options(options) required_opts = [:name] unless required_opts.all? { |opt| options.key?(opt) } raise ArgumentError.new("Required data missing: #{(required_opts - options.keys).map(&:inspect).join(", ")}") end end def build_request_body_edit(options) xml = Builder::XmlMarkup.new xml.VirtualMachine(:name => options[:name]) do if options[:description] xml.Description options[:description] end if options[:tags] xml.Tags do options[:tags].each do |tag| xml.Tag tag end end end end end end class Real def virtual_machine_edit(vm_uri, options) validate_edit_server_options(options) body = build_request_body_edit(options) request( :expects => [202,204], :method => 'PUT', :headers => {}, :body => body, :uri => vm_uri, :parse => true ) end end end end end
Version data entries
17 entries across 17 versions & 5 rubygems