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