Documentation

avi_pool - Module for setup of Pool Avi RESTful Object

New in version 2.3.

Synopsis

Options

parameter required default choices comments
a_pool
no
Name of container cloud application that constitutes a pool in a a-b pool configuration, if different from vs app.
ab_pool
no
A/b pool configuration.
ab_priority
no
Priority of this pool in a a-b pool pair.
Internally used.
apic_epg_name
no
Synchronize cisco apic epg members with pool servers.
application_persistence_profile_ref
no
Persistence will ensure the same user sticks to the same server for a desired duration of time.
It is a reference to an object of type applicationpersistenceprofile.
autoscale_launch_config_ref
no
Reference to the launch configuration profile.
It is a reference to an object of type autoscalelaunchconfig.
autoscale_networks
no
Network ids for the launch configuration.
autoscale_policy_ref
no
Reference to server autoscale policy.
It is a reference to an object of type serverautoscalepolicy.
capacity_estimation
no
Inline estimation of capacity of servers.
Default value when not specified in API or module is interpreted by Avi Controller as False.
capacity_estimation_ttfb_thresh
no
The maximum time-to-first-byte of a server.
Default value when not specified in API or module is interpreted by Avi Controller as 0.
cloud_config_cksum
no
Checksum of cloud configuration for pool.
Internally set by cloud connector.
cloud_ref
no
It is a reference to an object of type cloud.
connection_ramp_duration
no
Duration for which new connections will be gradually ramped up to a server recently brought online.
Useful for lb algorithms that are least connection based.
Default value when not specified in API or module is interpreted by Avi Controller as 10.
controller
no
IP address or hostname of the controller. The default value is the environment variable AVI_CONTROLLER.
created_by
no
Creator name.
default_server_port
no
Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute.
The ssl checkbox enables avi to server encryption.
Default value when not specified in API or module is interpreted by Avi Controller as 80.
description
no
A description of the pool.
domain_name
no
Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates.
It is performed only when common name check host_check_enabled is enabled.
east_west
no
Inherited config from virtualservice.
enabled
no
Enable or disable the pool.
Disabling will terminate all open connections and pause health monitors.
Default value when not specified in API or module is interpreted by Avi Controller as True.
fail_action
no
Enable an action - close connection, http redirect, local http response, or backup pool - when a pool failure happens.
By default, a connection will be closed, in case the pool experiences a failure.
fewest_tasks_feedback_delay
no
Periodicity of feedback for fewest tasks server selection algorithm.
Default value when not specified in API or module is interpreted by Avi Controller as 10.
graceful_disable_timeout
no
Used to gracefully disable a server.
Virtual service waits for the specified time before terminating the existing connections to the servers that are disabled.
Default value when not specified in API or module is interpreted by Avi Controller as 1.
health_monitor_refs
no
Verify server health by applying one or more health monitors.
Active monitors generate synthetic traffic from each service engine and mark a server up or down based on the response.
The passive monitor listens only to client to server communication.
It raises or lowers the ratio of traffic destined to a server based on successful responses.
It is a reference to an object of type healthmonitor.
host_check_enabled
no
Enable common name check for server certificate.
If enabled and no explicit domain name is specified, avi will use the incoming host header to do the match.
Default value when not specified in API or module is interpreted by Avi Controller as False.
inline_health_monitor
no
The passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.
This may alter the expected behavior of the lb method, such as round robin.
Default value when not specified in API or module is interpreted by Avi Controller as True.
ipaddrgroup_ref
no
Use list of servers from ip address group.
It is a reference to an object of type ipaddrgroup.
lb_algorithm
no
The load balancing algorithm will pick a server within the pool's list of available servers.
Default value when not specified in API or module is interpreted by Avi Controller as LB_ALGORITHM_LEAST_CONNECTIONS.
lb_algorithm_consistent_hash_hdr
no
Http header name to be used for the hash key.
lb_algorithm_hash
no
Criteria used as a key for determining the hash between the client and server.
Default value when not specified in API or module is interpreted by Avi Controller as LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS.
max_concurrent_connections_per_server
no
The maximum number of concurrent connections allowed to each server within the pool.
Default value when not specified in API or module is interpreted by Avi Controller as 0.
max_conn_rate_per_server
no
Rate limit connections to each server.
name
yes
The name of the pool.
networks
no
(internal-use) networks designated as containing servers for this pool.
The servers may be further narrowed down by a filter.
This field is used internally by avi, not editable by the user.
password
no
Password of Avi user in Avi controller. The default value is the environment variable AVI_PASSWORD.
pki_profile_ref
no
Avi will validate the ssl certificate present by a server against the selected pki profile.
It is a reference to an object of type pkiprofile.
placement_networks
no
Manually select the networks and subnets used to provide reachability to the pool's servers.
Specify the subnet using the following syntax 10-1-1-0/24.
Use static routes in vrf configuration when pool servers are not directly connected butroutable from the service engine.
prst_hdr_name
no
Header name for custom header persistence.
request_queue_depth
no
Minimum number of requests to be queued when pool is full.
Default value when not specified in API or module is interpreted by Avi Controller as 128.
request_queue_enabled
no
Enable request queue when pool is full.
Default value when not specified in API or module is interpreted by Avi Controller as False.
rewrite_host_header_to_server_name
no
Rewrite incoming host header to server name of the server to which the request is proxied.
Enabling this feature rewrites host header for requests to all servers in the pool.
Default value when not specified in API or module is interpreted by Avi Controller as False.
rewrite_host_header_to_sni
no
If sni server name is specified, rewrite incoming host header to the sni server name.
Default value when not specified in API or module is interpreted by Avi Controller as False.
server_auto_scale
no
Server autoscale.
Not used anymore.
Default value when not specified in API or module is interpreted by Avi Controller as False.
server_count
no
Number of server_count.
Default value when not specified in API or module is interpreted by Avi Controller as 0.
server_name
no
Fully qualified dns hostname which will be used in the tls sni extension in server connections if sni is enabled.
If no value is specified, avi will use the incoming host header instead.
server_reselect
no
Server reselect configuration for http requests.
servers
no
The pool directs load balanced traffic to this list of destination servers.
The servers can be configured by ip address, name, network or via ip address group.
sni_enabled
no
Enable tls sni for server connections.
If disabled, avi will not send the sni extension as part of the handshake.
Default value when not specified in API or module is interpreted by Avi Controller as True.
ssl_key_and_certificate_ref
no
Service engines will present a client ssl certificate to the server.
It is a reference to an object of type sslkeyandcertificate.
ssl_profile_ref
no
When enabled, avi re-encrypts traffic to the backend servers.
The specific ssl profile defines which ciphers and ssl versions will be supported.
It is a reference to an object of type sslprofile.
state
no present
  • absent
  • present
