community.network.avi_api_session – Avi API Module

Note

This plugin is part of the community.network collection (version 3.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.

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 Choices/Defaults Comments
api_context
dictionary
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
string
Default:
"16.4.4"
Avi API version of to use for Avi API and objects.
avi_credentials
dictionary
Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
api_version
string
Default:
"16.4.4"
Avi controller version
controller
string
Avi controller IP or SQDN
csrftoken
string
Avi controller API csrftoken to reuse existing session with session id
password
string
Avi controller password
port
string
Avi controller port
session_id
string
Avi controller API session id to reuse existing session with csrftoken
tenant
string
Default:
"admin"
Avi controller tenant
tenant_uuid
string
Avi controller tenant UUID
timeout
string
Default:
300
Avi controller request timeout
token
string
Avi controller API token
username
string
Avi controller username
avi_disable_session_cache_as_fact
boolean
    Choices:
  • no
  • yes
It disables avi session information to be cached as a fact.
controller
string
Default:
""
IP address or hostname of the controller. The default value is the environment variable AVI_CONTROLLER.
data
string
HTTP body in YAML or JSON format.
http_method
string / required
    Choices:
  • get
  • put
  • post
  • patch
  • delete
Allowed HTTP methods for RESTful services and are supported by Avi Controller.
params
string
Query parameters passed to the HTTP API.
password
string
Default:
""
Password of Avi user in Avi controller. The default value is the environment variable AVI_PASSWORD.
path
string
Path for Avi API resource. For example, path: virtualservice will translate to api/virtualserivce.
tenant
string
Default:
"admin"
Name of tenant used for all Avi API calls and context of object.
tenant_uuid
string
Default:
""
UUID of tenant used for all Avi API calls and context of object.
timeout
string
Default:
60
Timeout (in seconds) for Avi API calls.
username
string
Default:
""
Username used for accessing Avi controller. The default value is the environment variable AVI_USERNAME.

Notes

Note

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 Returned Description
obj
dictionary
success, changed
Avi REST resource



Authors

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/avi_api_session_module.html