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>