community / community.general / 0.1.1 / module / avi_api_session Avi API Module Authors: Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com> preview | supported by communitycommunity.general.avi_api_session (0.1.1) — module
Install with ansible-galaxy collection install community.general:==0.1.1
collections: - name: community.general version: 0.1.1
This module can be used for calling any resources defined in Avi REST API. U(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.
- 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
data: description: - HTTP body in YAML or JSON format. path: description: - 'Path for Avi API resource. For example, C(path: virtualservice) will translate to C(api/virtualserivce).' params: description: - Query parameters passed to the HTTP API. tenant: default: admin description: - Name of tenant used for all Avi API calls and context of object. type: str timeout: default: 60 description: - Timeout (in seconds) for Avi API calls. password: default: '' description: - Password of Avi user in Avi controller. The default value is the environment variable C(AVI_PASSWORD). type: str username: default: '' description: - Username used for accessing Avi controller. The default value is the environment variable C(AVI_USERNAME). type: str controller: default: '' description: - IP address or hostname of the controller. The default value is the environment variable C(AVI_CONTROLLER). type: str api_context: description: - Avi API context that includes current session ID and CSRF Token. - This allows user to perform single login and re-use the session. type: dict api_version: default: 16.4.4 description: - Avi API version of to use for Avi API and objects. type: str http_method: choices: - get - put - post - patch - delete description: - Allowed HTTP methods for RESTful services and are supported by Avi Controller. required: true tenant_uuid: default: '' description: - UUID of tenant used for all Avi API calls and context of object. type: str avi_credentials: description: - Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details. suboptions: api_version: default: 16.4.4 description: - Avi controller version controller: description: - Avi controller IP or SQDN csrftoken: description: - Avi controller API csrftoken to reuse existing session with session id password: description: - Avi controller password port: description: - Avi controller port session_id: description: - Avi controller API session id to reuse existing session with csrftoken tenant: default: admin description: - Avi controller tenant tenant_uuid: description: - Avi controller tenant UUID timeout: default: 300 description: - Avi controller request timeout token: description: - Avi controller API token username: description: - Avi controller username type: dict avi_disable_session_cache_as_fact: description: - It disables avi session information to be cached as a fact. type: bool
obj: description: Avi REST resource returned: success, changed type: dict