avi_api_session – Avi API Module¶
New in version 2.3.
Synopsis¶
This module can be used for calling any resources defined in Avi REST API. https://avinetworks.com/
This module is useful for invoking HTTP Patch methods and accessing resources that do not have an REST object associated with them.
Parameters¶
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
api_context
dictionary
added in 2.5 |
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
added in 2.5 |
Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
|
||
api_version
-
|
Default: "16.4.4"
|
Avi controller version
|
|
controller
-
|
Avi controller IP or SQDN
|
||
csrftoken
-
|
Avi controller API csrftoken to reuse existing session with session id
|
||
password
-
|
Avi controller password
|
||
port
-
|
Avi controller port
|
||
session_id
-
|
Avi controller API session id to reuse existing session with csrftoken
|
||
tenant
-
|
Default: "admin"
|
Avi controller tenant
|
|
tenant_uuid
-
|
Avi controller tenant UUID
|
||
timeout
-
|
Default: 300
|
Avi controller request timeout
|
|
token
-
|
Avi controller API token
|
||
username
-
|
Avi controller username
|
||
avi_disable_session_cache_as_fact
boolean
added in 2.6 |
|
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 . |
|
data
-
|
HTTP body in YAML or JSON format.
|
||
http_method
-
/ required
|
|
Allowed HTTP methods for RESTful services and are supported by Avi Controller.
|
|
params
-
|
Query parameters passed to the HTTP API.
|
||
password
string
|
Default: ""
|
Password of Avi user in Avi controller. The default value is the environment variable
AVI_PASSWORD . |
|
path
-
|
Path for Avi API resource. For example,
path: virtualservice will translate to api/virtualserivce . |
||
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.
|
|
timeout
-
|
Default: 60
|
Timeout (in seconds) for Avi API calls.
|
|
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¶
- name: Get Pool Information using avi_api_session
avi_api_session:
controller: "{{ controller }}"
username: "{{ username }}"
password: "{{ password }}"
http_method: get
path: pool
params:
name: "{{ pool_name }}"
api_version: 16.4
register: pool_results
- name: Patch Pool with list of servers
avi_api_session:
controller: "{{ controller }}"
username: "{{ username }}"
password: "{{ password }}"
http_method: patch
path: "{{ pool_path }}"
api_version: 16.4
data:
add:
servers:
- ip:
addr: 10.10.10.10
type: V4
- ip:
addr: 20.20.20.20
type: V4
register: updated_pool
- name: Fetch Pool metrics bandwidth and connections rate
avi_api_session:
controller: "{{ controller }}"
username: "{{ username }}"
password: "{{ password }}"
http_method: get
path: analytics/metrics/pool
api_version: 16.4
params:
name: "{{ pool_name }}"
metric_id: l4_server.avg_bandwidth,l4_server.avg_complete_conns
step: 300
limit: 10
register: pool_metrics
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
obj
dictionary
|
success, changed |
Avi REST resource
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]
Authors¶
Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>
Hint
If you notice any issues in this documentation, you can edit this document to improve it.