code: def list_datastores(call=None):
      '''
      Returns a list of data stores on OpenNebula.
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f list_datastores opennebula
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_datastores function must be called with -f or --function.'
          )
  
      server, user, password = _get_xml_rpc()
      auth = ':'.join([user, password])
      datastore_pool = server.one.datastorepool.info(auth)[1]
  
      datastores = {}
      for datastore in _get_xml(datastore_pool):
          datastores[datastore.find('NAME').text] = _xml_to_dict(datastore)
  
      return datastoref list_datastores(call=None):
      '''
      Returns a list of data stores on OpenNebula.
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f list_datastores opennebula
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_datastores function must be called with -f or --function.'
          )
  
      server, user, password = _get_xml_rpc()
      auth = ':'.join([user, password])
      datastore_pool = server.one.datastorepool.info(auth)[1]
  
      datastores = {}
      for datastore in _get_xml(datastore_pool):
          datastores[datastore.find('NAME').text] = _xml_to_dict(datastore)
  
      return datastores
docs: Returns a list of data stores on OpenNebula.
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f list_datastores opennebula