# File lib/fog/vcloud/models/compute/server.rb, line 165
        def save
          if new_record?
            #Lame ...
            raise RuntimeError, "Should not be here"
          else
            if on?
              if @changed
                raise RuntimeError, "Can't save cpu, name or memory changes while the VM is on."
              end
            end
            if @update_memory_value
              memory_mess["rasd:VirtualQuantity""rasd:VirtualQuantity"] = @update_memory_value.to_s
              connection.configure_vm_memory(memory_mess)
            end
            if @disk_change == :deleted
              data = disk_mess.delete_if do |vh|
                vh['rasd:ResourceType''rasd:ResourceType'] == '17' &&
                  vh['rasd:AddressOnParent''rasd:AddressOnParent'].to_s == @remove_disk.to_s
              end
              connection.configure_vm_disks(self.href, data)
            end
            if @disk_change == :added
              data = disk_mess
              data << @add_disk
              connection.configure_vm_disks(self.href, data)
            end
            if @name_changed || @description_changed
              edit_uri = links.select {|i| i[:rel] == 'edit'}
              edit_uri = edit_uri.kind_of?(Array) ? edit_uri.flatten[0][:href] : edit_uri[:href]
              connection.configure_vm_name_description(edit_uri, self.name, self.description)
            end
          end
          reset_tracking
          true
        end