infoblox_dtc_pool Resource
The infoblox_dtc_pool
resource enables you to perform create, update, and delete operations on a DNS Traffic Control (DTC) pool in a NIOS appliance. The resource represents the ‘dtc:pool’ WAPI object in NIOS. For more information related to the DTC pool object, see Managing DNS Traffic Control Pools in the Infoblox NIOS Documentation.
The following table describes the parameters you can define in the infoblox_dtc_pool
resource block:
Parameter | Required/Optional | Description |
---|---|---|
| Required | Specifies the desired name of the DTC pool as shown in the NIOS appliance. The name has the same requirements as the corresponding parameter in WAPI. |
| Optional | Determines whether the automatic management of DTC consolidated monitors is enabled in the DTC pool. |
| Optional | Specifies the criteria to consider a pool as available. You can set one of the following values:
The default value is ALL. |
| Optional | Specifies the minimum number of monitors that must report the pool as up for it to be available when |
| Optional | Determines whether the DTC pool object is enabled or disabled. |
| Optional | Specifies the List of monitors and associated member statuses that are shared across members and consolidated in server availability determination.
Note:
|
| Required | Specifies the preferred Load Balancing method of the DTC pool. You can set it to any of the following methods:
|
| Optional | Specifies the DTC pool settings for dynamic ratio when
|
| Optional | Specifies the preferred topology that must be used when the load balancing method is set to |
| Optional | Specifies the alternate load balancing method. |
| Optional | Specifies the DTC Pool settings for dynamic ratio when |
| Optional | Specifies the alternate topology for load balancing when the alternate load balancing method is set to |
| Optional | Specifies the list of monitors associated with the pool.
|
| Optional | Specifies the list of servers related to the DTC pool.
|
| Optional | Specifies the Time to Live value for the pool. There is no default value for this parameter. |
| Optional | Describes the DTC pool. |
| Optional | Specifies the set of NIOS extensible attributes that will be attached to the DTC pool. |
Example of DTC Pool Resource
//creating DTC pool
resource "infoblox_dtc_pool" "rec1" {
name = "Pool1"
lb_preferred_method = "DYNAMIC_RATIO"
lb_dynamic_ratio_preferred = jsonencode({
"invert_monitor_metric" = true
"method" = "MONITOR"
"monitor_weighing" = "RATIO"
"monitor_metric" = ".0"
"monitor_name"="snmp"
"monitor_type"="snmp"
})
servers {
server = "SERVER"
ratio = 100
}
monitors{
monitor_name = "snmp"
monitor_type="snmp"
}
}
resource "infoblox_dtc_pool" "pool_lb_preferred_method_topology" {
name = "terraform_pool.com"
comment = "testing pool terraform"
lb_preferred_method = "TOPOLOGY"
lb_preferred_topology = "topology_ruleset"
ext_attrs = jsonencode({
"Site" = "Blr"
})
servers{
server = "server.com"
ratio = 3
}
servers{
server = "terraform_server.com"
ratio = 3
}
servers{
server = "terraform_server1.com"
ratio = 4
}
monitors{
monitor_name = "http"
monitor_type="http"
}
monitors{
monitor_name = "snmp"
monitor_type="snmp"
}
lb_alternate_method= "DYNAMIC_RATIO"
lb_dynamic_ratio_alternate = jsonencode({
"monitor_name" = "snmp"
"monitor_type" = "snmp"
"method" = "MONITOR"
"monitor_metric" = ".1.2"
"monitor_weighing" = "PRIORITY"
"invert_monitor_metric" = "true"
})
auto_consolidated_monitors = true
availability = "QUORUM"
quorum = 2
ttl = 120
disable = true
}
//Pool creation with maximal parameters
//parameters for DTC pool when preferred load balancing is TOPOLOGY and alternate load balancing is DYNAMIC_RATIO
resource "infoblox_dtc_pool" "pool" {
name = "terraform_pool.com"
comment = "testing pool terraform"
lb_preferred_method = "TOPOLOGY"
lb_preferred_topology = "topology_ruleset"
ext_attrs = jsonencode({
"Site" = "Blr"
})
servers {
server = "server.com"
ratio = 3
}
servers {
server = "terraform_server.com"
ratio = 3
}
servers {
server = "terraform_server1.com"
ratio = 4
}
monitors {
monitor_name = "http"
monitor_type = "http"
}
monitors {
monitor_name = "snmp"
monitor_type = "snmp"
}
lb_alternate_method = "DYNAMIC_RATIO"
lb_dynamic_ratio_alternate = jsonencode({
"monitor_name" = "snmp"
"monitor_type" = "snmp"
"method" = "MONITOR"
"monitor_metric" = ".1.2"
"monitor_weighing" = "PRIORITY"
"invert_monitor_metric" = true
})
availability = "QUORUM"
quorum = 2
ttl = 120
consolidated_monitors{
monitor_name = "http"
monitor_type = "http"
members = ["infoblox.localdomain"]
availability= "ALL"
full_health_communication= true
}
disable = true
}