cisco.meraki.meraki inventory -- Ansible dynamic inventory plugin for Cisco Meraki devices.
Note
This inventory plugin is part of the cisco.meraki collection (version 2.21.1).
To install it, use: ansible-galaxy collection install cisco.meraki
.
You need further requirements to be able to use this inventory plugin,
see Requirements for details.
To use it in a playbook, specify: cisco.meraki.meraki
.
Synopsis
Build inventories using the Cisco Meraki API.
Uses a YAML configuration file cisco_meraki.[yml|yaml].
Requirements
The below requirements are needed on the local controller node that executes this inventory.
meraki
Parameters
Parameter |
Comments |
---|---|
Create vars from jinja2 expressions. Default: :ansible-option-default:`{}` |
|
Add hosts to group based on Jinja2 conditionals. Default: :ansible-option-default:`{}` |
|
Add hosts to group based on the values of a variable. Default: :ansible-option-default:`[]` |
|
meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time Default: :ansible-option-default:`60` |
|
meraki_api_key (string), API key generated in dashboard; can also be set as an environment variable MERAKI_DASHBOARD_API_KEY |
|
meraki_base_url (string), preceding all endpoint resources Default: :ansible-option-default:`"https://api.meraki.com/api/v1"` |
|
meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID Default: :ansible-option-default:`""` |
|
meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy Default: :ansible-option-default:`""` |
|
meraki_inherit_logging_config (boolean), Inherits your own logger instance Choices: |
|
meraki_log_file_prefix (string), log file name appended with date and timestamp |
|
log_path (string), path to output log; by default, working directory of script if not specified Default: :ansible-option-default:`""` |
|
meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors Default: :ansible-option-default:`2` |
|
meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time Default: :ansible-option-default:`60` |
|
The organization ID to fetch the networks and devices from. |
|
meraki_output_log (boolean), create an output log file? Choices: |
|
meraki_print_console (boolean), print logging output to console? Choices: |
|
meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS Default: :ansible-option-default:`""` |
|
meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides 429)? Choices: |
|
meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time Default: :ansible-option-default:`60` |
|
meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes? Choices: |
|
meraki_single_request_timeout (integer), maximum number of seconds for each API call Default: :ansible-option-default:`60` |
|
meraki_suppress_logging (boolean), disable all logging? you're on your own then! Choices: |
|
meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator with each object instead of a complete list with all items Choices: |
|
meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered? Choices: |
|
If Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. Choices: |
Examples
# cisco_meraki.yml
---
plugin: cisco.meraki.meraki
meraki_api_key: "<enter Meraki API key or set the MERAKI_DASHBOARD_API_KEY env var>"
meraki_org_id: "<enter Meraki Org ID>"
keyed_groups:
# group devices based on network ID
- prefix: meraki_network_id
key: network_id
# group devices based on network name
- prefix: meraki_network
key: network
# group devices based on device type
- prefix: meraki_device_type
key: device_type
# group devices based on meraki device tag
- prefix: meraki_tag
key: tags