ALBPool (type)

{
  "additionalProperties": false, 
  "description": "Advanced load balancer Pool object", 
  "extends": {
    "$ref": "PolicyConfigResource
  }, 
  "id": "ALBPool", 
  "module_id": "PolicyAdvancedLoadBalancer", 
  "properties": {
    "_create_time": {
      "$ref": "EpochMsTimestamp, 
      "can_sort": true, 
      "description": "Timestamp of resource creation", 
      "readonly": true
    }, 
    "_create_user": {
      "description": "ID of the user who created this resource", 
      "readonly": true, 
      "type": "string"
    }, 
    "_last_modified_time": {
      "$ref": "EpochMsTimestamp, 
      "can_sort": true, 
      "description": "Timestamp of last modification", 
      "readonly": true
    }, 
    "_last_modified_user": {
      "description": "ID of the user who last modified this resource", 
      "readonly": true, 
      "type": "string"
    }, 
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_protection": {
      "description": "Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed             to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed                 to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super                    user and can modify it, but only when providing                    the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this           entity.", 
      "readonly": true, 
      "title": "Indicates protection status of this resource", 
      "type": "string"
    }, 
    "_revision": {
      "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", 
      "title": "Generation of this resource config", 
      "type": "int"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "_system_owned": {
      "description": "Indicates system owned resource", 
      "readonly": true, 
      "type": "boolean"
    }, 
    "analytics_policy": {
      "$ref": "ALBPoolAnalyticsPolicy, 
      "description": "Determines analytics settings for the pool.", 
      "required": false, 
      "title": "Analytics policy"
    }, 
    "analytics_profile_path": {
      "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile.", 
      "required": false, 
      "title": "Analytics profile path", 
      "type": "string"
    }, 
    "apic_epg_name": {
      "description": "Synchronize Cisco APIC EPG members with pool servers.", 
      "required": false, 
      "title": "Apic epg name", 
      "type": "string"
    }, 
    "application_persistence_profile_path": {
      "description": "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.", 
      "required": false, 
      "title": "Application persistence profile path", 
      "type": "string"
    }, 
    "autoscale_launch_config_path": {
      "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is a reference to an object of type AutoScaleLaunchConfig.", 
      "required": false, 
      "title": "Autoscale launch config path", 
      "type": "string"
    }, 
    "autoscale_networks": {
      "description": "Network Ids for the launch configuration.", 
      "items": {
        "type": "string"
      }, 
      "required": false, 
      "title": "Autoscale networks", 
      "type": "array"
    }, 
    "autoscale_policy_path": {
      "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy.", 
      "required": false, 
      "title": "Autoscale policy path", 
      "type": "string"
    }, 
    "capacity_estimation": {
      "default": false, 
      "description": "Inline estimation of capacity of servers. Default value when not specified in API or module is interpreted by ALB Controller as false.", 
      "required": false, 
      "title": "Capacity estimation", 
      "type": "boolean"
    }, 
    "capacity_estimation_ttfb_thresh": {
      "default": 0, 
      "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'. Unit is MILLISECONDS. Default value when not specified in API or module is interpreted by ALB Controller as 0.", 
      "maximum": 5000, 
      "minimum": 0, 
      "required": false, 
      "title": "Capacity estimation ttfb thresh", 
      "type": "integer"
    }, 
    "children": {
      "description": "subtree for this type within policy tree containing nested elements.", 
      "items": {
        "$ref": "ChildPolicyConfigResource
      }, 
      "required": false, 
      "title": "subtree for this type within policy tree", 
      "type": "array"
    }, 
    "cloud_config_cksum": {
      "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector.", 
      "required": false, 
      "title": "Cloud config cksum", 
      "type": "string"
    }, 
    "conn_pool_properties": {
      "$ref": "ALBConnPoolProperties, 
      "description": "Connnection pool properties.", 
      "required": false, 
      "title": "Conn pool properties"
    }, 
    "connection_ramp_duration": {
      "default": 10, 
      "description": "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. Allowed values are 1-300. Special values are 0 - 'Immediate'. Unit is MIN. Default value when not specified in API or module is interpreted by ALB Controller as 10.", 
      "maximum": 300, 
      "minimum": 0, 
      "required": false, 
      "title": "Connection ramp duration", 
      "type": "integer"
    }, 
    "created_by": {
      "description": "Creator name.", 
      "required": false, 
      "title": "Created by", 
      "type": "string"
    }, 
    "default_server_port": {
      "default": 80, 
      "description": "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. Allowed values are 1-65535. Default value when not specified in API or module is interpreted by ALB Controller as 80.", 
      "maximum": 65535, 
      "minimum": 1, 
      "required": false, 
      "title": "Default server port", 
      "type": "integer"
    }, 
    "delete_server_on_dns_refresh": {
      "default": true, 
      "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Default value when not specified in API or module is interpreted by ALB Controller as true.", 
      "required": false, 
      "title": "Delete server on dns refresh", 
      "type": "boolean"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "display_name": {
      "can_sort": true, 
      "description": "Defaults to ID if not set", 
      "maxLength": 255, 
      "title": "Identifier to use when displaying entity in logs or GUI", 
      "type": "string"
    }, 
    "domain_name": {
      "description": "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.", 
      "items": {
        "type": "string"
      }, 
      "required": false, 
      "title": "Domain name", 
      "type": "array"
    }, 
    "east_west": {
      "description": "Inherited config from VirtualService.", 
      "required": false, 
      "title": "East west", 
      "type": "boolean"
    }, 
    "enable_http2": {
      "default": false, 
      "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Default value when not specified in API or module is interpreted by ALB Controller as false.", 
      "required": false, 
      "title": "Enable http2", 
      "type": "boolean"
    }, 
    "enabled": {
      "default": true, 
      "description": "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 ALB Controller as true.", 
      "required": false, 
      "title": "Enabled", 
      "type": "boolean"
    }, 
    "external_autoscale_groups": {
      "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure.", 
      "items": {
        "type": "string"
      }, 
      "required": false, 
      "title": "External autoscale groups", 
      "type": "array"
    }, 
    "fail_action": {
      "$ref": "ALBFailAction, 
      "description": "Enable an action - Close Connection, HTTP Redirect or Local HTTP Response - when a pool failure happens. By default, a connection will be closed, in case the pool experiences a failure.", 
      "required": false, 
      "title": "Fail action"
    }, 
    "fewest_tasks_feedback_delay": {
      "default": 10, 
      "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300. Unit is SEC. Default value when not specified in API or module is interpreted by ALB Controller as 10.", 
      "maximum": 300, 
      "minimum": 1, 
      "required": false, 
      "title": "Fewest tasks feedback delay", 
      "type": "integer"
    }, 
    "graceful_disable_timeout": {
      "default": 1, 
      "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'. Unit is MIN. Default value when not specified in API or module is interpreted by ALB Controller as 1.", 
      "maximum": 7200, 
      "minimum": -1, 
      "required": false, 
      "title": "Graceful disable timeout", 
      "type": "integer"
    }, 
    "group_paths": {
      "description": "A list of NSX Groups where the Servers for the Pool are created .", 
      "items": {
        "type": "string"
      }, 
      "required": false, 
      "title": "Group paths", 
      "type": "array"
    }, 
    "gslb_sp_enabled": {
      "description": "Indicates if the pool is a site-persistence pool.", 
      "required": false, 
      "title": "Gslb sp enabled", 
      "type": "boolean"
    }, 
    "health_monitor_paths": {
      "description": "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. Maximum of 50 items allowed.", 
      "items": {
        "type": "string"
      }, 
      "required": false, 
      "title": "Health monitor paths", 
      "type": "array"
    }, 
    "host_check_enabled": {
      "default": false, 
      "description": "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 ALB Controller as false.", 
      "required": false, 
      "title": "Host check enabled", 
      "type": "boolean"
    }, 
    "id": {
      "can_sort": true, 
      "title": "Unique identifier of this resource", 
      "type": "string"
    }, 
    "ignore_server_port": {
      "default": false, 
      "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Default value when not specified in API or module is interpreted by ALB Controller as false.", 
      "required": false, 
      "title": "Ignore server port", 
      "type": "boolean"
    }, 
    "inline_health_monitor": {
      "default": true, 
      "description": "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 ALB Controller as true.", 
      "required": false, 
      "title": "Inline health monitor", 
      "type": "boolean"
    }, 
    "ipaddrgroup_path": {
      "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup.", 
      "required": false, 
      "title": "Ipaddrgroup path", 
      "type": "string"
    }, 
    "lb_algorithm": {
      "$ref": "ALBLbAlgorithm, 
      "default": "LB_ALGORITHM_LEAST_CONNECTIONS", 
      "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Values LB_ALGORITHM_NEAREST_SERVER and LB_ALGORITHM_TOPOLOGY are only allowed for GSLB pool. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY. Default value when not specified in API or module is interpreted by ALB Controller as LB_ALGORITHM_LEAST_CONNECTIONS.", 
      "required": false, 
      "title": "Lb algorithm"
    }, 
    "lb_algorithm_consistent_hash_hdr": {
      "description": "HTTP header name to be used for the hash key.", 
      "required": false, 
      "title": "Lb algorithm consistent hash hdr", 
      "type": "string"
    }, 
    "lb_algorithm_core_nonaffinity": {
      "default": 2, 
      "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Default value when not specified in API or module is interpreted by ALB Controller as 2.", 
      "maximum": 65535, 
      "minimum": 1, 
      "required": false, 
      "title": "Lb algorithm core nonaffinity", 
      "type": "integer"
    }, 
    "lb_algorithm_hash": {
      "$ref": "ALBLbAlgorithmConsistentHash, 
      "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS", 
      "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID. Default value when not specified in API or module is interpreted by ALB Controller as LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS.", 
      "required": false, 
      "title": "Lb algorithm hash"
    }, 
    "lookup_server_by_name": {
      "default": false, 
      "description": "Allow server lookup by name. Default value when not specified in API or module is interpreted by ALB Controller as false.", 
      "required": false, 
      "title": "Lookup server by name", 
      "type": "boolean"
    }, 
    "marked_for_delete": {
      "default": false, 
      "description": "Intent objects are not directly deleted from the system when a delete is invoked on them. They are marked for deletion and only when all the realized entities for that intent object gets deleted, the intent object is deleted. Objects that are marked for deletion are not returned in GET call. One can use the search API to get these objects.", 
      "readonly": true, 
      "required": false, 
      "title": "Indicates whether the intent object is marked for deletion", 
      "type": "boolean"
    }, 
    "max_concurrent_connections_per_server": {
      "default": 0, 
      "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied. Default value when not specified in API or module is interpreted by ALB Controller as 0.", 
      "required": false, 
      "title": "Max concurrent connections per server", 
      "type": "integer"
    }, 
    "max_conn_rate_per_server": {
      "$ref": "ALBRateProfile, 
      "description": "Rate Limit connections to each server.", 
      "required": false, 
      "title": "Max conn rate per server"
    }, 
    "min_health_monitors_up": {
      "description": "Minimum number of health monitors in UP state to mark server UP.", 
      "required": false, 
      "title": "Min health monitors up", 
      "type": "integer"
    }, 
    "min_servers_up": {
      "description": "Minimum number of servers in UP state for marking the pool UP.", 
      "required": false, 
      "title": "Min servers up", 
      "type": "integer"
    }, 
    "networks": {
      "description": "(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.", 
      "items": {
        "$ref": "ALBNetworkFilter
      }, 
      "required": false, 
      "title": "Networks", 
      "type": "array"
    }, 
    "overridden": {
      "default": false, 
      "description": "Global intent objects cannot be modified by the user. However, certain global intent objects can be overridden locally by use of this property. In such cases, the overridden local values take precedence over the globally defined values for the properties.", 
      "readonly": true, 
      "required": false, 
      "title": "Indicates whether this object is the overridden intent object", 
      "type": "boolean"
    }, 
    "parent_path": {
      "description": "Path of its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Path of its parent", 
      "type": "string"
    }, 
    "path": {
      "description": "Absolute path of this object", 
      "readonly": true, 
      "required": false, 
      "title": "Absolute path of this object", 
      "type": "string"
    }, 
    "pki_profile_path": {
      "description": "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.", 
      "required": false, 
      "title": "Pki profile path", 
      "type": "string"
    }, 
    "placement_networks": {
      "description": "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 but routable from the service engine.", 
      "items": {
        "$ref": "ALBPlacementNetwork
      }, 
      "required": false, 
      "title": "Placement networks", 
      "type": "array"
    }, 
    "relative_path": {
      "description": "Path relative from its parent", 
      "readonly": true, 
      "required": false, 
      "title": "Relative path of this object", 
      "type": "string"
    }, 
    "request_queue_depth": {
      "default": 128, 
      "description": "Minimum number of requests to be queued when pool is full. Default value when not specified in API or module is interpreted by ALB Controller as 128.", 
      "required": false, 
      "title": "Request queue depth", 
      "type": "integer"
    }, 
    "request_queue_enabled": {
      "default": false, 
      "description": "Enable request queue when pool is full. Default value when not specified in API or module is interpreted by ALB Controller as false.", 
      "required": false, 
      "title": "Request queue enabled", 
      "type": "boolean"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "rewrite_host_header_to_server_name": {
      "default": false, 
      "description": "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 ALB Controller as false.", 
      "required": false, 
      "title": "Rewrite host header to server name", 
      "type": "boolean"
    }, 
    "rewrite_host_header_to_sni": {
      "default": false, 
      "description": "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 ALB Controller as false.", 
      "required": false, 
      "title": "Rewrite host header to sni", 
      "type": "boolean"
    }, 
    "routing_pool": {
      "default": false, 
      "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Default value when not specified in API or module is interpreted by ALB Controller as false.", 
      "required": false, 
      "title": "Routing pool", 
      "type": "boolean"
    }, 
    "server_name": {
      "description": "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.", 
      "required": false, 
      "title": "Server name", 
      "type": "string"
    }, 
    "server_reselect": {
      "$ref": "ALBHTTPServerReselect, 
      "description": "Server reselect configuration for HTTP requests.", 
      "required": false, 
      "title": "Server reselect"
    }, 
    "server_timeout": {
      "default": 0, 
      "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Unit is MILLISECONDS. Default value when not specified in API or module is interpreted by ALB Controller as 0.", 
      "maximum": 3600000, 
      "minimum": 0, 
      "required": false, 
      "title": "Server timeout", 
      "type": "integer"
    }, 
    "servers": {
      "description": "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. Maximum of 5000 items allowed.", 
      "items": {
        "$ref": "ALBServer
      }, 
      "required": false, 
      "title": "Servers", 
      "type": "array"
    }, 
    "service_metadata": {
      "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage.", 
      "required": false, 
      "title": "Service metadata", 
      "type": "string"
    }, 
    "sni_enabled": {
      "default": true, 
      "description": "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 ALB Controller as true.", 
      "required": false, 
      "title": "Sni enabled", 
      "type": "boolean"
    }, 
    "ssl_key_and_certificate_path": {
      "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate.", 
      "required": false, 
      "title": "Ssl key and certificate path", 
      "type": "string"
    }, 
    "ssl_profile_path": {
      "description": "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.", 
      "required": false, 
      "title": "Ssl profile path", 
      "type": "string"
    }, 
    "tags": {
      "items": {
        "$ref": "Tag
      }, 
      "maxItems": 30, 
      "title": "Opaque identifiers meaningful to the API user", 
      "type": "array"
    }, 
    "tier1_path": {
      "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T.", 
      "required": false, 
      "title": "Tier1 path", 
      "type": "string"
    }, 
    "unique_id": {
      "description": "This is a UUID generated by the GM/LM to uniquely identify entites in a federated environment. For entities that are stretched across multiple sites, the same ID will be used on all the stretched sites.", 
      "readonly": true, 
      "required": false, 
      "title": "A unique identifier assigned by the system", 
      "type": "string"
    }, 
    "use_service_port": {
      "default": false, 
      "description": "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 ALB Controller as false.", 
      "required": false, 
      "title": "Use service port", 
      "type": "boolean"
    }
  }, 
  "title": "Pool", 
  "type": "object"
}