# avi_applicationpersistenceprofile – Module for setup of ApplicationPersistenceProfile Avi RESTful Object

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

## Synopsis

- This module is used to configure ApplicationPersistenceProfile object
- more examples at https://github.com/avinetworks/devops

## Requirements

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

- avisdk

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
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.
app_cookie_persistence_profile - |  | Specifies the application cookie persistence profile parameters.

avi_api_patch_op
-
added in 2.5

Choices:
- add
- replace
- delete

Patch operation to use when using avi_api_update_method as patch.

avi_api_update_method
-
added in 2.5

Choices:
- 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`.
description - |  | User defined description for the object.
hdr_persistence_profile - |  | Specifies the custom http header persistence profile parameters.
http_cookie_persistence_profile - |  | Specifies the http cookie persistence profile parameters.
ip_persistence_profile - |  | Specifies the client ip persistence profile parameters.

is_federated
boolean
added in 2.4

Choices:
- no
- yes

This field describes the object's replication scope.
If the field is set to false, then the object is visible within the controller-cluster and its associated service-engines.
If the field is set to true, then the object is replicated across the federation.
Field introduced in 17.1.3.
Default value when not specified in API or module is interpreted by Avi Controller as False.

name - / required |  | A user-friendly name for the persistence profile.
password string | Default: "" | Password of Avi user in Avi controller. The default value is the environment variable `AVI_PASSWORD`.

persistence_type
- / required

Method used to persist clients to the same server for a duration of time or a session.
Enum options - PERSISTENCE_TYPE_CLIENT_IP_ADDRESS, PERSISTENCE_TYPE_HTTP_COOKIE, PERSISTENCE_TYPE_TLS, PERSISTENCE_TYPE_CLIENT_IPV6_ADDRESS,
PERSISTENCE_TYPE_CUSTOM_HTTP_HEADER, PERSISTENCE_TYPE_APP_COOKIE, PERSISTENCE_TYPE_GSLB_SITE.
Default value when not specified in API or module is interpreted by Avi Controller as PERSISTENCE_TYPE_CLIENT_IP_ADDRESS.

server_hm_down_recovery - |  | Specifies behavior when a persistent server has been marked down by a health monitor. Enum options - HM_DOWN_PICK_NEW_SERVER, HM_DOWN_ABORT_CONNECTION, HM_DOWN_CONTINUE_PERSISTENT_SERVER. Default value when not specified in API or module is interpreted by Avi Controller as HM_DOWN_PICK_NEW_SERVER.

state
-

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_ref - |  | It is a reference to an object of type tenant.
tenant_uuid string | Default: "" | UUID of tenant used for all Avi API calls and context of object.
url - |  | Avi controller URL of the object.
username string | Default: "" | Username used for accessing Avi controller. The default value is the environment variable `AVI_USERNAME`.
uuid - |  | Uuid of the persistence profile.

## Notes

Note

- For more information on using Ansible to manage Avi Network devices see https://www.ansible.com/ansible-avi-networks.

## Examples

    - name: Create an Application Persistence setting using http cookie.
      avi_applicationpersistenceprofile:
        controller: '{{ controller }}'
        username: '{{ username }}'
        password: '{{ password }}'
        http_cookie_persistence_profile:
          always_send_cookie: false
          cookie_name: My-HTTP
          key:
          - aes_key: ShYGZdMks8j6Bpvm2sCvaXWzvXms2Z9ob+TTjRy46lQ=
            name: c1276819-550c-4adf-912d-59efa5fd7269
          - aes_key: OGsyVk84VCtyMENFOW0rMnRXVnNrb0RzdG5mT29oamJRb0dlbHZVSjR1az0=
            name: a080de57-77c3-4580-a3ea-e7a6493c14fd
          - aes_key: UVN0cU9HWmFUM2xOUzBVcmVXaHFXbnBLVUUxMU1VSktSVU5HWjJOWmVFMTBUMUV4UmxsNk4xQmFZejA9
            name: 60478846-33c6-484d-868d-bbc324fce4a5
          timeout: 15
        name: My-HTTP-Cookie
        persistence_type: PERSISTENCE_TYPE_HTTP_COOKIE
        server_hm_down_recovery: HM_DOWN_PICK_NEW_SERVER
        tenant_ref: Demo

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
obj dictionary | success, changed | ApplicationPersistenceProfile (api/applicationpersistenceprofile) object

## Status

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

### Authors

- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>

Hint

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