    # File lib/fog/vcloud/requests/compute/configure_vm_disks.rb, line 40
            def generate_configure_vm_disks_request(href, disk_data)
              xmlns = {
                "xmlns:rasd" => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData",
                "xmlns" => "http://www.vmware.com/vcloud/v1"
              }
              # Get the XML from the API, parse it.
              xml = Nokogiri::XML(request( :uri => href).body)

              #xml.root['name'] = vapp_data[:name]

              #disks
              real_disks = xml.xpath("//rasd:ResourceType[ .='17']/..", xmlns)
              real_disk_numbers = real_disks.map { |disk| disk.at('.//rasd:AddressOnParent', xmlns).content }
              disk_numbers = disk_data.map { |vdisk| vdisk["rasd:AddressOnParent""rasd:AddressOnParent"].to_s }

              if disk_data.length < real_disks.length
                #Assume we're removing a disk
                remove_disk_numbers = real_disk_numbers - disk_numbers
                remove_disk_numbers.each do |number|
                  if result = xml.at("//rasd:ResourceType[ .='17']/../rasd:AddressOnParent[.='#{number}']/..", xmlns)
                    result.remove
                  end
                end
              elsif disk_data.length > real_disks.length
                add_disk_numbers = disk_numbers - real_disk_numbers

                add_disk_numbers.each do |number|
                  new_disk = real_disks.first.dup
                  new_disk.at('.//rasd:AddressOnParent', xmlns).content = number.to_i #-1
                  new_disk.at('.//rasd:HostResource', xmlns)["vcloud:capacity"] = disk_data.detect { |disk| disk['rasd:AddressOnParent''rasd:AddressOnParent'].to_s == number.to_s }['rasd:HostResource''rasd:HostResource'][:vcloud_capacity].to_s
                  # nokogiri bug? shouldn't need to add this explicitly.
                  new_disk.at('.//rasd:HostResource', xmlns)["xmlns:vcloud"] = xmlns['xmlns']
                  new_disk.at('.//rasd:InstanceID', xmlns).content = (2000 + number.to_i).to_s
                  new_disk.at('.//rasd:ElementName', xmlns).content = "Hard disk #{number.to_i + 1}"
                  real_disks.first.parent << new_disk
                end

              end
              xml.to_s
            end