    # File lib/fog/vsphere/requests/compute/list_virtual_machines.rb, line 5
            def list_virtual_machines(options = { })
              # Listing all VM's can be quite slow and expensive.  Try and optimize
              # based on the available options we have.  These conditions are in
              # ascending order of time to complete for large deployments.

              options[:folder] ||= options['folder']
              if options['instance_uuid'] then
                [service.get_virtual_machine(options['instance_uuid'])]
              elsif options[:folder] && options[:datacenter] then
                list_all_virtual_machines_in_folder(options[:folder], options[:datacenter])
              else
                list_all_virtual_machines(options)
              end
            end