# avi_user – Avi User Module

New in version 2.9.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- This module can be used for creation, updation and deletion of a user.

## Requirements

The below requirements are needed on the host that executes this module.

- avisdk

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
access list |  | Access settings (write, read, or no access) for each type of resource within Vantage.
api_context dictionary 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 string | Default: "16.4.4" | Avi API version of to use for Avi API and objects.

avi_api_patch_op
string

Choices:
- add
- replace
- delete

Patch operation to use when using avi_api_update_method as patch.

avi_api_update_method
string

Choices:
- post
- put ←
- patch

Default method for object update is HTTP PUT.
Setting to patch will override that behavior to use HTTP PATCH.

avi_credentials dictionary added in 2.5 |  | Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
| api_version - | Default: "16.4.4" | Avi controller version
| controller - |  | Avi controller IP or SQDN
| csrftoken - |  | Avi controller API csrftoken to reuse existing session with session id
| password - |  | Avi controller password
| port - |  | Avi controller port
| session_id - |  | Avi controller API session id to reuse existing session with csrftoken
| tenant - | Default: "admin" | Avi controller tenant
| tenant_uuid - |  | Avi controller tenant UUID
| timeout - | Default: 300 | Avi controller request timeout
| token - |  | Avi controller API token
| username - |  | Avi controller username

avi_disable_session_cache_as_fact
boolean
added in 2.6

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`.
default_tenant_ref string | Default: "/api/tenant?name=admin" | Default tenant reference. This can also be full URI same as it comes in response payload
email string |  | Email address of the user. This field is used when a user loses their password and requests to have it reset. See Password Recovery.

is_active
boolean

Choices:
- no
- yes

Activates the current user account.

is_superuser
boolean

Choices:
- no
- yes

If the user will need to have the same privileges as the admin account, set it to true.

name string / required |  | Full name of the user.
obj_password string / required |  | You may either enter a case-sensitive password in this field for the new or existing user.
obj_username string / required |  | Name that the user will supply when signing into Avi Vantage, such as jdoe or jdoe@avinetworks.com.
password string | Default: "" | Password of Avi user in Avi controller. The default value is the environment variable `AVI_PASSWORD`.

state
string

Choices:
- absent
- present ←

The state that should be applied on the entity.

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.
user_profile_ref string |  | Refer user profile. This can also be full URI same as it comes in response payload
username string | 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: user creation
      avi_user:
        controller: ""
        username: ""
        password: ""
        api_version: ""
        name: "testuser"
        obj_username: "testuser"
        obj_password: "test123"
        email: "test@abc.test"
        access:
          - role_ref: "/api/role?name=Tenant-Admin"
            tenant_ref: "/api/tenant/admin#admin"
        user_profile_ref: "/api/useraccountprofile?name=Default-User-Account-Profile"
        is_active: true
        is_superuser: true
        default_tenant_ref: "/api/tenant?name=admin"

    - name: user creation
      avi_user:
        controller: ""
        username: ""
        password: ""
        api_version: ""
        name: "testuser"
        obj_username: "testuser2"
        obj_password: "password"
        email: "testuser2@abc.test"
        access:
          - role_ref: "https://192.0.2.10/api/role?name=Tenant-Admin"
            tenant_ref: "https://192.0.2.10/api/tenant/admin#admin"
        user_profile_ref: "https://192.0.2.10/api/useraccountprofile?name=Default-User-Account-Profile"
        is_active: true
        is_superuser: true
        default_tenant_ref: "https://192.0.2.10/api/tenant?name=admin"

## 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

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Shrikant Chaudhari (@gitshrikant) <shrikant.chaudhari@avinetworks.com>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.