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