# salt.modules.mongodb

Module to provide MongoDB functionality to Salt

configuration:

  This module uses PyMongo, and accepts configuration details as parameters as well as configuration settings:

      mongodb.host: 'localhost'
      mongodb.port: 27017
      mongodb.user: ''
      mongodb.password: ''

  This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar.

salt.modules.mongodb.db_exists(name, user=None, password=None, host=None, port=None, authdb=None)

  Checks if a database exists in MongoDB

  CLI Example:

      salt '*' mongodb.db_exists <name> <user> <password> <host> <port>

salt.modules.mongodb.db_list(user=None, password=None, host=None, port=None, authdb=None)

  List all MongoDB databases

  CLI Example:

      salt '*' mongodb.db_list <user> <password> <host> <port>

salt.modules.mongodb.db_remove(name, user=None, password=None, host=None, port=None, authdb=None)

  Remove a MongoDB database

  CLI Example:

      salt '*' mongodb.db_remove <name> <user> <password> <host> <port>

salt.modules.mongodb.find(collection, query=None, user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Find an object or list of objects in a collection

  CLI Example:

      salt '*' mongodb.find mycollection '[{"foo": "FOO", "bar": "BAR"}]' <user> <password> <host> <port> <database>

salt.modules.mongodb.insert(objects, collection, user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Insert an object or list of objects into a collection

  CLI Example:

      salt '*' mongodb.insert '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' mycollection <user> <password> <host> <port> <database>

salt.modules.mongodb.remove(collection, query=None, user=None, password=None, host=None, port=None, database='admin', w=1, authdb=None)

  Remove an object or list of objects into a collection

  CLI Example:

      salt '*' mongodb.remove mycollection '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' <user> <password> <host> <port> <database>

salt.modules.mongodb.update_one(objects, collection, user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Update an object into a collection http://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.update_one

  New in version 2016.11.0.

  CLI Example:

      salt '*' mongodb.update_one '{"_id": "my_minion"} {"bar": "BAR"}' mycollection <user> <password> <host> <port> <database>

salt.modules.mongodb.user_create(name, passwd, user=None, password=None, host=None, port=None, database='admin', authdb=None, roles=None)

  Create a MongoDB user

  CLI Example:

      salt '*' mongodb.user_create <user_name> <user_password> <roles> <user> <password> <host> <port> <database>

salt.modules.mongodb.user_exists(name, user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Checks if a user exists in MongoDB

  CLI Example:

      salt '*' mongodb.user_exists <name> <user> <password> <host> <port> <database>

salt.modules.mongodb.user_find(name, user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Get single user from MongoDB

  CLI Example:

      salt '*' mongodb.user_find <name> <user> <password> <host> <port> <database> <authdb>

salt.modules.mongodb.user_grant_roles(name, roles, database, user=None, password=None, host=None, port=None, authdb=None)

  Grant one or many roles to a MongoDB user

  CLI Examples:

      salt '*' mongodb.user_grant_roles johndoe '["readWrite"]' dbname admin adminpwd localhost 27017

      salt '*' mongodb.user_grant_roles janedoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017

salt.modules.mongodb.user_list(user=None, password=None, host=None, port=None, database='admin', authdb=None)

  List users of a MongoDB database

  CLI Example:

      salt '*' mongodb.user_list <user> <password> <host> <port> <database>

salt.modules.mongodb.user_remove(name, user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Remove a MongoDB user

  CLI Example:

      salt '*' mongodb.user_remove <name> <user> <password> <host> <port> <database>

salt.modules.mongodb.user_revoke_roles(name, roles, database, user=None, password=None, host=None, port=None, authdb=None)

  Revoke one or many roles to a MongoDB user

  CLI Examples:

      salt '*' mongodb.user_revoke_roles johndoe '["readWrite"]' dbname admin adminpwd localhost 27017

      salt '*' mongodb.user_revoke_roles janedoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017

salt.modules.mongodb.user_roles_exists(name, roles, database, user=None, password=None, host=None, port=None, authdb=None)

  Checks if a user of a MongoDB database has specified roles

  CLI Examples:

      salt '*' mongodb.user_roles_exists johndoe '["readWrite"]' dbname admin adminpwd localhost 27017

      salt '*' mongodb.user_roles_exists johndoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017

salt.modules.mongodb.version(user=None, password=None, host=None, port=None, database='admin', authdb=None)

  Get MongoDB instance version

  CLI Example:

      salt '*' mongodb.version <user> <password> <host> <port> <database>