The state that should be applied on the entity.
tenant
no admin
Name of tenant used for all Avi API calls and context of object.
tenant_ref
no
It is a reference to an object of type tenant.
tenant_uuid
no
UUID of tenant used for all Avi API calls and context of object.
url
no
Avi controller URL of the object.
use_service_port
no
Do not translate the client's destination port when sending the connection to the server.
The pool or servers specified service port will still be used for health monitoring.
Default value when not specified in API or module is interpreted by Avi Controller as False.
username
no
Username used for accessing Avi controller. The default value is the environment variable AVI_USERNAME.
uuid
no
Uuid of the pool.
vrf_ref
no
Virtual routing context that the pool is bound to.
This is used to provide the isolation of the set of networks the pool is attached to.
The pool inherits the virtual routing conext of the virtual service, and this field is used only internally, and is set by pb-transform.
It is a reference to an object of type vrfcontext.

Examples

- name: Create a Pool with two servers and HTTP monitor
  avi_pool:
    controller: 10.10.1.20
    username: avi_user
    password: avi_password
    name: testpool1
    description: testpool1
    state: present
    health_monitor_refs:
        - '/api/healthmonitor?name=System-HTTP'
    servers:
        - ip:
            addr: 10.10.2.20
            type: V4
        - ip:
            addr: 10.10.2.21
            type: V4

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 Pool (api/pool) object success, changed dict


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Support

This module is community maintained without core committer oversight.

For more information on what this means please read Module Support

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.