added mongodb lookup docs
This commit is contained in:
parent
0b4cebfb8b
commit
1ef2b6b302
1 changed files with 71 additions and 0 deletions
|
@ -15,6 +15,77 @@
|
|||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
||||
'''
|
||||
DOCUMENTATION:
|
||||
author: 'Marcos Diez <marcos (at) unitron.com.br>'
|
||||
lookup: mongodb
|
||||
version_added: "2.3"
|
||||
short_description: lookup info from MongoDB
|
||||
description:
|
||||
- 'The ``MongoDB`` lookup runs the *find()* command on a given *collection* on a given *MongoDB* server.'
|
||||
- 'The result is a list of jsons, so slightly different from what PyMongo returns. In particular, *timestamps* are converted to epoch integers.'
|
||||
options:
|
||||
connect_string:
|
||||
description:
|
||||
- "Can be any valid MongoDB connection string, supporting authentication, replicasets, etc. More info at https://docs.mongodb.org/manual/reference/connection-string/"
|
||||
default: "mongodb://localhost/"
|
||||
database:
|
||||
description:
|
||||
- Name of the database which the query will be made
|
||||
required: True
|
||||
collection:
|
||||
description:
|
||||
- Name of the collection which the query will be made
|
||||
required: True
|
||||
filter:
|
||||
description:
|
||||
- Criteria of the output
|
||||
type: 'dict'
|
||||
default: '{}'
|
||||
projection:
|
||||
description:
|
||||
- Fields you want returned
|
||||
type: dict
|
||||
default: "{}"
|
||||
skip:
|
||||
description:
|
||||
- How many results should be skept
|
||||
type: integer
|
||||
limit:
|
||||
description:
|
||||
- How many results should be shown
|
||||
type: integer
|
||||
sort:
|
||||
description:
|
||||
- Sorting rules. Please notice the constats are replaced by strings.
|
||||
type: list
|
||||
default: "[]"
|
||||
notes:
|
||||
- "Please check https://api.mongodb.org/python/current/api/pymongo/collection.html?highlight=find#pymongo.collection.Collection.find for more detais."
|
||||
requirements:
|
||||
- pymongo >= 2.4
|
||||
EXAMPLES:
|
||||
- hosts: all
|
||||
gather_facts: false
|
||||
vars:
|
||||
mongodb_parameters:
|
||||
#mandatory parameters
|
||||
database: 'local'
|
||||
#optional
|
||||
collection: "startup_log"
|
||||
connection_string: "mongodb://localhost/"
|
||||
extra_connection_parameters: { "ssl" : True , "ssl_certfile": /etc/self_signed_certificate.pem" }
|
||||
#optional query parameters, we accept any parameter from the normal mongodb query.
|
||||
filter: { "hostname": "batman" }
|
||||
projection: { "pid": True , "_id" : False , "hostname" : True }
|
||||
skip: 0
|
||||
limit: 1
|
||||
sort: [ [ "startTime" , "ASCENDING" ] , [ "age", "DESCENDING" ] ]
|
||||
tasks:
|
||||
- debug: msg="Mongo has already started with the following PID [{{ item.pid }}]"
|
||||
with_mongodb: "{{mongodb_parameters}}"
|
||||
'''
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
from __future__ import unicode_literals
|
||||
from ansible.module_utils.six import string_types
|
||||
|
|
Loading…
Reference in a new issue