On this page
community.network.avi – Look up Avi objects.
Note
This plugin is part of the community.network collection (version 3.0.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.network
.
To use it in a playbook, specify: community.network.avi
.
Synopsis
- Given an object_type, fetch all the objects of that type or fetch the specific object that matches the name/uuid given via options.
- For single object lookup. If you want the output to be a list, you may want to pass option wantlist=True to the plugin.
Parameters
Parameter | Choices/Defaults | Configuration | Comments | |
---|---|---|---|---|
api_context
dictionary
|
Avi API context that includes current session ID and CSRF Token.
This allows user to perform single login and re-use the session.
|
|||
api_version
string
|
Default:
"16.4.4"
|
Avi API version of to use for Avi API and objects.
|
||
avi_credentials
dictionary
|
Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
|
|||
api_version
string
|
Default:
"16.4.4"
|
Avi controller version
|
||
controller
string
|
Avi controller IP or SQDN
|
|||
csrftoken
string
|
Avi controller API csrftoken to reuse existing session with session id
|
|||
password
string
|
Avi controller password
|
|||
port
string
|
Avi controller port
|
|||
session_id
string
|
Avi controller API session id to reuse existing session with csrftoken
|
|||
tenant
string
|
Default:
"admin"
|
Avi controller tenant
|
||
tenant_uuid
string
|
Avi controller tenant UUID
|
|||
timeout
string
|
Default:
300
|
Avi controller request timeout
|
||
token
string
|
Avi controller API token
|
|||
username
string
|
Avi controller username
|
|||
avi_disable_session_cache_as_fact
boolean
|
|
It disables avi session information to be cached as a fact.
|
||
controller
string
|
Default:
""
|
IP address or hostname of the controller. The default value is the environment variable AVI_CONTROLLER .
|
||
obj_name
string
|
name of the object to query
|
|||
obj_type
string / required
|
type of object to query
|
|||
obj_uuid
string
|
UUID of the object to query
|
|||
password
string
|
Default:
""
|
Password of Avi user in Avi controller. The default value is the environment variable AVI_PASSWORD .
|
||
tenant
string
|
Default:
"admin"
|
Name of tenant used for all Avi API calls and context of object.
|
||
tenant_uuid
string
|
Default:
""
|
UUID of tenant used for all Avi API calls and context of object.
|
||
username
string
|
Default:
""
|
Username used for accessing Avi controller. The default value is the environment variable AVI_USERNAME .
|
Notes
Note
- For more information on using Ansible to manage Avi Network devices see https://www.ansible.com/ansible-avi-networks.
Examples
# Lookup query for all the objects of a specific type.
- ansible.builtin.debug: msg="{{ lookup('community.network.avi', avi_credentials=avi_credentials, obj_type='virtualservice') }}"
# Lookup query for an object with the given name and type.
- ansible.builtin.debug: msg="{{ lookup('community.network.avi', avi_credentials=avi_credentials, obj_name='vs1', obj_type='virtualservice', wantlist=True) }}"
# Lookup query for an object with the given UUID and type.
- ansible.builtin.debug: msg="{{ lookup('community.network.avi', obj_uuid='virtualservice-5c0e183a-690a-45d8-8d6f-88c30a52550d', obj_type='virtualservice') }}"
# We can replace lookup with query function to always the get the output as list.
# This is helpful for looping.
- ansible.builtin.debug: msg="{{ query('community.network.avi', obj_uuid='virtualservice-5c0e183a-690a-45d8-8d6f-88c30a52550d', obj_type='virtualservice') }}"
Return Values
Common return values are documented here, the following are the fields unique to this lookup:
Key | Returned | Description |
---|---|---|
_raw
list / elements=dictionary
|
success |
One ore more objects returned from ``Avi`` API.
|
Authors
- Sandeep Bandi (@sabandi) <sandeepb@avinetworks.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/avi_lookup.html