community.general.avi_serviceenginegroup (0.1.1) — module

Module for setup of ServiceEngineGroup Avi RESTful Object

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

preview | supported by community

Install collection

Install with ansible-galaxy collection install community.general:==0.1.1


Add to requirements.yml

  collections:
    - name: community.general
      version: 0.1.1

Description

This module is used to configure ServiceEngineGroup object

more examples at U(https://github.com/avinetworks/devops)


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Example to create ServiceEngineGroup object
  avi_serviceenginegroup:
    controller: 10.10.25.42
    username: admin
    password: something
    state: present
    name: sample_serviceenginegroup

Inputs

    
url:
    description:
    - Avi controller URL of the object.

algo:
    description:
    - In compact placement, virtual services are placed on existing ses until max_vs_per_se
      limit is reached.
    - Enum options - PLACEMENT_ALGO_PACKED, PLACEMENT_ALGO_DISTRIBUTED.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as PLACEMENT_ALGO_PACKED.

name:
    description:
    - Name of the object.
    required: true

uuid:
    description:
    - Unique object identifier of the object.

state:
    choices:
    - absent
    - present
    default: present
    description:
    - The state that should be applied on the entity.

max_se:
    description:
    - Maximum number of services engines in this group.
    - Allowed values are 0-1000.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 10.

min_se:
    description:
    - Minimum number of services engines in this group (relevant for se autorebalance
      only).
    - Allowed values are 0-1000.
    - Field introduced in 17.2.13,18.1.3,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

tenant:
    default: admin
    description:
    - Name of tenant used for all Avi API calls and context of object.
    type: str

ha_mode:
    description:
    - High availability mode for all the virtual services using this service engine group.
    - Enum options - HA_MODE_SHARED_PAIR, HA_MODE_SHARED, HA_MODE_LEGACY_ACTIVE_STANDBY.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as HA_MODE_SHARED.

per_app:
    description:
    - Per-app se mode is designed for deploying dedicated load balancers per app (vs).
    - In this mode, each se is limited to a max of 2 vss.
    - Vcpus in per-app ses count towards licensing usage at 25% rate.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

vip_asg:
    description:
    - When vip_asg is set, vip configuration will be managed by avi.user will be able
      to configure vip_asg or vips individually at the time of create.
    - Field introduced in 17.2.12, 18.1.2.

iptables:
    description:
    - Iptables rules.

password:
    default: ''
    description:
    - Password of Avi user in Avi controller. The default value is the environment variable
      C(AVI_PASSWORD).
    type: str

username:
    default: ''
    description:
    - Username used for accessing Avi controller. The default value is the environment
      variable C(AVI_USERNAME).
    type: str

async_ssl:
    description:
    - Ssl handshakes will be handled by dedicated ssl threads.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

buffer_se:
    description:
    - Excess service engine capacity provisioned for ha failover.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

cloud_ref:
    description:
    - It is a reference to an object of type cloud.

controller:
    default: ''
    description:
    - IP address or hostname of the controller. The default value is the environment variable
      C(AVI_CONTROLLER).
    type: str

custom_tag:
    description:
    - Custom tag will be used to create the tags for se instance in aws.
    - Note this is not the same as the prefix for se name.

hypervisor:
    description:
    - Override default hypervisor.
    - Enum options - DEFAULT, VMWARE_ESX, KVM, VMWARE_VSAN, XEN.

log_disksz:
    description:
    - Maximum disk capacity (in mb) to be allocated to an se.
    - This is exclusively used for debug and log data.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 10000.

se_routing:
    description:
    - Enable routing via service engine datapath.
    - When disabled, routing is done by the linux kernel.
    - Ip routing needs to be enabled in service engine group for se routing to be effective.
    - Field introduced in 18.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

tenant_ref:
    description:
    - It is a reference to an object of type tenant.

allow_burst:
    description:
    - Allow ses to be created using burst license.
    - Field introduced in 17.2.5.
    type: bool

api_context:
    description:
    - Avi API context that includes current session ID and CSRF Token.
    - This allows user to perform single login and re-use the session.
    type: dict

api_version:
    default: 16.4.4
    description:
    - Avi API version of to use for Avi API and objects.
    type: str

cpu_reserve:
    description:
    - Boolean flag to set cpu_reserve.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

description:
    description:
    - User defined description for the object.

disable_gro:
    description:
    - Disable generic receive offload (gro) in dpdk poll-mode driver packet receive path.
    - Gro is on by default on nics that do not support lro (large receive offload) or
      do not gain performance boost from lro.
    - Field introduced in 17.2.5, 18.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

disable_tso:
    description:
    - Disable tcp segmentation offload (tso) in dpdk poll-mode driver packet transmit
      path.
    - Tso is on by default on nics that support it.
    - Field introduced in 17.2.5, 18.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

disk_per_se:
    description:
    - Amount of disk space for each of the service engine virtual machines.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 10.

enable_vmac:
    description:
    - Use virtual mac address for interfaces on which floating interface ips are placed.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

mem_reserve:
    description:
    - Boolean flag to set mem_reserve.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

mgmt_subnet:
    description:
    - Management subnet to use for avi service engines.

se_dpdk_pmd:
    description:
    - Determines if dpdk pool mode driver should be used or not   0  automatically determine
      based on hypervisor/nic type 1  unconditionally use dpdk
    - poll mode driver 2  don't use dpdk poll mode driver.
    - Allowed values are 0-2.
    - Field introduced in 18.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

se_use_dpdk:
    description:
    - Determines if dpdk library should be used or not   0  automatically determine based
      on hypervisor type 1  use dpdk if pcap is not enabled 2
    - don't use dpdk.
    - Allowed values are 0-2.
    - Field introduced in 18.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

tenant_uuid:
    default: ''
    description:
    - UUID of tenant used for all Avi API calls and context of object.
    type: str

waf_mempool:
    description:
    - Enable memory pool for waf.
    - Field introduced in 17.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

license_tier:
    description:
    - Specifies the license tier which would be used.
    - This field by default inherits the value from cloud.
    - Enum options - ENTERPRISE_16, ENTERPRISE_18.
    - Field introduced in 17.2.5.

license_type:
    description:
    - If no license type is specified then default license enforcement for the cloud type
      is chosen.
    - Enum options - LIC_BACKEND_SERVERS, LIC_SOCKETS, LIC_CORES, LIC_HOSTS, LIC_SE_BANDWIDTH,
      LIC_METERED_SE_BANDWIDTH.
    - Field introduced in 17.2.5.

vcpus_per_se:
    description:
    - Number of vcpus for each of the service engine virtual machines.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

hm_on_standby:
    description:
    - Enable active health monitoring from the standby se for all placed virtual services.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

max_cpu_usage:
    description:
    - When cpu usage on an se exceeds this threshold, virtual services hosted on this
      se may be rebalanced to other ses to reduce load.
    - A new se may be created as part of this process.
    - Allowed values are 40-90.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 80.

max_vs_per_se:
    description:
    - Maximum number of virtual services that can be placed on a single service engine.
    - East west virtual services are excluded from this limit.
    - Allowed values are 1-1000.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 10.

memory_per_se:
    description:
    - Amount of memory for each of the service engine virtual machines.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 2048.

min_cpu_usage:
    description:
    - When cpu usage on an se falls below the minimum threshold, virtual services hosted
      on the se may be consolidated onto other underutilized ses.
    - After consolidation, unused service engines may then be eligible for deletion.
    - Allowed values are 20-60.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 30.

se_probe_port:
    description:
    - Tcp port on se where echo service will be run.
    - Field introduced in 17.2.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 7.

se_sb_threads:
    description:
    - Number of sideband threads per se.
    - Allowed values are 1-128.
    - Field introduced in 16.5.2, 17.1.9, 17.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

vcenter_hosts:
    description:
    - Vcenterhosts settings for serviceenginegroup.

vss_placement:
    description:
    - Parameters to place virtual services on only a subset of the cores of an se.
    - Field introduced in 17.2.5.

active_standby:
    description:
    - Service engines in active/standby mode for ha failover.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

auto_rebalance:
    description:
    - If set, virtual services will be automatically migrated when load on an se is less
      than minimum or more than maximum thresholds.
    - Only alerts are generated when the auto_rebalance is not set.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

enable_routing:
    description:
    - Enable routing for this serviceenginegroup .
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

free_list_size:
    description:
    - Number of entries in the free list.
    - Field introduced in 17.2.10, 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1024.

placement_mode:
    description:
    - If placement mode is 'auto', virtual services are automatically placed on service
      engines.
    - Enum options - PLACEMENT_MODE_AUTO.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as PLACEMENT_MODE_AUTO.

reboot_on_stop:
    description:
    - Reboot the system if the se is stopped.
    - Field introduced in 17.2.16,18.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

se_dos_profile:
    description:
    - Dosthresholdprofile settings for serviceenginegroup.

se_name_prefix:
    description:
    - Prefix to use for virtual machine name of service engines.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as Avi.

se_tunnel_mode:
    description:
    - Determines if dsr from secondary se is active or not  0  automatically determine
      based on hypervisor type.
    - 1  disable dsr unconditionally.
    - 2  enable dsr unconditionally.
    - Allowed values are 0-2.
    - Field introduced in 17.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

vcenter_folder:
    description:
    - Folder to place all the service engine virtual machines in vcenter.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as AviSeFolder.

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

data_network_id:
    description:
    - Subnet used to spin up the data nic for service engines, used only for azure cloud.
    - Overrides the cloud level setting for service engine subnet.
    - Field introduced in 18.2.3.

enable_multi_lb:
    description:
    - Applicable only for azure cloud with basic sku lb.
    - If set, additional azure lbs will be automatically created if resources in existing
      lb are exhausted.
    - Field introduced in 17.2.10, 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

instance_flavor:
    description:
    - Instance/flavor name for se instance.

se_ipc_udp_port:
    description:
    - Udp port for se_dp ipc in docker bridge mode.
    - Field introduced in 17.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1500.

avi_api_patch_op:
    choices:
    - add
    - replace
    - delete
    description:
    - Patch operation to use when using avi_api_update_method as patch.

floating_intf_ip:
    description:
    - If serviceenginegroup is configured for legacy 1+1 active standby ha mode, floating
      ip's will be advertised only by the active se in the pair.
    - Virtual services in this group must be disabled/enabled for any changes to the floating
      ip's to take effect.
    - Only active se hosting vs tagged with active standby se 1 tag will advertise this
      floating ip when manual load distribution is enabled.

max_rules_per_lb:
    description:
    - Applicable to azure platform only.
    - Maximum number of rules per azure lb.
    - Field introduced in 17.2.12, 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 150.

mgmt_network_ref:
    description:
    - Management network to use for avi service engines.
    - It is a reference to an object of type network.

se_udp_encap_ipc:
    description:
    - Determines if se-se ipc messages are encapsulated in a udp header  0  automatically
      determine based on hypervisor type.
    - 1  use udp encap unconditionally.
    - Allowed values are 0-1.
    - Field introduced in 17.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

self_se_election:
    description:
    - Enable ses to elect a primary amongst themselves in the absence of a connectivity
      to controller.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

udf_log_throttle:
    description:
    - This setting limits the number of udf logs generated per second per core on this
      se.
    - Udf logs are generated due to the configured client log filters or the rules with
      logging enabled.
    - Default is 100 logs per second.
    - Set it to zero (0) to disable throttling.
    - Field introduced in 17.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 100.

use_standard_alb:
    description:
    - Use standard sku azure load balancer.
    - By default cloud level flag is set.
    - If not set, it inherits/uses the use_standard_alb flag from the cloud.
    - Field introduced in 18.2.3.
    type: bool

vcenter_clusters:
    description:
    - Vcenterclusters settings for serviceenginegroup.

waf_mempool_size:
    description:
    - Memory pool size used for waf.
    - Field introduced in 17.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 64.

app_cache_percent:
    description:
    - A percent value of total se memory reserved for application caching.
    - This is an se bootup property and requires se restart.
    - Allowed values are 0 - 100.
    - Special values are 0- 'disable'.
    - Field introduced in 18.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

archive_shm_limit:
    description:
    - Amount of se memory in gb until which shared memory is collected in core archive.
    - Field introduced in 17.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 8.

async_ssl_threads:
    description:
    - Number of async ssl threads per se_dp.
    - Allowed values are 1-16.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

distribute_queues:
    description:
    - Distributes queue ownership among cores so multiple cores handle dispatcher duties.
    - Field introduced in 17.2.8.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

se_bandwidth_type:
    description:
    - Select the se bandwidth for the bandwidth license.
    - Enum options - SE_BANDWIDTH_UNLIMITED, SE_BANDWIDTH_25M, SE_BANDWIDTH_200M, SE_BANDWIDTH_1000M,
      SE_BANDWIDTH_10000M.
    - Field introduced in 17.2.5.

se_pcap_lookahead:
    description:
    - Enables lookahead mode of packet receive in pcap mode.
    - Introduced to overcome an issue with hv_netvsc driver.
    - Lookahead mode attempts to ensure that application and kernel's view of the receive
      rings are consistent.
    - Field introduced in 18.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

datascript_timeout:
    description:
    - Number of instructions before datascript times out.
    - Allowed values are 0-100000000.
    - Field introduced in 18.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1000000.

enable_hsm_priming:
    description:
    - (this is a beta feature).
    - Enable hsm key priming.
    - If enabled, key handles on the hsm will be synced to se before processing client
      connections.
    - Field introduced in 17.2.7, 18.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

host_attribute_key:
    description:
    - Key of a (key, value) pair identifying a label for a set of nodes usually in container
      clouds.
    - Needs to be specified together with host_attribute_value.
    - Ses can be configured differently including ha modes across different se groups.
    - May also be used for isolation between different classes of virtualservices.
    - Virtualservices' se group may be specified via annotations/labels.
    - A openshift/kubernetes namespace maybe annotated with a matching se group label
      as openshift.io/node-selector  apptype=prod.
    - When multiple se groups are used in a cloud with host attributes specified,just
      a single se group can exist as a match-all se group without a
    - host_attribute_key.

os_reserved_memory:
    description:
    - Amount of extra memory to be reserved for use by the operating system on a service
      engine.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

se_tunnel_udp_port:
    description:
    - Udp port for tunneled packets from secondary to primary se in docker bridge mode.
    - Field introduced in 17.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1550.

service_ip_subnets:
    description:
    - Subnets assigned to the se group.
    - Required for vs group placement.
    - Field introduced in 17.1.1.

vcenter_datastores:
    description:
    - List of vcenterdatastore.

vs_host_redundancy:
    description:
    - Ensure primary and secondary service engines are deployed on different physical
      hosts.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

vs_scalein_timeout:
    description:
    - Time to wait for the scaled in se to drain existing flows before marking the scalein
      done.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 30.

cpu_socket_affinity:
    description:
    - Allocate all the cpu cores for the service engine virtual machines  on the same
      cpu socket.
    - Applicable only for vcenter cloud.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

ingress_access_data:
    description:
    - Program se security group ingress rules to allow vip data access from remote cidr
      type.
    - Enum options - SG_INGRESS_ACCESS_NONE, SG_INGRESS_ACCESS_ALL, SG_INGRESS_ACCESS_VPC.
    - Field introduced in 17.1.5.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as SG_INGRESS_ACCESS_ALL.

ingress_access_mgmt:
    description:
    - Program se security group ingress rules to allow ssh/icmp management access from
      remote cidr type.
    - Enum options - SG_INGRESS_ACCESS_NONE, SG_INGRESS_ACCESS_ALL, SG_INGRESS_ACCESS_VPC.
    - Field introduced in 17.1.5.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as SG_INGRESS_ACCESS_ALL.

max_scaleout_per_vs:
    description:
    - Maximum number of active service engines for the virtual service.
    - Allowed values are 1-64.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 4.

min_scaleout_per_vs:
    description:
    - Minimum number of active service engines for the virtual service.
    - Allowed values are 1-64.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

realtime_se_metrics:
    description:
    - Enable or disable real time se metrics.

se_flow_probe_timer:
    description:
    - Timeout in milliseconds for flow probe entries.
    - Allowed values are 10-200.
    - Field introduced in 18.1.4, 18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 100.

service_ip6_subnets:
    description:
    - Ipv6 subnets assigned to the se group.
    - Required for vs group placement.
    - Field introduced in 18.1.1.

vs_scaleout_timeout:
    description:
    - Time to wait for the scaled out se to become ready before marking the scaleout done.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 600.

waf_learning_memory:
    description:
    - Amount of memory reserved on se for waf learning.
    - Cannot exceed 5% of se memory.
    - Field deprecated in 18.2.3.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

host_attribute_value:
    description:
    - Value of a (key, value) pair identifying a label for a set of nodes usually in container
      clouds.
    - Needs to be specified together with host_attribute_key.

host_gateway_monitor:
    description:
    - Enable the host gateway monitor when service engine is deployed as docker container.
    - Disabled by default.
    - Field introduced in 17.2.4.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

ignore_rtt_threshold:
    description:
    - Ignore rtt samples if it is above threshold.
    - Field introduced in 17.1.6,17.2.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 5000.

num_dispatcher_cores:
    description:
    - Number of dispatcher cores (0,1,2,4,8 or 16).
    - If set to 0, then number of dispatcher cores is deduced automatically.
    - Allowed values are 0,1,2,4,8,16.
    - Field introduced in 17.2.12, 18.1.3, 18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

se_deprovision_delay:
    description:
    - Duration to preserve unused service engine virtual machines before deleting them.
    - If traffic to a virtual service were to spike up abruptly, this se would still be
      available to be utilized again rather than creating a new se.
    - If this value is set to 0, controller will never delete any ses and administrator
      has to manually cleanup unused ses.
    - Allowed values are 0-525600.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 120.

se_sb_dedicated_core:
    description:
    - Sideband traffic will be handled by a dedicated core.
    - Field introduced in 16.5.2, 17.1.9, 17.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

se_thread_multiplier:
    description:
    - Multiplier for se threads based on vcpu.
    - Allowed values are 1-10.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

avi_api_update_method:
    choices:
    - put
    - patch
    default: put
    description:
    - Default method for object update is HTTP PUT.
    - Setting to patch will override that behavior to use HTTP PATCH.

disable_csum_offloads:
    description:
    - Stop using tcp/udp and ip checksum offload features of nics.
    - Field introduced in 17.1.14, 17.2.5, 18.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

floating_intf_ip_se_2:
    description:
    - If serviceenginegroup is configured for legacy 1+1 active standby ha mode, floating
      ip's will be advertised only by the active se in the pair.
    - Virtual services in this group must be disabled/enabled for any changes to the floating
      ip's to take effect.
    - Only active se hosting vs tagged with active standby se 2 tag will advertise this
      floating ip when manual load distribution is enabled.

max_public_ips_per_lb:
    description:
    - Applicable to azure platform only.
    - Maximum number of public ips per azure lb.
    - Field introduced in 17.2.12, 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 30.

se_flow_probe_retries:
    description:
    - Flow probe retry count if no replies are received.
    - Allowed values are 0-5.
    - Field introduced in 18.1.4, 18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 2.

se_tracert_port_range:
    description:
    - Traceroute port range.
    - Field introduced in 17.2.8.

vs_switchover_timeout:
    description:
    - During se upgrade in a legacy active/standby segroup, time to wait for the new primary
      se to accept flows before marking the switchover done.
    - Field introduced in 17.2.13,18.1.4,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 300.

vss_placement_enabled:
    description:
    - If set, virtual services will be placed on only a subset of the cores of an se.
    - Field introduced in 18.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

waf_learning_interval:
    description:
    - Frequency with which se publishes waf learning.
    - Allowed values are 1-43200.
    - Field deprecated in 18.2.3.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 10.

accelerated_networking:
    description:
    - Enable accelerated networking option for azure se.
    - Accelerated networking enables single root i/o virtualization (sr-iov) to a se vm.
    - This improves networking performance.
    - Field introduced in 17.2.14,18.1.5,18.2.1.
    type: bool

max_memory_per_mempool:
    description:
    - Max bytes that can be allocated in a single mempool.
    - Field introduced in 18.1.5.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 64.

se_vs_hb_max_vs_in_pkt:
    description:
    - Maximum number of virtualservices for which heartbeat messages are aggregated in
      one packet.
    - Allowed values are 1-1024.
    - Field introduced in 17.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 256.

vcenter_datastore_mode:
    description:
    - Enum options - vcenter_datastore_any, vcenter_datastore_local, vcenter_datastore_shared.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as VCENTER_DATASTORE_ANY.

auto_rebalance_criteria:
    description:
    - Set of criteria for se auto rebalance.
    - Enum options - SE_AUTO_REBALANCE_CPU, SE_AUTO_REBALANCE_PPS, SE_AUTO_REBALANCE_MBPS,
      SE_AUTO_REBALANCE_OPEN_CONNS, SE_AUTO_REBALANCE_CPS.
    - Field introduced in 17.2.3.

auto_rebalance_interval:
    description:
    - Frequency of rebalance, if 'auto rebalance' is enabled.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 300.

disable_se_memory_check:
    description:
    - If set, disable the config memory check done in service engine.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

ephemeral_portrange_end:
    description:
    - End local ephemeral port number for outbound connections.
    - Field introduced in 17.2.13, 18.1.5, 18.2.1.

extra_config_multiplier:
    description:
    - Multiplier for extra config to support large vs/pool config.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.0.

n_log_streaming_threads:
    description:
    - Number of threads to use for log streaming.
    - Allowed values are 1-100.
    - Field introduced in 17.2.12, 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1.

se_remote_punt_udp_port:
    description:
    - Udp port for punted packets in docker bridge mode.
    - Field introduced in 17.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 1501.

additional_config_memory:
    description:
    - Indicates the percent of config memory used for config updates.
    - Allowed values are 0-90.
    - Field deprecated in 18.1.2.
    - Field introduced in 18.1.1.

memory_for_config_update:
    description:
    - Indicates the percent of memory reserved for config updates.
    - Allowed values are 0-100.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 15.

se_pcap_reinit_frequency:
    description:
    - Frequency in seconds at which periodically a pcap reinit check is triggered.
    - May be used in conjunction with the configuration pcap_reinit_threshold.
    - (valid range   15 mins - 12 hours, 0 - disables).
    - Allowed values are 900-43200.
    - Special values are 0- 'disable'.
    - Field introduced in 17.2.13, 18.1.3, 18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

se_pcap_reinit_threshold:
    description:
    - Threshold for input packet receive errors in pcap mode exceeding which a pcap reinit
      is triggered.
    - If not set, an unconditional reinit is performed.
    - This value is checked every pcap_reinit_frequency interval.
    - Field introduced in 17.2.13, 18.1.3, 18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

significant_log_throttle:
    description:
    - This setting limits the number of significant logs generated per second per core
      on this se.
    - Default is 100 logs per second.
    - Set it to zero (0) to disable throttling.
    - Field introduced in 17.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 100.

bgp_state_update_interval:
    description:
    - Bgp peer state update interval.
    - Allowed values are 5-100.
    - Field introduced in 17.2.14,18.1.5,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 10.

dedicated_dispatcher_core:
    description:
    - Dedicate the core that handles packet receive/transmit from the network to just
      the dispatching function.
    - Don't use it for tcp/ip and ssl functions.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

ephemeral_portrange_start:
    description:
    - Start local ephemeral port number for outbound connections.
    - Field introduced in 17.2.13, 18.1.5, 18.2.1.

least_load_core_selection:
    description:
    - Select core with least load for new flow.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

minimum_connection_memory:
    description:
    - Indicates the percent of memory reserved for connections.
    - Allowed values are 0-100.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 20.

shm_minimum_config_memory:
    description:
    - Minimum required shared memory to apply any configuration.
    - Allowed values are 0-100.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 4.

advertise_backend_networks:
    description:
    - Advertise reach-ability of backend server networks via adc through bgp for default
      gateway feature.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

config_debugs_on_all_cores:
    description:
    - Enable config debugs on all cores of se.
    - Field introduced in 17.2.13,18.1.5,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

custom_securitygroups_data:
    description:
    - Custom security groups to be associated with data vnics for se instances in openstack
      and aws clouds.
    - Field introduced in 17.1.3.

custom_securitygroups_mgmt:
    description:
    - Custom security groups to be associated with management vnic for se instances in
      openstack and aws clouds.
    - Field introduced in 17.1.3.

disable_avi_securitygroups:
    description:
    - By default, avi creates and manages security groups along with custom sg provided
      by user.
    - Set this to true to disallow avi to create and manage new security groups.
    - Avi will only make use of custom security groups provided by user.
    - This option is only supported for aws cloud type.
    - Field introduced in 17.2.13,18.1.4,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

extra_shared_config_memory:
    description:
    - Extra config memory to support large geo db configuration.
    - Field introduced in 17.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

heap_minimum_config_memory:
    description:
    - Minimum required heap memory to apply any configuration.
    - Allowed values are 0-100.
    - Field introduced in 18.1.2.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 8.

se_vs_hb_max_pkts_in_batch:
    description:
    - Maximum number of aggregated vs heartbeat packets to send in a batch.
    - Allowed values are 1-256.
    - Field introduced in 17.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 64.

vcenter_datastores_include:
    description:
    - Boolean flag to set vcenter_datastores_include.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

app_learning_memory_percent:
    description:
    - A percent value of total se memory reserved for application learning.
    - This is an se bootup property and requires se restart.
    - Allowed values are 0 - 10.
    - Field introduced in 18.2.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

openstack_availability_zone:
    description:
    - Field deprecated in 17.1.1.

openstack_mgmt_network_name:
    description:
    - Avi management network name.

openstack_mgmt_network_uuid:
    description:
    - Management network uuid.

ssl_preprocess_sni_hostname:
    description:
    - (beta) preprocess ssl client hello for sni hostname extension.if set to true, this
      will apply sni child's ssl protocol(s), if they are different
    - from sni parent's allowed ssl protocol(s).
    - Field introduced in 17.2.12, 18.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

aggressive_failure_detection:
    description:
    - Enable aggressive failover configuration for ha.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

connection_memory_percentage:
    description:
    - Percentage of memory for connection state.
    - This will come at the expense of memory used for http in-memory cache.
    - Allowed values are 10-90.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 50.

enable_vip_on_all_interfaces:
    description:
    - Enable vip on all interfaces of se.
    - Field introduced in 17.1.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as True.
    type: bool

non_significant_log_throttle:
    description:
    - This setting limits the number of non-significant logs generated per second per
      core on this se.
    - Default is 100 logs per second.
    - Set it to zero (0) to disable throttling.
    - Field introduced in 17.1.3.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 100.

openstack_availability_zones:
    description:
    - Field introduced in 17.1.1.

vs_se_scaleout_ready_timeout:
    description:
    - Timeout in seconds for service engine to sendscaleout ready notification of a virtual
      service.
    - Allowed values are 0-60.
    - Field introduced in 18.1.5,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 25.

auto_rebalance_capacity_per_se:
    description:
    - Capacities of se for auto rebalance for each criteria.
    - Field introduced in 17.2.4.

distribute_load_active_standby:
    description:
    - Use both the active and standby service engines for virtual service placement in
      the legacy active standby ha mode.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

flow_table_new_syn_max_entries:
    description:
    - Maximum number of flow table entries that have not completed tcp three-way handshake
      yet.
    - Field introduced in 17.2.5.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

minimum_required_config_memory:
    description:
    - Required available config memory to apply any configuration.
    - Allowed values are 0-90.
    - Field deprecated in 18.1.2.
    - Field introduced in 18.1.1.

vs_scalein_timeout_for_upgrade:
    description:
    - During se upgrade, time to wait for the scaled-in se to drain existing flows before
      marking the scalein done.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 30.

hardwaresecuritymodulegroup_ref:
    description:
    - It is a reference to an object of type hardwaresecuritymodulegroup.

avi_disable_session_cache_as_fact:
    description:
    - It disables avi session information to be cached as a fact.
    type: bool

vs_se_scaleout_additional_wait_time:
    description:
    - Wait time for sending scaleout ready notification after virtual service is marked
      up.
    - In certain deployments, there may be an additional delay to accept traffic.
    - For example, for bgp, some time is needed for route advertisement.
    - Allowed values are 0-20.
    - Field introduced in 18.1.5,18.2.1.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 0.

num_flow_cores_sum_changes_to_ignore:
    description:
    - Number of changes in num flow cores sum to ignore.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as 8.

auto_redistribute_active_standby_load:
    description:
    - Redistribution of virtual services from the takeover se to the replacement se can
      cause momentary traffic loss.
    - If the auto-redistribute load option is left in its default off state, any desired
      rebalancing requires calls to rest api.
    - Default value when not specified in API or module is interpreted by Avi Controller
      as False.
    type: bool

Outputs

obj:
  description: ServiceEngineGroup (api/serviceenginegroup) object
  returned: success, changed
  type: dict