code: def list_nodes_full(conn=None, call=None):
      '''
      Return a list of the VMs that are on the provider, with all fields
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes_full function must be called with -f or --function.'
          )
  
      if not conn:
          conn = get_conn()   # pylint: disable=E0602
  
      nodes = conn.list_nodes()
      ret = {}
      for node in nodes:
          pairs = {}
          for key, value in zip(node.__dict__, six.itervalues(node.__dict__)):
              pairs[key] = value
          ret[node.name] = pairs
          del ret[node.name]['driver']
  
      __utils__['cloud.cache_node_list'](ret, __active_provider_name__.split(':')[0], __opts__)
      return ref list_nodes_full(conn=None, call=None):
      '''
      Return a list of the VMs that are on the provider, with all fields
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes_full function must be called with -f or --function.'
          )
  
      if not conn:
          conn = get_conn()   # pylint: disable=E0602
  
      nodes = conn.list_nodes()
      ret = {}
      for node in nodes:
          pairs = {}
          for key, value in zip(node.__dict__, six.itervalues(node.__dict__)):
              pairs[key] = value
          ret[node.name] = pairs
          del ret[node.name]['driver']
  
      __utils__['cloud.cache_node_list'](ret, __active_provider_name__.split(':')[0], __opts__)
      return ret
docs: Return a list of the VMs that are on the provider, with all fields