    # File lib/fog/ecloud/requests/compute/virtual_machine_delete.rb, line 9
            def virtual_machine_delete(uri)
              server_id = id_from_uri(uri)

              server = self.data[:servers][server_id]
              self.data[:servers].delete(server_id)
              self.data[:groups].values.each do |group|
                group[:VirtualMachines][:VirtualMachine].delete_if { |s| s[:name] == server[:name] }
              end
              self.data[:networks].values.each do |network|
                network[:IpAddresses][:IpAddress].each do |ip|
                  unless ip[:Host].nil?
                    ip[:Host] = nil if ip[:Host][:name] == server[:name]
                  end
                  unless ip[:DetectedOn].nil?
                    ip[:DetectedOn] = nil if ip[:DetectedOn][:name] == server[:name]
                  end
                end
              end
              task_id = Fog::Mock.random_numbers(10)
              task = {
                :id            => task_id,
                :href          => "/cloudapi/ecloud/tasks/#{task_id}",
                :type          => "application/vnd.tmrk.cloud.task",
                :Operation     => "Delete Server",
                :Status        => "Complete",
                :ImpactedItem  => Fog::Ecloud.keep(server, :name, :href, :type),
                :StartTime     => Time.now.iso8601,
                :CompletedTime => Time.now.iso8601,
                :InitiatedBy   => {},
              }
              self.data[:tasks][task_id] = task

              response(:body =>  task)
            end