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 (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.
Author
- Gaurav Rastogi (grastogi@avinetworks.com)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/avi_api_session_module.html