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
dict
|
success, changed |
Avi REST resource
|
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Gaurav Rastogi (grastogi@avinetworks.com)
Hint
If you notice any issues in this documentation you can edit this document to improve it.