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.
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
}
]
}
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 ofnodes_table
ornodes_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.
-
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.
-
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.
-
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.
-
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.
-
support_rfc_2428
(optional, boolean, default: false) - Whether or not the backed IPv4 nodes understand the EPRT and EPSC command from RFC 2428.
-
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.
-
principle
(optional, string, default: none) - The Kerberos principle. -
target
(optional, string, default: none) - The Kerberos principle name of the service this pool targets.
-
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.
-
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).
-
send_starttls
(optional, boolean, default: false) - Use when encrypting SMTP traffic.
-
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.
-
nagle
(optional, boolean, default: false) - Whether or not to use Nagle’s algorithm with the nodes.
-
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.