community.network.avi_api_session module – Avi API Module
Note
This module is part of the community.network collection (version 5.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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.network.avi_api_session
.
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 |
Comments |
---|---|
Avi API context that includes current session ID and CSRF Token. This allows user to perform single login and re-use the session. |
|
Avi API version of to use for Avi API and objects. Default: |
|
Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details. |
|
Avi controller version Default: |
|
Avi controller IP or SQDN |
|
Avi controller API csrftoken to reuse existing session with session id Default: |
|
Avi controller password |
|
Avi controller port |
|
Avi controller API session id to reuse existing session with csrftoken Default: |
|
Avi controller tenant Default: |
|
Avi controller tenant UUID Default: |
|
Avi controller request timeout Default: |
|
Avi controller API token Default: |
|
Avi controller username |
|
It disables avi session information to be cached as a fact. Choices:
|
|
IP address or hostname of the controller. The default value is the environment variable |
|
HTTP body in YAML or JSON format. |
|
Allowed HTTP methods for RESTful services and are supported by Avi Controller. Choices:
|
|
Query parameters passed to the HTTP API. |
|
Password of Avi user in Avi controller. The default value is the environment variable |
|
Path for Avi API resource. For example, |
|
Name of tenant used for all Avi API calls and context of object. Default: |
|
UUID of tenant used for all Avi API calls and context of object. Default: |
|
Timeout (in seconds) for Avi API calls. Default: |
|
Username used for accessing Avi controller. The default value is the environment variable |
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
community.network.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
community.network.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
community.network.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 |
Description |
---|---|
Avi REST resource Returned: success, changed |