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.
- saltext.mongodb.modules.mongodb.__virtual__()[source]¶
Only load this module if pymongo is installed
- saltext.mongodb.modules.mongodb.db_list(user=None, password=None, host=None, port=None, authdb=None)[source]¶
List all MongoDB databases
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.db_list <user> <password> <host> <port>
- saltext.mongodb.modules.mongodb.db_exists(name, user=None, password=None, host=None, port=None, authdb=None)[source]¶
Checks if a database exists in MongoDB
- name
The name of the database to check for.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.db_exists <name> <user> <password> <host> <port>
- saltext.mongodb.modules.mongodb.db_remove(name, user=None, password=None, host=None, port=None, authdb=None)[source]¶
Remove a MongoDB database
- name
The name of the database to remove.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.db_remove <name> <user> <password> <host> <port>
- saltext.mongodb.modules.mongodb.version(user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Get MongoDB instance version
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.version <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.user_find(name, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Get single user from MongoDB
- name
The name of the user to find.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- database
The MongoDB database to use when looking for the user. Default is
admin
.- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.user_find <name> <user> <password> <host> <port> <database> <authdb>
- saltext.mongodb.modules.mongodb.user_list(user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
List users of a MongoDB database
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- database
The MongoDB database to use when listing users. Default is
admin
.- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.user_list <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.user_exists(name, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Checks if a user exists in MongoDB
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- database
The MongoDB database to use when checking if the user exists. Default is
admin
.- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.user_exists <name> <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.user_create(name, passwd, user=None, password=None, host=None, port=None, database='admin', authdb=None, roles=None)[source]¶
Create a MongoDB user
- name
The name of the user to create.
- passwd
The password for the user that is being created.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- database
The MongoDB database to use when checking if the user exists. Default is
admin
.- authdb
The MongoDB database to use for authentication. Default is None.
- roles
The roles that should be associated with the user. Default is None.
CLI Example:
salt '*' mongodb.user_create <user_name> <user_password> <roles> <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.user_remove(name, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Remove a MongoDB user
- name
The name of the user that should be removed.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.user_remove <name> <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.user_roles_exists(name, roles, database, user=None, password=None, host=None, port=None, authdb=None)[source]¶
Checks if a user of a MongoDB database has specified roles
- name
The name of the user to check for the specified roles.
- roles
The roles to check are associated with the specified user.
- database
The database to check has the specified roles for the specified user.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
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
- saltext.mongodb.modules.mongodb.user_grant_roles(name, roles, database, user=None, password=None, host=None, port=None, authdb=None)[source]¶
Grant one or many roles to a MongoDB user
- name
The user to grant the specified roles to.
- roles
The roles to grant to the specified user.
- database
The database to great the roles against for the specified user.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
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
- saltext.mongodb.modules.mongodb.user_revoke_roles(name, roles, database, user=None, password=None, host=None, port=None, authdb=None)[source]¶
Revoke one or many roles to a MongoDB user
- user
The user to connect to MongoDB as. Default is None.
- roles
The roles to revoke from the specified user.
- database
The database to revoke the roles from for the specified user.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
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
- saltext.mongodb.modules.mongodb.collection_create(collection, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Added in version 3006.0.
Create a collection in the specified database.
- collection
The name of the collection to create.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.collection_create mycollection <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.collection_drop(collection, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Added in version 3006.0.
Drop a collection in the specified database.
- collection
The name of the collection to drop.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.collection_drop mycollection <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.collections_list(user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Added in version 3006.0.
List the collections available in the specified database.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.collections_list mycollection <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.insert(objects, collection, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Insert an object or list of objects into a collection
- objects
The objects to insert into the collection, should be provided as a list.
- collection
The collection to insert the objects into.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.insert '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' mycollection <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.update_one(objects, collection, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Update an object into a collection https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection.update_one
Added in version 2016.11.0.
- objects
The objects to update in the collection, should be provided as a list.
- collection
The collection to insert the objects into.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.update_one '{"_id": "my_minion"} {"bar": "BAR"}' mycollection <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.find(collection, query=None, user=None, password=None, host=None, port=None, database='admin', authdb=None)[source]¶
Find an object or list of objects in a collection
- collection
The collection to find the objects in.
- query
The query to use when locating objects in the collection.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.find mycollection '[{"foo": "FOO", "bar": "BAR"}]' <user> <password> <host> <port> <database>
- saltext.mongodb.modules.mongodb.remove(collection, query=None, user=None, password=None, host=None, port=None, database='admin', w=1, authdb=None)[source]¶
Remove an object or list of objects from a collection
- collection
The collection to remove objects from based on the query.
- query
Query to determine which objects to remove.
- user
The user to connect to MongoDB as. Default is None.
- password
The password to use to connect to MongoDB as. Default is None.
- host
The host where MongoDB is running. Default is None.
- port
The host where MongoDB is running. Default is None.
- database
The database where the collection is.
- w
The number of matches to remove from the collection.
- authdb
The MongoDB database to use for authentication. Default is None.
CLI Example:
salt '*' mongodb.remove mycollection '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' <user> <password> <host> <port> <database>