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.
Requirements¶
The below requirements are needed on the host that executes this module.
avisdk
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.
|
|
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]