# salt.returners.mongo_future_return

Return data to a mongodb server

Required python modules: pymongo

This returner will send data from the minions to a MongoDB server. MongoDB server can be configured by using host, port, db, user and password settings or by connection string URI (for pymongo > 2.3). To configure the settings for your MongoDB server, add the following lines to the minion config files:

    mongo.db: <database name>
    mongo.host: <server ip address>
    mongo.user: <MongoDB username>
    mongo.password: <MongoDB user password>
    mongo.port: 27017

Or single URI:

    mongo.uri: URI

where uri is in the format:

    mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Example:

    mongodb://db1.example.net:27017/mydatabase
    mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test
    mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000

More information on URI format can be found in https://docs.mongodb.com/manual/reference/connection-string/

You can also ask for indexes creation on the most common used fields, which should greatly improve performance. Indexes are not created by default.

    mongo.indexes: true

Alternative configuration values can be used by prefacing the configuration. Any values not found in the alternative configuration will be pulled from the default location:

    alternative.mongo.db: <database name>
    alternative.mongo.host: <server ip address>
    alternative.mongo.user: <MongoDB username>
    alternative.mongo.password: <MongoDB user password>
    alternative.mongo.port: 27017

Or single URI:

    alternative.mongo.uri: URI

This mongo returner is being developed to replace the default mongodb returner in the future and should not be considered API stable yet.

To use the mongo returner, append '--return mongo' to the salt command.

    salt '*' test.ping --return mongo

To use the alternative configuration, append '--return_config alternative' to the salt command.

Added in version 2015.5.0.

    salt '*' test.ping --return mongo --return_config alternative

To override individual configuration items, append --return_kwargs '{"key:": "value"}' to the salt command.

Added in version 2016.3.0.

    salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'

salt.returners.mongo_future_return.event_return(events)

  Return events to Mongodb server

salt.returners.mongo_future_return.get_fun(fun)

  Return the most recent jobs that have executed the named function

salt.returners.mongo_future_return.get_jid(jid)

  Return the return information associated with a jid

salt.returners.mongo_future_return.get_jids()

  Return a list of job ids

salt.returners.mongo_future_return.get_load(jid)

  Return the load associated with a given job id

salt.returners.mongo_future_return.get_minions()

  Return a list of minions

salt.returners.mongo_future_return.prep_jid(nocache=False, passed_jid=None)

  Do any work necessary to prepare a JID, including sending a custom id

salt.returners.mongo_future_return.returner(ret)

  Return data to a mongodb server

salt.returners.mongo_future_return.save_load(jid, load, minions=None)

  Save the load for a given job id

salt.returners.mongo_future_return.save_minions(jid, minions, syndic_id=None)

  Included for API consistency