Skip to content

Pool Resource API 3.8

lakshmi-enjeti edited this page Jan 12, 2018 · 4 revisions

The Pool resource allows for the creation and management of a Pool on Brocade vTM.

Example Usage

resource "brocadevtm_pool" "example-pool" {
       name = "example-pool"
       monitors = ["example-monitor"]
       nodes_table = [
        {
         node="10.10.12.2:80"
         priority=1
         state="active"
         weight=1
        }
      ]
}

Argument Reference

The following arguments are supported:

  • name - (required, string) - The name of the pool.
  • bandwidth_class (optional, string, default: none) - The bandwidth management class to assign to this pool.
  • failure_pool (optional, string, default: none) - Use the failure_pool when all nodes in this pool have failed.
  • max_connection_attempts (optional, unsigned integer, default: none) - Maximum number of nodes to send connection attempts before returning an error to the client. 0 = no limit.
  • max_idle_connections_pernode (optional, unsigned integer, default: 50) - Maximum number of unused keep alive HTTP connections to a node. 0 = no limit.
  • max_timed_out_connection_attempts (optional, unsigned integer, default: 2) - Maximum attempts to a node. 0 = no limit.
  • monitors (optional, list of strings, default: none) - List of monitors assigned to this pool.
  • node_close_with_rst (optional, boolean, default: false) - Whether to send a RST packet than a FIN packet to close a connection to a node.
  • node_connection_attempts (optional, unsigned integer, default: 3) - Number of connection attempts before marking it as failed. Only for passive monitoring.
  • node_delete_behavior (optional, string, default: “immediate”) - Behaviour when removing a node from the pool. Options: “immediate” & “drain”.
  • node_drain_to_delete_timeout (optional, unsigned integer, default: none) - Maximum time to allow a node to remain in draining after it’s been deleted. 0 = no limit.
  • nodes_table (optional, nodes object (see below), default: none) - Table listing nodes in the pool, one of nodes_table or nodes_list attribute has to be defined.
  • nodes_list (optional, list of strings) - List of nodes addresses. This attribute can be used to set a list of nodes in the pool, it is automatically converted into a corresponding nodes_table structure with all attributes out of node address defaulted.
  • note (optional, string, default: none) - A note assigned to the pool.
  • passive_monitoring (optional, boolean, default: false) - Whether or not real requests to nodes in the pool are checked.
  • persistence_class (optional, string, default: none) - The default session persistence class.
  • transparent (optional, boolean, default: false) - Whether or not connections to the nodes appear to originate from the source client IP.
  • auto_scaling (optional, auto scaling object (see below), default: none) - Auto scaling section.
  • pool_connection (optional, pool connection object (see below), default: none) - Connection section.
  • dns_autoscale (optional, dns auto scale object (see below), default: none) - DNS auto scale section.
  • ftp (optional, ftp object (see below), default: none) - FTP section.
  • http (optional, http object (see below), default: none) - HTTP section.
  • kerberos_protocol_transition (optional, kerberos protocol transition object (see below), default: none) - Kerberos protocol transition section.
  • load_balancing (optional, load balancing object (see below), default: none) - Load balancing section.
  • node (optional, node object (see below), default: none) - Node section.
  • smtp (optional, smtp object (see below), default: none) - SMTP section.
  • ssl (optional, ssl object (see below), default: none) - SSL section.
  • tcp (optional, tcp object (see below), default: none) - TCP section.
  • udp (optional, udp object (see below), default: none) - UDP section.
Nodes Table
  • node (optional, string, default: none) - IP followed by colon and then port of a node in the pool. E.g 192.168.0.1:80.
  • priority (optional, unsigned integer, default: 1) - The priority the of the node. Higher value equals higher priority.
  • state (optional, string, default: none) - The state the node is in. Either “active”, “draining” or “disabled”.
  • weight (optional, integer, default: 1) - The weight assigned to a node. Per-node weightings are calculated on the relative values between nodes. Valid values are between 1 and 100.
  • source_ip (optional, string, default: none) - The source address the Traffic Manager uses to connect to this node.
Auto Scaling
  • addnode_delaytime (optional, unsigned integer, default: none) - How long to wait before adding a node into the auto scaled pool after it’s been created.
  • cloud_credentials (optional, string, default: none) - Cloud credentials catalog item to use for authentication.
  • cluster (optional, string, default: none) - ESX host or cluster to place new VMs on.
  • data_center (optional, string, default: none) - The logical data centre on the vCenter server.
  • data_store (optional, string, default: none) - The name of the data store to be used.
  • enabled (optional, boolean, default: false) - Whether or not the nodes in this pool will be under auto scaling control.
  • external (optional, boolean, default: false) - Whether or not auto scaling is handled by an external system.
  • hysteresis (optional, unsigned integer, default: 20) - The amount of time a change condition must persist before a change is instigated.
  • imaged (optional, string, default: none) - The image to use when creating instances.
  • ips_to_use (optional, string, default: “publicips”) - Which type of IP addresses the node uses. Valid choices are “private_ips” or “publicips”.
  • last_node_idle_time (optional, unsigned integer, default: 3600) - Elapsed time a node is idle before it is destroyed. Only relevant when min_nodes is 0.
  • max_nodes (optional, unsigned integer, default: 4) - Maximum nodes in the pool.
  • min_nodes (optional, unsigned integer, default: 1) - Minimum nodes in the pool.
  • name (optional, string, default: none) - The VM name prefix.
  • port (optional, unsigned integer, default: 80) - Port number to use for each node in the pool.
  • refractory (optional, unsigned integer, default: 180) - Elapsed time before any further changes are made to the pool after a resize.
  • response_time (optional, unsigned integer, default: 1000) - Expected response time of nodes in ms.
  • scale_down_level (optional, unsigned integer, default: 95) - The percentage of conforming requests above which the pool size is decreased.
  • scale_up_level (optional, unsigned integer, default: 40) - The percentage of conforming requests below which the pool size is increased.
  • securitygroupids (optional, list of strings, default: none) - List of AWS security group IDs to associate with a new ec2 instance.
  • size_id (optional, string, default: none) - Identifier for the size of the instances to create.
  • subnetids (optional, list of strings, default: none) - List of AWS subnet IDs. Instances will be evenly associated among subnets.
