# avi_applicationprofile – Module for setup of ApplicationProfile Avi RESTful Object

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module is used to configure ApplicationProfile 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.

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.

cloud_config_cksum - added in 2.9 |  | Checksum of application profiles. Internally set by cloud connector. Field introduced in 17.2.14, 18.1.5, 18.2.1.
controller string | Default: "" | IP address or hostname of the controller. The default value is the environment variable `AVI_CONTROLLER`.
created_by - added in 2.9 |  | Name of the application profile creator. Field introduced in 17.2.14, 18.1.5, 18.2.1.
description - |  | User defined description for the object.
dns_service_profile - |  | Specifies various dns service related controls for virtual service.
dos_rl_profile - |  | Specifies various security related controls for virtual service.
http_profile - |  | Specifies the http application proxy profile parameters.
name - / required |  | The name of the application profile.
password string | Default: "" | Password of Avi user in Avi controller. The default value is the environment variable `AVI_PASSWORD`.

preserve_client_ip
boolean

Choices:
- no
- yes

Specifies if client ip needs to be preserved for backend connection.
Not compatible with connection multiplexing.
Default value when not specified in API or module is interpreted by Avi Controller as False.

preserve_client_port
boolean
added in 2.6

Choices:
- no
- yes

Specifies if we need to preserve client port while preserving client ip for backend connections.
Field introduced in 17.2.7.
Default value when not specified in API or module is interpreted by Avi Controller as False.

sip_service_profile - added in 2.9 |  | Specifies various sip service related controls for virtual service. Field introduced in 17.2.8, 18.1.3, 18.2.1.

state
-

Choices:
- absent
- present ←

The state that should be applied on the entity.

tcp_app_profile - |  | Specifies the tcp application proxy profile parameters.
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.
type - / required |  | Specifies which application layer proxy is enabled for the virtual service. Enum options - APPLICATION_PROFILE_TYPE_L4, APPLICATION_PROFILE_TYPE_HTTP, APPLICATION_PROFILE_TYPE_SYSLOG, APPLICATION_PROFILE_TYPE_DNS, APPLICATION_PROFILE_TYPE_SSL, APPLICATION_PROFILE_TYPE_SIP.
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 application 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 Profile for HTTP application enabled for SSL traffic
      avi_applicationprofile:
        controller: '{{ controller }}'
        username: '{{ username }}'
        password: '{{ password }}'
        http_profile:
          cache_config:
            age_header: true
            aggressive: false
            date_header: true
            default_expire: 600
            enabled: false
            heuristic_expire: false
            max_cache_size: 0
            max_object_size: 4194304
            mime_types_group_refs:
            - admin:System-Cacheable-Resource-Types
            min_object_size: 100
            query_cacheable: false
            xcache_header: true
          client_body_timeout: 0
          client_header_timeout: 10000
          client_max_body_size: 0
          client_max_header_size: 12
          client_max_request_size: 48
          compression_profile:
            compressible_content_ref: admin:System-Compressible-Content-Types
            compression: false
            remove_accept_encoding_header: true
            type: AUTO_COMPRESSION
          connection_multiplexing_enabled: true
          hsts_enabled: false
          hsts_max_age: 365
          http_to_https: false
          httponly_enabled: false
          keepalive_header: false
          keepalive_timeout: 30000
          max_bad_rps_cip: 0
          max_bad_rps_cip_uri: 0
          max_bad_rps_uri: 0
          max_rps_cip: 0
          max_rps_cip_uri: 0
          max_rps_unknown_cip: 0
          max_rps_unknown_uri: 0
          max_rps_uri: 0
          post_accept_timeout: 30000
          secure_cookie_enabled: false
          server_side_redirect_to_https: false
          spdy_enabled: false
          spdy_fwd_proxy_mode: false
          ssl_client_certificate_mode: SSL_CLIENT_CERTIFICATE_NONE
          ssl_everywhere_enabled: false
          websockets_enabled: true
          x_forwarded_proto_enabled: false
          xff_alternate_name: X-Forwarded-For
          xff_enabled: true
        name: System-HTTP
        tenant_ref: admin
        type: APPLICATION_PROFILE_TYPE_HTTP

## Return Values

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

Key | Returned | Description
--- | --- | ---
obj dictionary | success, changed | ApplicationProfile (api/applicationprofile) 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.