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
-
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
-
|
Default: "16.4.4"
|
Avi API version of to use for Avi API and objects.
|
avi_credentials
-
added in 2.5 |
Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
|
|
controller
-
|
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
-
|
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
-
|
Default: "admin"
|
Name of tenant used for all Avi API calls and context of object.
|
tenant_uuid
-
|
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
-
|
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 (grastogi@avinetworks.com)
Hint
If you notice any issues in this documentation you can edit this document to improve it.