Pool Connection
  • max_connect_time (optional, unsigned integer, default: 4) - How long to wait for an established connection to a node before giving up and trying another node.
  • max_connections_per_node (optional, unsigned integer, default: none) - Maximum concurrent connections to a node. 0 equals no limit.
  • max_queue_size (optional, unsigned integer, default: none) - Maximum number of connections that can be queued due to connection limits. 0 equals no limit.
  • max_reply_time (optional, unsigned integer, default: 30) - How long to wait for a response from a node before discarding or trying another node.
  • queue_timeout (optional, unsigned integer, default: 10) - Maximum time to keep a connection queued.
DNS Auto Scaling
  • enabled (optional, boolean, default: false) - Whether or not the traffic manager will periodically resolve hostnames in the hostnames list using a DNS query and update the IP addresses of the nodes in the pool.
  • hostnames (optional, list of strings, default: none) - A list of hostnames which will be used for DNS derived auto scaling.
  • port (optional, unsigned integer, default: 80) - Port number to use with each node when using DNS derived auto scaling.
FTP
  • support_rfc_2428 (optional, boolean, default: false) - Whether or not the backed IPv4 nodes understand the EPRT and EPSC command from RFC 2428.
HTTP
  • keepalive (optional, boolean, default: false) - Whether or not the pool should maintain HTTP keep alive connections to the nodes.
  • keepalive_non_idempotent (optional, boolean, default: false) - Whether or not the pool should maintain HTTP keep alive connections to the nodes for non-idempotent requests.
Kerberos Protocol Transition
  • principle (optional, string, default: none) - The Kerberos principle.
  • target (optional, string, default: none) - The Kerberos principle name of the service this pool targets.
Load Balancing
  • algorithm (optional, string, default: “round_robin”) - The load balancing algorithm. Valid choices are “fastest_response_time”, “least_connections”, “perceptive”, “random”, “round_robin”, “weighted_least_connections”, “weighted_round_robin”.
  • priority_enabled (optional, boolean, default: false) - Whether or not to enable priority lists.
  • priority_nodes (optional, unsigned integer, default: 1) - Minimum number of highest priority active nodes.
Node
  • close_on_death (optional, boolean, default: false) - Close all connections to a node once a failure has been detected.
  • retry_fail_time (optional, unsigned integer, default: 60) - Time a traffic manager will wait before re-trying a failed none (passive monitoring).
SMTP
  • send_starttls (optional, boolean, default: false) - Use when encrypting SMTP traffic.
SSL
  • client_auth (optional, boolean, default: false) - Whether or not a suitable certificate and private key from the SSL Client Certificate catalog is used when a node requests client authentication.
  • common_name_match (optional, list of strings, default: none) - A list of names against which the common name of the certificate is matched.
  • elliptic_curves (optional, list of strings, default: none) - SSL elliptic curve preference list for SSL connections. See documentation for valid list.
  • enable (optional, boolean, default: false) - Whether or not the pool should encrypt data before sending it to a node.
  • enhance (optional, boolean, default: false) - SSL protocol enhancements allow the traffic manager to prefix each new SSL connection with information about the client.
  • send_close_alerts (optional, boolean, default: false) - Whether or not to send a SSL/TLS close alert.
  • server_name (optional, boolean, default: false) - Whether or not the TLS 1.0 server_name extension should be used.
  • signature_algorithms (optional, string, default: none) - The SSL signature algorithm preference list. Refer to documentation for valid options. Separate items by spaces.
  • ssl_ciphers (optional, string, default: none) - The SSL/TLS ciphers to allow for connections to a node. Refer to documentation for valid options. Separate items by spaces.
  • ssl_support_ssl2 (optional, string, default: “use_default”) - Whether or not to enable SSLv2. Valid choices are “disabled”, “enabled” and “use_default”.
  • ssl_support_ssl3 (optional, string, default: “use_default”) - Whether or not to enable SSLv3. Valid choices are “disabled”, “enabled” and “use_default”.
  • ssl_support_tls1 (optional, string, default: “use_default”) - Whether or not to enable TLSv1.0. Valid choices are “disabled”, “enabled” and “use_default”.
  • ssl_support_tls1_1 (optional, string, default: “use_default”) - Whether or not to enable TLSv1.1. Valid choices are “disabled”, “enabled” and “use_default”.
  • ssl_support_tls1_2 (optional, string, default: “use_default”) - Whether or not to enable TLSv1.2. Valid choices are “disabled”, “enabled” and “use_default”.
  • strict_verify (optional, boolean, default: false) - Whether or not strict certificate verifications should be performed.
TCP
  • nagle (optional, boolean, default: false) - Whether or not to use Nagle’s algorithm with the nodes.
UDP
  • accept_from (optional, string, default: “dest_only”) - IP addresses and ports from which UDP requests should be accepted. Valid choices are “all”, “dst_ip_only”, “dest_only” and “ip_mask”
  • accept_from_mask (optional, string, default: none) - CIDR mask what marches IP we want to receive responses from.
  • response_timeout (optional, unsigned integer, default: none) - Maximum time a node can take after receiving a UDP request before sending a reply.