community.network.avi_applicationprofile – Module for setup of ApplicationProfile Avi RESTful Object
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_applicationprofile.
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  | 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  | 
 | Patch operation to use when using avi_api_update_method as patch. | |
| avi_api_update_method  string  | 
 | Default method for object update is HTTP PUT. Setting to patch will override that behavior to use HTTP PATCH. | |
| 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  | 
 | It disables avi session information to be cached as a fact. | |
| cloud_config_cksum  string  | 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  string  | Name of the application profile creator. Field introduced in 17.2.14, 18.1.5, 18.2.1. | ||
| description  string  | User defined description for the object. | ||
| dns_service_profile  string  | Specifies various dns service related controls for virtual service. | ||
| dos_rl_profile  string  | Specifies various security related controls for virtual service. | ||
| http_profile  string  | Specifies the http application proxy profile parameters. | ||
| name  string / 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  | 
 | 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  | 
 | 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  string  | Specifies various sip service related controls for virtual service. Field introduced in 17.2.8, 18.1.3, 18.2.1. | ||
| state  string  | 
 | The state that should be applied on the entity. | |
| tcp_app_profile  string  | 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  string  | 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  string / 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  string  | 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  string  | 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
  community.network.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 | 
Authors
- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>
    © 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_applicationprofile_module.html