On this page
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 (on host that executes module)
- avisdk
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
api_version |
no |
Avi API version of to use for Avi API and objects.
|
||
controller |
no |
IP address or hostname of the controller. The default value is the environment variable AVI_CONTROLLER .
|
||
data |
no |
HTTP body in YAML or JSON format.
|
||
http_method |
yes |
|
Allowed HTTP methods for RESTful services and are supported by Avi Controller.
|
|
params |
no |
Query parameters passed to the HTTP API.
|
||
password |
no |
Password of Avi user in Avi controller. The default value is the environment variable AVI_PASSWORD .
|
||
path |
no |
Path for Avi API resource. For example, path: virtualservice will translate to api/virtualserivce .
|
||
tenant |
no | admin |
Name of tenant used for all Avi API calls and context of object.
|
|
tenant_uuid |
no |
UUID of tenant used for all Avi API calls and context of object.
|
||
timeout |
no |
Timeout (in seconds) for Avi API calls.
|
||
username |
no |
Username used for accessing Avi controller. The default value is the environment variable AVI_USERNAME .
|
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 Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
obj |
Avi REST resource
|
success, changed | dict |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/avi_api_session_module.html