Skip to content

Latest commit

 

History

History
210 lines (174 loc) · 4.69 KB

bigip_ltm_node.md

File metadata and controls

210 lines (174 loc) · 4.69 KB

bigip_ltm_node

back

Index

Terraform

terraform {
  required_providers {
    bigip = ">= 1.8.0"
  }
}

top

Example Usage

module "bigip_ltm_node" {
  source = "./modules/bigip/r/bigip_ltm_node"

  # address - (required) is a type of string
  address = null
  # connection_limit - (optional) is a type of number
  connection_limit = null
  # description - (optional) is a type of string
  description = null
  # dynamic_ratio - (optional) is a type of number
  dynamic_ratio = null
  # monitor - (optional) is a type of string
  monitor = null
  # name - (required) is a type of string
  name = null
  # rate_limit - (optional) is a type of string
  rate_limit = null
  # ratio - (optional) is a type of number
  ratio = null
  # state - (optional) is a type of string
  state = null

  fqdn = [{
    address_family = null
    autopopulate   = null
    downinterval   = null
    interval       = null
    name           = null
  }]
}

top

Variables

variable "address" {
  description = "(required) - Address of the node"
  type        = string
}

variable "connection_limit" {
  description = "(optional) - Specifies the maximum number of connections allowed for the node or node address."
  type        = number
  default     = null
}

variable "description" {
  description = "(optional) - User defined description of the node."
  type        = string
  default     = null
}

variable "dynamic_ratio" {
  description = "(optional) - Sets the dynamic ratio number for the node. Used for dynamic ratio load balancing. "
  type        = number
  default     = null
}

variable "monitor" {
  description = "(optional) - Specifies the name of the monitor or monitor rule that you want to associate with the node."
  type        = string
  default     = null
}

variable "name" {
  description = "(required) - Name of the node"
  type        = string
}

variable "rate_limit" {
  description = "(optional) - Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'."
  type        = string
  default     = null
}

variable "ratio" {
  description = "(optional) - Sets the ratio number for the node."
  type        = number
  default     = null
}

variable "state" {
  description = "(optional) - Marks the node up or down. The default value is user-up."
  type        = string
  default     = null
}

variable "fqdn" {
  description = "nested block: NestingList, min items: 0, max items: 1"
  type = set(object(
    {
      address_family = string
      autopopulate   = string
      downinterval   = number
      interval       = string
      name           = string
    }
  ))
  default = []
}

top

Resource

resource "bigip_ltm_node" "this" {
  # address - (required) is a type of string
  address = var.address
  # connection_limit - (optional) is a type of number
  connection_limit = var.connection_limit
  # description - (optional) is a type of string
  description = var.description
  # dynamic_ratio - (optional) is a type of number
  dynamic_ratio = var.dynamic_ratio
  # monitor - (optional) is a type of string
  monitor = var.monitor
  # name - (required) is a type of string
  name = var.name
  # rate_limit - (optional) is a type of string
  rate_limit = var.rate_limit
  # ratio - (optional) is a type of number
  ratio = var.ratio
  # state - (optional) is a type of string
  state = var.state

  dynamic "fqdn" {
    for_each = var.fqdn
    content {
      # address_family - (optional) is a type of string
      address_family = fqdn.value["address_family"]
      # autopopulate - (optional) is a type of string
      autopopulate = fqdn.value["autopopulate"]
      # downinterval - (optional) is a type of number
      downinterval = fqdn.value["downinterval"]
      # interval - (optional) is a type of string
      interval = fqdn.value["interval"]
      # name - (optional) is a type of string
      name = fqdn.value["name"]
    }
  }

}

top

Outputs

output "connection_limit" {
  description = "returns a number"
  value       = bigip_ltm_node.this.connection_limit
}

output "dynamic_ratio" {
  description = "returns a number"
  value       = bigip_ltm_node.this.dynamic_ratio
}

output "id" {
  description = "returns a string"
  value       = bigip_ltm_node.this.id
}

output "rate_limit" {
  description = "returns a string"
  value       = bigip_ltm_node.this.rate_limit
}

output "ratio" {
  description = "returns a number"
  value       = bigip_ltm_node.this.ratio
}

output "this" {
  value = bigip_ltm_node.this
}

top