This is an example of a complex Terraform input variable with a description written in Markdown. terraform-docs can then generate a lovely README.
For complex descriptions, it is recommended to use the terraform-docs formatter markdown-document.
The following input variables are required:
Type: string
Type: string
The following input variables are optional (have default values):
Description: A list of network interface objects to be created and attached to the virtual machine.
Required object parameters:
name- The name of the Network Interface. Changing this forces a new resource to be created.
Optional object parameters:
accelerated_networking_enabled- Should Accelerated Networking be enabled? Defaults tofalse.auxiliary_mode- Specifies the auxiliary mode used to enable network high-performance feature on Network Virtual Appliances (NVAs). This feature offers competitive performance in Connections Per Second (CPS) optimization, along with improvements to handling large amounts of simultaneous connections. Possible values areAcceleratedConnections,Floating,MaxConnectionsandNone.auxiliary_sku- Specifies the SKU used for the network high-performance feature on Network Virtual Appliances (NVAs). Possible values areA8,A4,A1,A2andNone.dns_servers- A list of IP Addresses defining the DNS Servers which should be used for this Network Interface.edge_zone- Specifies the Edge Zone within the Azure Region where this Network Interface should exist. Changing this forces a new Network Interface to be created.internal_dns_name_label- The (relative) DNS Name used for internal communications between Virtual Machines in the same Virtual Network.ip_forwarding_enabled- Should IP Forwarding be enabled? Defaults tofalse.ip_configurations– A list ip configuration opbjects.
A ip_configurations object supports the following optional parameters:
name- A name used for this IP Configuration. Default name isipconfigN, whereNis a consecutive number.gateway_load_balancer_frontend_ip_configuration_id- The Frontend IP Configuration ID of a Gateway SKU Load Balancer.subnet_id- The ID of the Subnet where this Network Interface should be located in.private_ip_address_version- The IP Version to use. Possible values are IPv4 or IPv6. Defaults to IPv4.private_ip_address_allocation- The allocation method used for the Private IP Address. Possible values are Dynamic and Static.public_ip_address_id- Reference to a Public IP Address to associate with this NICprimary- Is this the Primary IP Configuration? Must be true for the first ip_configuration when multiple are specified. Defaults to false.private_ip_address- The Static IP Address which should be used.
module "example" {
source = "cloudeteer/vm/azurerm"
name = "vm-example-dev-we-01"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
image = "Win2022Datacenter"
network_interfaces = [
{
name = "nic-example-dev-we-01
ip_configurations = [
{
subnet_id = azurerm_subnet.example.id
}
]
}
]
}Type:
list(
object({
name = string
accelerated_networking_enabled = optional(bool)
auxiliary_mode = optional(string)
auxiliary_sku = optional(string)
dns_servers = optional(list(string))
edge_zone = optional(string)
internal_dns_name_label = optional(string)
ip_forwarding_enabled = optional(bool)
ip_configurations = optional(list(object({
gateway_load_balancer_frontend_ip_configuration_id = optional(string)
name = optional(string)
primary = optional(bool)
private_ip_address = optional(string)
private_ip_address_allocation = optional(string)
private_ip_address_version = optional(string)
public_ip_address_id = optional(string)
subnet_id = optional(string)
})))
})
)Default: []