Saltar al contenido principal

equinix_dispositivo_de_red (Recurso)

El recurso equinix_network_device permite la creación y gestión de dispositivos de red virtual Equinix Network Edge.

Los dispositivos de red virtual Network Edge se pueden crear en dos modos:

  • Gestionado - (predeterminado) en el que Equinix gestiona la conectividad y los servicios en el dispositivo y el cliente obtiene acceso limitado al dispositivo.
  • Autoconfigurado: Donde el cliente aprovisiona y gestiona servicios propios en el dispositivo con menos acceso restringido. Algunos tipos de dispositivos solo se ofrecen en este modo.

Además de los modos de gestión, hay dos modos de licencia de software disponibles:

  • Suscripción: Donde Equinix proporciona licencia de software, incluido el soporte de extremo a extremo, y las facturas del servicio, respectivamente.
  • BYOL - [Traiga su propia licencia] donde el cliente trae su propia licencia de software del dispositivo ya adquirida. No hay cargos asociados con dicha licencia. Es el único modo de licencias para self-configured dispositivos.

Ejemplo de uso​

# Create pair of redundant, managed CSR1000V routers with license subscription
# in two different metro locations

data "equinix_network_account" "dc" {
metro_code = "DC"
}

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "csr1000v-ha" {
name = "tf-csr1000v-p"
throughput = 500
throughput_unit = "Mbps"
metro_code = data.equinix_network_account.dc.metro_code
type_code = "CSR1000V"
self_managed = false
connectivity = "INTERNET-ACCESS"
byol = false
package_code = "SEC"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
hostname = "csr1000v-p"
term_length = 12
account_number = data.equinix_network_account.dc.number
version = "16.09.05"
core_count = 2
secondary_device {
name = "tf-csr1000v-s"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "csr1000v-s"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
}
}
# Create self configured PANW cluster with BYOL license

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "panw-cluster" {
name = "tf-panw"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "PA-VM"
self_managed = true
byol = true
package_code = "VM100"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "10.1.3"
interface_count = 10
core_count = 2
ssh_key {
username = "test"
key_name = "test-key"
}
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
cluster_details {
cluster_name = "tf-panw-cluster"
node0 {
vendor_configuration {
hostname = "panw-node0"
}
license_token = "licenseToken"
}
node1 {
vendor_configuration {
hostname = "panw-node1"
}
license_token = "licenseToken"
}
}
}
# Create self configured single Aviatrix device with cloud init file

data "equinix_network_account" "sv" {
metro_code = "SV"
}

variable "filepath" { default = "cloudInitFileFolder/TF-AVX-cloud-init-file.txt" }

resource "equinix_network_file" "aviatrix-cloudinit-file" {
file_name = "TF-AVX-cloud-init-file.txt"
content = file("${path.module}/${var.filepath}")
metro_code = data.equinix_network_account.sv.metro_code
device_type_code = "AVIATRIX_EDGE_10"
process_type = "CLOUD_INIT"
self_managed = true
byol = true
}

resource "equinix_network_device" "aviatrix-single" {
name = "tf-aviatrix"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "AVIATRIX_EDGE_10"
self_managed = true
byol = true
package_code = "STD"
notifications = ["john@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "6.9"
core_count = 2
cloud_init_file_id = equinix_network_file.aviatrix-cloudinit-file.uuid
acl_template_id = "c06150ea-b604-4ad1-832a-d63936e9b938"
}
# Create self configured single Catalyst 8000V (Autonomous Mode) router with license token

data "equinix_network_account" "sv" {
name = "account-name"
metro_code = "SV"
}

resource "equinix_network_device" "c8kv-single" {
name = "tf-c8kv"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
package_code = "network-essentials"
notifications = ["test@equinix.com"]
hostname = "C8KV"
account_number = data.equinix_network_account.sv.number
version = "17.06.01a"
core_count = 2
term_length = 12
license_token = "valid-license-token"
additional_bandwidth = 5
ssh_key {
username = "test-username"
key_name = "valid-key-name"
}
acl_template_id = "3e548c02-9164-4197-aa23-05b1f644883c"
}
# Create self configured single VSRX device with BYOL License

data "equinix_network_account" "sv" {
name = "account-name"
metro_code = "SV"
}

resource "equinix_network_device" "vsrx-single" {
name = "tf-c8kv-sdwan"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "VSRX"
self_managed = true
byol = true
package_code = "STD"
notifications = ["test@equinix.com"]
hostname = "VSRX"
account_number = data.equinix_network_account.sv.number
version = "23.2R1.13"
core_count = 2
term_length = 12
additional_bandwidth = 5
project_id = "a86d7112-d740-4758-9c9c-31e66373746b"
diverse_device_id = "ed7891bd-15b4-4f72-ac56-d96cfdacddcc"
ssh_key {
username = "test-username"
key_name = "valid-key-name"
}
acl_template_id = "3e548c02-9164-4197-aa23-05b1f644883c"
}
# Create self configured redundant Arista router with DSA key

data "equinix_network_account" "sv" {
name = "account-name"
metro_code = "SV"
}

resource "equinix_network_ssh_key" "test-public-key" {
name = "key-name"
public_key = "ssh-dss key-value"
type = "DSA"
}

resource "equinix_network_device" "arista-ha" {
name = "tf-arista-p"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "ARISTA-ROUTER"
self_managed = true
connectivity = "PRIVATE"
byol = true
package_code = "CloudEOS"
notifications = ["test@equinix.com"]
hostname = "arista-p"
account_number = data.equinix_network_account.sv.number
version = "4.29.0"
core_count = 4
term_length = 12
additional_bandwidth = 5
ssh_key {
username = "test-username"
key_name = equinix_network_ssh_key.test-public-key.name
}
acl_template_id = "c637a17b-7a6a-4486-924b-30e6c36904b0"
secondary_device {
name = "tf-arista-s"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "arista-s"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
acl_template_id = "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138"
}
}
# Create self configured redundant BlueCat DNS and DHCP Server
data "equinix_network_account" "sv" {
name = "account-name"
metro_code = "SV"
}

resource "equinix_network_ssh_key" "test-public-key" {
name = "key-name"
public_key = "ssh-dss key-value"
type = "DSA"
}

resource "equinix_network_device" "bluecat-bdds-ha" {
name = "tf-bluecat-bdds-p"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "BLUECAT"
self_managed = true
connectivity = "PRIVATE"
byol = true
package_code = "STD"
notifications = ["test@equinix.com"]
account_number = data.equinix_network_account.sv.number
version = "9.6.0"
core_count = 2
term_length = 12
vendor_configuration = {
"hostname" = "test"
"privateAddress" : "x.x.x.x"
"privateCidrMask" : "24"
"privateGateway" : "x.x.x.x"
"licenseKey" : "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
"licenseId" : "xxxxxxxxxxxxxxx"
}
ssh_key {
username = "test-username"
key_name = equinix_network_ssh_key.test-public-key.name
}
secondary_device {
name = "tf-bluecat-bdds-s"
metro_code = data.equinix_network_account.sv.metro_code
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = {
"hostname" = "test"
"privateAddress" : "x.x.x.x"
"privateCidrMask" : "24"
"privateGateway" : "x.x.x.x"
"licenseKey" : "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
"licenseId" : "xxxxxxxxxxxxxxx"
}
}
}
# Create self configured redundant BlueCat Edge Service Point
data "equinix_network_account" "sv" {
name = "account-name"
metro_code = "SV"
}

resource "equinix_network_file" "bluecat-edge-service-point-cloudinit-primary-file" {
file_name = "TF-BLUECAT-ESP-cloud-init-file.txt"
content = file("${path.module}/${var.filepath}")
metro_code = data.equinix_network_account.sv.metro_code
device_type_code = "BLUECAT-EDGE-SERVICE-POINT"
process_type = "CLOUD_INIT"
self_managed = true
byol = true
}

resource "equinix_network_file" "bluecat-edge-service-point-cloudinit-secondary-file" {
file_name = "TF-BLUECAT-ESP-cloud-init-file.txt"
content = file("${path.module}/${var.filepath}")
metro_code = data.equinix_network_account.sv.metro_code
device_type_code = "BLUECAT-EDGE-SERVICE-POINT"
process_type = "CLOUD_INIT"
self_managed = true
byol = true
}

resource "equinix_network_device" "bluecat-edge-service-point-ha" {
name = "tf-bluecat-edge-service-point-p"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "BLUECAT-EDGE-SERVICE-POINT"
self_managed = true
connectivity = "PRIVATE"
byol = true
package_code = "STD"
notifications = ["test@equinix.com"]
account_number = data.equinix_network_account.sv.number
cloud_init_file_id = equinix_network_file.bluecat-edge-service-point-cloudinit-primary-file.uuid
version = "4.6.3"
core_count = 4
term_length = 12
secondary_device {
name = "tf-bluecat-edge-service-point-s"
metro_code = data.equinix_network_account.sv.metro_code
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
cloud_init_file_id = equinix_network_file.bluecat-edge-service-point-cloudinit-secondary-file.uuid
}
}
# Create PA-VM firewall cluster with Panorama Server Integration
# with Panorama Server IP and Panorama Auth Key in vendor Configuration

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "panw-cluster" {
name = "tf-panw"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "PA-VM"
self_managed = true
byol = true
package_code = "VM100"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "11.1.3"
interface_count = 10
core_count = 2
ssh_key {
username = "test"
key_name = "test-key"
}
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
cluster_details {
cluster_name = "tf-panw-cluster"
node0 {
vendor_configuration {
hostname = "panw-node0"
panorama_ip_address = "x.x.x.x"
panorama_auth_key = "xxxxxxxxxxx"
}
license_token = "licenseToken"
}
node1 {
vendor_configuration {
hostname = "panw-node1"
panorama_ip_address = "x.x.x.x"
panorama_auth_key = "xxxxxxxxxxx"
}
license_token = "licenseToken"
}
}
}
# Create C8000V BYOL device with bandwidth tier information

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "c8000v-byol-tier" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
package_code = "network-essentials"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
tier = 1
ssh_key {
username = "test"
key_name = "test-key"
}
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
}
# Create C8000V BYOL device with numeric bandwidth throughput information

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "c8000v-byol-throughput" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
package_code = "network-essentials"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
throughput = "100"
throughput_unit = "Mbps"
ssh_key {
username = "test"
key_name = "test-key"
}
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
}
# Create self configured single Aviatrix Transit Edge device with cloud init file

data "equinix_network_account" "sv" {
metro_code = "SV"
}

variable "filepath" { default = "cloudInitFileFolder/TF-AVX-cloud-init-file.txt" }

resource "equinix_network_file" "aviatrix-cloudinit-file" {
file_name = "TF-AVX-cloud-init-file.txt"
content = file("${path.module}/${var.filepath}")
metro_code = data.equinix_network_account.sv.metro_code
device_type_code = "AVIATRIX_TRANSIT_EDGE"
process_type = "CLOUD_INIT"
self_managed = true
byol = true
}

resource "equinix_network_device" "aviatrix-transit-edge-single" {
name = "tf-aviatrix"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "AVIATRIX_TRANSIT_EDGE"
self_managed = true
byol = true
package_code = "STD"
notifications = ["john@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "7.2.a"
core_count = 2
cloud_init_file_id = equinix_network_file.aviatrix-cloudinit-file.uuid
acl_template_id = "c06150ea-b604-4ad1-832a-d63936e9b938"
}
# Create ZSCALER APPC device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "zscaler-appc-single" {
name = "tf-zscaler-appc"
project_id = "XXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "ZSCALER-APPC"
self_managed = true
byol = true
connectivity = "PRIVATE"
package_code = "STD"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "23.395.1"
interface_count = 1
core_count = 4
vendor_configuration = {"provisioningKey" = "XXXXXXXXXX", "hostname" = "XXXX"}
ssh_key {
username = "test"
key_name = "test-key"
}
}
# Create ZSCALER APPC device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "zscaler-pse-single" {
name = "tf-zscaler-pse"
project_id = "XXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "ZSCALER-PSE"
self_managed = true
byol = true
connectivity = "PRIVATE"
package_code = "STD"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "23.395.1"
interface_count = 1
core_count = 4
vendor_configuration = {"provisioningKey" = "XXXXXXXXXX", "hostname" = "XXXX"}
ssh_key {
username = "test"
key_name = "test-key"
}
}
# Create C8000V BYOL device with bandwidth tier information

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "c8000v-byol-withtout-default-password" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
generate_default_password = false
package_code = "network-essentials"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
tier = 1
ssh_key {
username = "test"
key_name = "test-key"
}
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
}
# Create Checkpoint single device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "CHECKPOINT-SV" {
name = "TF_CHECKPOINT"
project_id = "XXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "CGUARD"
self_managed = true
byol = true
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "R81.20"
hostname = "test"
core_count = 2
term_length = 1
additional_bandwidth = 5
acl_template_id = "XXXXXXX"
ssh_key {
username = "XXXXX"
key_name = "XXXXXX"
}
}
# Create Cisco FTD Cluster with Connectivity- PRIVATE

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "Cisco-FTD-SV" {
name = "TF_Cisco_NGFW_CLUSTER_ZNPD"
project_id = "XXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "Cisco_NGFW"
self_managed = true
connectivity = "PRIVATE"
byol = true
package_code = "FTDv10"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "7.0.4-55"
hostname = "test"
core_count = 4
term_length = 1
interface_count = 10
cluster_details {
cluster_name = "tf-ftd-cluster"
node0 {
vendor_configuration {
hostname = "test"
activation_key = "XXXXX"
controller1 = "X.X.X.X"
management_type = "FMC"
}
}
node1 {
vendor_configuration {
hostname = "test"
management_type = "FMC"
}
}
}
}
# Create Fortinet SDWAN single device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "FTNT-SDWAN-SV" {
name = "TF_VERSA-SDWAN"
project_id = "XXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "VERSA_SDWAN"
self_managed = true
byol = true
package_code = "FLEX_VNF_2"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "21.2.3"
core_count = 2
term_length = 1
additional_bandwidth = 50
acl_template_id = "XXXXXXXXX"
vendor_configuration = {
controller1 = "X.X.X.X"
controller2 = "X.X.X.X"
localId = "test@test.com"
remoteId = "test@test.com"
serialNumber = "4"
}
secondary_device {
name = "Praveena_TF_VERSA"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
acl_template_id = "XXXXXXXX"
notifications = ["test@eq.com"]
vendor_configuration = {
controller1 = "X.X.X.X"
controller2 = "X.X.X.X"
localId = "test@test.com"
remoteId = "test@test.com"
serialNumber = "4"
}
}
}
# Create VYos Router HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "VYOS-AM" {
name = "TF_VYOS"
project_id = "XXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "VYOS-ROUTER"
self_managed = true
byol = false
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "1.4.1-2501"
hostname = "test"
core_count = 2
term_length = 1
additional_bandwidth = 50
acl_template_id = "XXXXXXXX"
ssh_key {
username = "test"
key_name = "xxxxxxxx"
}
secondary_device {
name = "TF_CHECKPOINT"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
hostname = "test"
acl_template_id = "XXXXXXXXXXX"
notifications = ["test@eq.com"]
}
}
# Create Fortinet SDWAN single device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "FTNT-SDWAN-SV" {
name = "TF_FTNT-SDWAN"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "FG-SDWAN"
self_managed = true
byol = true
package_code = "VM02"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "7.0.14"
hostname = "test"
core_count = 2
term_length = 1
additional_bandwidth = 50
acl_template_id = "XXXXXXXX"
vendor_configuration = {
adminPassword = "XXXXX"
controller1 = "X.X.X.X"
}
}
# Create Aruba Edgeconnect SDWAN HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}


resource "equinix_network_device" "ARUBA-EDGECONNECT-AM" {
name = "TF_Aruba_Edge_Connect"
project_id = "XXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "EDGECONNECT-SDWAN"
self_managed = true
byol = true
package_code = "EC-V"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "9.4.2.3"
core_count = 2
term_length = 1
additional_bandwidth = 50
interface_count = 32
acl_template_id = "XXXXXXX"
vendor_configuration = {
accountKey : "xxxxx"
accountName : "xxxx"
applianceTag : "tests"
hostname : "test"
}
secondary_device {
name = "TF_CHECKPOINT"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
acl_template_id = "XXXXXXX"
notifications = ["test@eq.com"]
vendor_configuration = {
accountKey : "xxxxx"
accountName : "xxxx"
applianceTag : "test"
hostname : "test"
}
}
}
# Create Infoblox Grid Member Single device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "INFOBLOX-SV" {
name = "TF_INFOBLOX"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "INFOBLOX-GRID-MEMBER"
self_managed = true
byol = true
connectivity = "PRIVATE"
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "9.0.5"
core_count = 8
term_length = 1
vendor_configuration = {
adminPassword = "xxxxxx"
ipAddress = "X.X.X.X"
subnetMaskIp = "X.X.X.X"
gatewayIp = "X.X.X.X"
}
}
# Create Infoblox Grid Member HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "INFOBLOX-SV" {
name = "TF_INFOBLOX"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "INFOBLOX-GRID-MEMBER"
self_managed = true
connectivity = "PRIVATE"
byol = true
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "9.0.5"
core_count = 8
term_length = 1
vendor_configuration = {
adminPassword = "X.X.X.X"
ipAddress = "X.X.X.X"
subnetMaskIp = "X.X.X.X"
gatewayIp = "X.X.X.X"
}
secondary_device {
name = "TF_INFOBLOX-Sec"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
notifications = ["test@eq.com"]
vendor_configuration = {
adminPassword = "X.X.X.X"
ipAddress = "X.X.X.X"
subnetMaskIp = "X.X.X.X"
gatewayIp = "X.X.X.X"
}
}
}
# Create Infoblox Grid Member HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "INFOBLOX-SV" {
name = "TF_INFOBLOX"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "INFOBLOX-GRID-MEMBER"
self_managed = true
byol = true
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "9.0.5"
connectivity = "PRIVATE"
core_count = 8
term_length = 1
cluster_details {
cluster_name = "tf-infoblox-cluster"
node0 {
vendor_configuration {
admin_password = "xxxxxxx"
ip_address = "X.X.X.X"
subnet_mask_ip = "X.X.X.X"
gateway_ip = "X.X.X.X"
}
}
node1 {
vendor_configuration {
admin_password = "xxxxxxx"
ip_address = "X.X.X.X"
subnet_mask_ip = "X.X.X.X"
gateway_ip = "X.X.X.X"
}
}
}
}
# Create F5XC device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "f5xc-single" {
name = "tf-f5xc"
project_id = "XXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "F5XC"
self_managed = true
byol = true
connectivity = "INTERNET-ACCESS"
package_code = "STD"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 1
account_number = data.equinix_network_account.sv.number
acl_template_id = "xxxx"
version = "9.2025.17"
interface_count = 8
core_count = 8
vendor_configuration = {"token" = "XXXXXXXXXX", "hostname" = "XXXX"}
}
# Create C8000V HA - BYOL device with cloud init rest api support

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "c8000v-byol" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
generate_default_password = true
package_code = "network-essentials"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
tier = 1
ssh_key {
username = "test"
key_name = "test-key"
}
vendor_configuration = { restApiSupportRequirement = "true" }
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
secondary_device {
name = "tf-c8000v-byol-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "csr1000v-s"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = { restApiSupportRequirement = "true" }
acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
}
}
# Create Aruba Edgeconnect SDWAN HA device with 2different account numbers with purchase orders

data "equinix_network_account" "sv" {
metro_code = "SV"
}


resource "equinix_network_device" "ARUBA-EDGECONNECT-AM" {
name = "TF_Aruba_Edge_Connect"
project_id = "XXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "EDGECONNECT-SDWAN"
self_managed = true
byol = true
package_code = "EC-V"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "9.4.2.3"
core_count = 2
term_length = 1
additional_bandwidth = 50
interface_count = 32
acl_template_id = "XXXXXXX"
purchase_order_number = "PO-Primary-Account-123"
vendor_configuration = {
accountKey : "xxxxx"
accountName : "xxxx"
applianceTag : "tests"
hostname : "test"
}
secondary_device {
name = "TF_CHECKPOINT"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
purchase_order_number = "PO-Secondary-Account-123"
acl_template_id = "XXXXXXX"
notifications = ["test@eq.com"]
vendor_configuration = {
accountKey : "xxxxx"
accountName : "xxxx"
applianceTag : "test"
hostname : "test"
}
}
}
# Create C8000V HA - BYOL device with connectivity PRIVATE with DHCP IP address type

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "c8000v-byol" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
package_code = "network-essentials"
connectivity = "PRIVATE"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
tier = 1
ssh_key {
username = "test"
key_name = "test-key"
}
vendor_configuration = { restApiSupportRequirement = "true", ipAddressType = "DHCP", managementInterfaceId= "6" }
secondary_device {
name = "tf-c8000v-byol-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "c8000v-s"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = { restApiSupportRequirement = "true", ipAddressType = "DHCP", managementInterfaceId= "6" }
}
}
# Create C8000V HA - BYOL device with connectivity PRIVATE with NO IP address type

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "c8000v-byol" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
package_code = "network-essentials"
connectivity = "PRIVATE"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
tier = 1
ssh_key {
username = "test"
key_name = "test-key"
}
vendor_configuration = { restApiSupportRequirement = "true", ipAddressType = "NO_IP_ADDRESS" }
secondary_device {
name = "tf-c8000v-byol-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "csr8000v-s"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = { restApiSupportRequirement = "true", ipAddressType = "NO_IP_ADDRESS" }
}
}
# Create C8000V HA - BYOL device with connectivity PRIVATE with static IP address type

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "c8000v-byol" {
name = "tf-c8000v-byol"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "C8000V"
self_managed = true
byol = true
package_code = "network-essentials"
connectivity = "PRIVATE"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = data.equinix_network_account.sv.number
version = "17.11.01a"
interface_count = 10
core_count = 2
tier = 1
ssh_key {
username = "test"
key_name = "test-key"
}
vendor_configuration = {
restApiSupportRequirement = "true", ipAddressType = "STATIC", ipAddress = "x.x.x.x", gatewayIp = "x.x.x.x",
subnetMaskIp = "x.x.x.x", managementInterfaceId= "6"
}
secondary_device {
name = "tf-c8000v-byol-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "csr8000v-s"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = {
restApiSupportRequirement = "true", ipAddressType = "STATIC", ipAddress = "x.x.x.x", gatewayIp = "x.x.x.x",
subnetMaskIp = "x.x.x.x", managementInterfaceId= "6"
}
}
}
# Create FG VM Cluster with connectivity PRIVATE and IP Address Type as STATIC

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "FGVM-SV" {
name = "tf-fgvm-cluster-static-znpd"
metro_code = "DC"
type_code = "FG-VM"
project_id = "xxxxxxx"
self_managed = true
connectivity = "PRIVATE"
byol = true
package_code = "VM02"
notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
term_length = 12
account_number = xxxxxx
version = "7.6.2"
interface_count = 10
core_count = 2
ssh_key {
username = "sanity1"
key_name = ""
}
cluster_details {
cluster_name = "tf-fgvm--cluster"
node0 {
vendor_configuration {
ip_address = "x.x.x.x"
subnet_mask_ip = "x.x.x.x"
gateway_ip = "x.x.x.x"
management_interface_id = "5"
hostname = "test"
ip_address_type = "STATIC"
}
}
node1 {
vendor_configuration {
ip_address = "x.x.x.x"
subnet_mask_ip = "x.x.x.x"
gateway_ip = "x.x.x.x"
management_interface_id = "5"
hostname = "test"
ip_address_type = "STATIC"
}
}
}
}
# Create Fortinet VM firewall ha device with connectivity PRIVATE and IP Address Type as DHCP

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "FTNT-FIREWALL-SV" {
name = "TF_FTNT-FIREWALL"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "FG-VM"
self_managed = true
byol = true
interface_count = 10
connectivity = "PRIVATE"
package_code = "VM02"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "7.6.3"
hostname = "test"
core_count = 2
term_length = 1
vendor_configuration = {
ipAddressType = "DHCP", managementInterfaceId= "6"
}
secondary_device {
name = "TF_FTNT-FIREWALL-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "fg-vm-znpd"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = { ipAddressType = "DHCP", managementInterfaceId= "6"}
}
}
# Create Fortinet firewall ha device with connectivity PRIVATE and IP Address Type as NO IP Address

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "FTNT-FIREWALL-SV" {
name = "TF_FTNT-FIREWALL"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "FG-VM"
interface_count = 10
self_managed = true
byol = true
connectivity = "PRIVATE"
package_code = "VM02"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "7.6.3"
hostname = "test"
core_count = 2
term_length = 1
vendor_configuration = {
ipAddressType = "NO_IP_ADDRESS"
}
secondary_device {
name = "TF_FTNT-FIREWALL-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "fg-vm-znpd"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = {
ipAddressType = "NO_IP_ADDRESS"
}
}
}
# Create FG VM ha device with connectivity PRIVATE and IP Address Type as STATIC

data "equinix_network_account" "sv" {
metro_code = "SV"
name = "account-name"
}

resource "equinix_network_device" "FTNT-FIREWALL-SV" {
name = "TF_FTNT-FIREWALL"
project_id = "XXXXXXXXXX"
metro_code = data.equinix_network_account.sv.metro_code
interface_count = 10
type_code = "FG-VM"
self_managed = true
byol = true
connectivity = "PRIVATE"
package_code = "VM02"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "7.6.3"
hostname = "test"
core_count = 2
term_length = 1
vendor_configuration = {
gatewayIp = "X.X.X.X"
ipAddress = "X.X.X.X"
ipAddressType = "STATIC"
subnetMaskIp = "x.x.x.x"
managementInterfaceId = "6"
}
secondary_device {
name = "TF_FTNT-FIREWALL-secondary"
metro_code = data.equinix_network_account.sv.metro_code
hostname = "fg-vm-znpd"
notifications = ["john@equinix.com", "marry@equinix.com"]
account_number = data.equinix_network_account.sv.number
vendor_configuration = {
gatewayIp = "X.X.X.X"
ipAddress = "X.X.X.X"
ipAddressType = "STATIC"
subnetMaskIp = "X.X.X.X"
managementInterfaceId = "6"
}
}
}
# Create 6WIND VSR HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "six-wind-vsr" {
name = "6WIND-VSR"
project_id = "xxxxxxx"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "6WIND-VSR"
self_managed = true
byol = true
interface_count = 10
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "3.10.8"
core_count = 2
term_length = 1
vendor_configuration = {
hostname = "test"
token = "xxxx"
}
ssh_key {
username = "xxxx"
key_name = "xxxxx"
}
secondary_device {
name = "6WIND-VSR-Sec"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
notifications = ["test@eq.com"]
vendor_configuration = {
hostname = "test"
token = "xxxx"
}
}
}
# Create Infoblox NIOS-X HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "nios-x-ha" {
name = "TF_INFOBLOX-NIOS-X"
project_id = "xxxxxxx"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "INFOBLOX-NIOSX"
self_managed = true
connectivity = "INTERNET-ACCESS"
byol = true
package_code = "STD"
notifications = ["test@eq.com"]
account_number = data.equinix_network_account.sv.number
version = "4.0"
core_count = 3
interface_count = 5
term_length = 1
vendor_configuration = {
hostname = "test"
token = "xxxxx"
}
secondary_device {
name = "TF_INFOBLOX-NIOS-X-Sec"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
notifications = ["test@eq.com"]
vendor_configuration = {
hostname = "test"
token = "xxxxx"
}
}
}
# Create NETSKOPE NPA HA device

data "equinix_network_account" "sv" {
metro_code = "SV"
}

resource "equinix_network_device" "netskope-npa" {
name = "NETSKOPE-NPA"
project_id = "xxxxxxx"
metro_code = data.equinix_network_account.sv.metro_code
type_code = "NETSKOPE-NPA"
self_managed = true
byol = true
interface_count = 1
package_code = "STD"
notifications = ["test@eq.com"]
connectivity = "PRIVATE"
account_number = data.equinix_network_account.sv.number
version = "R138"
core_count = 2
term_length = 1
vendor_configuration = {
hostname = "test"
privateCidrMask = "24"
ipAddressType = "STATIC"
ipAddress = "x.x.x.x"
gatewayIp = "x.x.x.x",
primaryNameServer = "x.x.x.x"
secondaryNameServer = "x.x.x.x"
dnsSearchDomain = "xxxxx"
}
secondary_device {
name = "NETSKOPE-NPA-Sec"
metro_code = data.equinix_network_account.sv.metro_code
account_number = data.equinix_network_account.sv.number
notifications = ["test@eq.com"]
vendor_configuration = {
hostname = "test"
privateCidrMask = "24"
ipAddressType = "STATIC"
ipAddress = "x.x.x.x"
gatewayIp = "x.x.x.x",
primaryNameServer = "x.x.x.x"
secondaryNameServer = "x.x.x.x"
dnsSearchDomain = "xxxxx"
}
}
}

Ejemplo: Añada un dispositivo secundario a un dispositivo de red principal​

Utilice el secondary_device bloque interior equinix_network_device para definir el nodo secundario para un par redundante. El dispositivo principal está configurado con argumentos de nivel superior y el dispositivo secundario está configurado en el interior secondary_device {}.

Cómo funciona​

  1. Haga referencia a la cuenta de red de destino con equinix_network_account.
  2. Defina el dispositivo principal resource "equinix_network_device"y cree un único dispositivo
  3. Añada un secondary_device bloque con los campos específicos secundarios.

Ejemplo​

# add_secondary_device example for C8000V with self-configured BYOL
data "equinix_network_account" "am" {
name = "YOUR_ACCOUNT_NAME"
metro_code = "AM"
project_id = "YOUR_PROJECT_ID"
}

resource "equinix_network_device" "c8kv_primary" {
name = "C8000V-primary"
project_id = "YOUR_PROJECT_ID"
metro_code = data.equinix_network_account.am.metro_code
license_token = "YOUR_LICENSE_TOKEN"
type_code = "C8000V"
self_managed = true
byol = true
tier = 1
package_code = "network-advantage"
generate_default_password = true
notifications = ["you@example.com"]
account_number = data.equinix_network_account.am.number
version = "17.11.01a"
hostname = "c8kv-primary"
core_count = 2
term_length = 1
additional_bandwidth = 5
interface_count = 10
connectivity = "INTERNET-ACCESS"
acl_template_id = "YOUR_ACL_TEMPLATE_ID"

ssh_key {
username = "YOUR_SSH_USERNAME"
key_name = "YOUR_SSH_KEY_NAME"
}

secondary_device {
name = "C8000V-secondary"
metro_code = data.equinix_network_account.am.metro_code
acl_template_id = "YOUR_ACL_TEMPLATE_ID"
notifications = ["you@example.com"]
hostname = "c8kv-secondary"
additional_bandwidth = 5
account_number = data.equinix_network_account.am.number
license_token = "YOUR_LICENSE_TOKEN"
vendor_configuration = { hostNamePrefix = "C8KV-secondary" }
ssh_key {
username = "YOUR_SSH_USERNAME"
key_name = "YOUR_SSH_KEY_NAME"
}
}
}

Argumento de referencia​

Se admiten los siguientes argumentos:

  • name - (Necesario) Nombre del dispositivo.
  • type_code - (Obligatorio) Código de tipo de dispositivo.
  • metro_code - (Obligatorio) Código de área metropolitana de ubicación del dispositivo.
  • hostname - (Opcional) prefijo de nombre de host del dispositivo.
  • package_code - (Obligatorio) Código del paquete de software del dispositivo.
  • version - (Obligatorio) versión de software del dispositivo.
  • core_count - (Necesario) Número de núcleos de CPU utilizados por el dispositivo. (NOTA: Utilice este campo para cambiar el tamaño de su dispositivo. Al cambiar el tamaño de sus dispositivos HA, primero se actualizará el dispositivo principal. Si no se ha podido actualizar, el dispositivo se volverá automáticamente al estado anterior con el número de núcleo original.)
  • tier - (Opcional, conflictos con throughput,throughput_unit ) Seleccione un nivel de ancho de banda para su propia licencia, es decir, 0 o 1 2 3. Niveles aplicables solo a los tipos de dispositivos autónomos C8000V o SDWAN (controlador) C8000V. Si no se proporciona, el nivel tiene el valor predeterminado "2".
  • term_length - (Obligatorio) Duración del plazo del dispositivo.
  • self_managed - (Opcional) Valor booleano que determina el modo de gestión del dispositivo, es decir, self-managed o Equinix-managed (predeterminado).
  • byol - (Opcional) Valor booleano que determina el modo de licencia del dispositivo, es decir, bring your own license o subscription (predeterminado).
  • license_token - (Opcional, conflictos con license_file) token de licencia aplicable a algunos tipos de dispositivos en el modo de licencia BYOL.
  • license_file - (Opcional) Ruta al archivo de licencia que se cargará y aplicará en un dispositivo. Aplicable a algunos tipos de dispositivos en el modo de licencia BYOL.
  • license_file_id - (Opcional, conflictos con license_file) Identificador de un archivo de licencia que se aplicará en el dispositivo.
  • cloud_init_file_id - (Opcional) Identificador de un archivo de inicio en la nube que se aplicará en el dispositivo.
  • throughput - Rendimiento de la licencia de dispositivos (opcional).
  • throughput_unit - (Opcional) Unidad de rendimiento de licencia. Uno de Mbps o Gbps.
  • account_number - (Obligatorio) Número de cuenta de facturación para un dispositivo.
  • notifications - (Obligatorio) Lista de direcciones de correo electrónico que recibirán notificaciones de estado del dispositivo.
  • purchase_order_number - Número de orden de compra (opcional) asociado a un pedido de dispositivo. Para las cuentas de facturación que requieren una orden de compra, este campo es obligatorio.
  • order_reference - (Opcional) Nombre/número utilizado para identificar el pedido del dispositivo en la factura.
  • acl_template_id - (Opcional) Identificador de una plantilla de ACL de interfaz WAN que se aplicará en el dispositivo.
  • mgmt_acl_template_uuid - (Opcional) Identificador de una plantilla de ACL de interfaz MGMT que se aplicará en el dispositivo.
  • additional_bandwidth - (Opcional) Ancho de banda de Internet adicional, en Mbps, que se asignará al dispositivo (además de 15 Mbps predeterminados).
  • interface_count - (Opcional) Número de interfaces de red en un dispositivo. Si no se especifica, se utilizará el número predeterminado para un tipo de dispositivo determinado.
  • wan_interafce_id - (Opcional) Especifique el ID de interfaz WAN/SSH. Si no se especifica, se utilizará la interfaz WAN/SSH predeterminada para un tipo de dispositivo determinado.
  • vendor_configuration - (Opcional) Mapa de parámetros de configuración específicos del proveedor para un dispositivo (controller1, activationKey, managementType, SiteID, systemIpAddress, privateAddress, privateCidrMask, privateGateway, LICENSEKEY, LicenseId, panoramaAuthKey, panoramaIpAddress, ProvisisioningKey, IPAddress (aplicable solo para infoblox), subnetMaskIp (aplicable solo para infoblox), gatewayIp (aplicable solo para infoblox), token (unirse al token aplicable solo a los dispositivos Infoblox NIOS-X y obligatorio cuando type_code es INFOBLOX-NIOSX))
  • ssh-key - (Opcional) Definición de clave SSH que se aprovisionará en un dispositivo (máximo una clave). Consulte la clave SSH a continuación para obtener más detalles.
  • secondary_device - (Opcional) Definición de dispositivo secundario para configuraciones de dispositivos redundantes. Consulte Dispositivo secundario a continuación para obtener más detalles.
  • cluster_details - (Opcional) Un objeto que tiene los detalles del clúster. Consulte los detalles del clúster a continuación para obtener más detalles.
  • connectivity - (Opcional) Accesibilidad del dispositivo (ACCESO A INTERNET o PRIVADO o ACCESO A INTERNET-CON-PRVT-MGMT). Si no se especifica, el valor predeterminado será INTERNET-ACCESS
  • project_id - (Opcional) Identificador único para el recurso del proyecto en el que el dispositivo está previsto. Si lo deja fuera, el dispositivo se creará con el ID de proyecto predeterminado de su organización.
  • diverse_device_id - (Opcional) ID único de un dispositivo existente. Utilice este campo para informar a Equinix si desea que su nuevo dispositivo esté en una ubicación diferente de cualquier dispositivo virtual existente. Este campo solo tiene sentido para dispositivos individuales.
  • generate_default_password - (Opcional) Valor booleano que determina crear dispositivo con o sin contraseña predeterminada. Utilice este campo para informar a Equinix si desea que su nuevo dispositivo se cree con la contraseña de administrador predeterminada. Este campo solo tiene sentido para dispositivos autónomos C8000V (único/ha) y cortafuegos Fortinet (único/ha/clúster). Si no se especifica, el dispositivo por defecto se crea con contraseña de administrador.

Dispositivo secundario​

-> NOTA: Network Edge ofrece diferentes opciones de alta disponibilidad (HA). Al definir un secondary_device bloque, terraform implementará dispositivos redundantes , útiles para clientes que requieren dos planos de datos de reenvío activo (activo/activo) en pilas de hardware separadas. Consulte la documentación deArchitecting for Resiliency para obtener más información sobre las soluciones tolerantes a fallos que puede lograr.

El secondary_device bloque admite los siguientes argumentos:

  • name - (Necesario) Nombre del dispositivo secundario.
  • metro_code - (Necesario) Ubicación metropolitana de un dispositivo secundario.
  • hostname - (Opcional) Nombre de host del dispositivo secundario.
  • license_token - (Opcional, conflictos con license_file) Se puede proporcionar token de licencia para algunos tipos de dispositivos del dispositivo.
  • license_file - (Opcional) Ruta al archivo de licencia que se cargará y aplicará en un dispositivo secundario. Aplicable a algunos tipos de dispositivos en el modo de licencia BYOL.
  • license_file_id - (Opcional, conflictos con license_file) Identificador de un archivo de licencia que se aplicará en un dispositivo secundario.
  • cloud_init_file_id - (Opcional) Identificador de un archivo de inicio en la nube que se aplicará en un dispositivo secundario.
  • account_number - (Obligatorio) Número de cuenta de facturación para el dispositivo secundario.
  • notifications - (Obligatorio) Lista de direcciones de correo electrónico que recibirán notificaciones sobre el dispositivo secundario.
  • additional_bandwidth - (Opcional) Ancho de banda de Internet adicional, en Mbps, para un dispositivo secundario.
  • vendor_configuration - (Opcional) pares clave/valor de parámetros de configuración específicos del proveedor para un dispositivo secundario. Los valores clave son controller1, activationKey, managementType, , , siteId``systemIpAddress``privateAddress, privateCidrMask, privateGateway licenseKey, , , licenseId``panoramaAuthKey, panoramaIpAddress, ipAddress, , subnetMaskIp gatewayIp.
  • acl_template_id - (Opcional) Identificador de una plantilla de ACL de interfaz WAN que se aplicará en un dispositivo secundario.
  • mgmt_acl_template_uuid - (Opcional) Identificador de una plantilla de ACL de interfaz MGMT que se aplicará en un dispositivo secundario.
  • ssh-key - (Opcional) Hasta una definición de clave SSH que se aprovisionará en un dispositivo secundario.

Clave SSH​

El ssh_key bloque admite los siguientes argumentos:

  • username - (Obligatorio) nombre de usuario asociado a la clave dada.
  • name - (Opcional) Referencia por nombre a la clave SSH pública previamente aprovisionada.

Detalles del clúster​

-> NOTA: Network Edge ofrece diferentes opciones de alta disponibilidad (HA). Al definir un cluster_details bloque, terraform implementará un Device Clustering. Esta opción, basada en características específicas del proveedor, permite a los clientes implementar configuraciones resilientes más avanzadas que secondary_device. Consulte la documentación deOpciones de HA de Network Edge para saber qué proveedores admiten dispositivos agrupados. Consulte la documentación deArchitecting for Resiliency para obtener más información sobre las soluciones tolerantes a fallos que puede lograr.

El cluster_details bloque admite los siguientes argumentos:

  • cluster_name - (Obligatorio) El nombre del dispositivo del clúster
  • node0 - (Necesario) Un objeto que tiene node0 configuración. Consulte Detalles del clúster - Nodos a continuación para obtener más detalles.
  • node1 - (Necesario) Un objeto que tiene node1 configuración. Consulte Detalles del clúster - Nodos a continuación para obtener más detalles.

Detalles del clúster - Nodos​

Los node0bloques y node1admiten los siguientes argumentos:

  • vendor_configuration - (Opcional) Un objeto que tiene campos relevantes para el proveedor del dispositivo del clúster. Consulte Detalles del clúster - Nodos - Configuración del proveedor a continuación para obtener más detalles.
  • license_file_id - (Opcional) ID de archivo de licencia. Esto es necesario para los clústeres de Fortinet y Juniper.
  • license_token - (Opcional) token de licencia. Esto es necesario para los clústeres de Palo Alto.

Detalles del clúster - Nodos - Configuración del proveedor​

El vendor_configuration bloque admite los siguientes argumentos:

  • hostname - (Opcional) Nombre de host. Esto es necesario para los clústeres de Palo Alto, Juniper y Fortinet.
  • admin_password - (Opcional) La contraseña administrativa del dispositivo. Puede usarlo para iniciar sesión en la consola. Este campo no está disponible para todos los tipos de dispositivos.
  • controller1 - (Opcional) Dirección IP del sistema. Obligatorio para el dispositivo de clúster SDWAN de Fortinet.
  • activation_key - Clave de activación (opcional). Esto es necesario para los clústeres de VeloCloud.
  • controller_fqdn - (Opcional) Controlador fqdn. Esto es necesario para los clústeres de VeloCloud.
  • root_password - (Opcional) La contraseña CLI del dispositivo. Este campo solo es relevante para el clúster SDWAN de VeloCloud.
  • panorama_ip_address - (Opcional) Dirección IP del servidor panorámico. Este campo solo es relevante para que los dispositivos de cortafuegos PA-VM tengan integración con Panorama Server.
  • panorama_auth_key - (Opcional) Clave de autenticación del servidor panorámico. Este campo solo es relevante para que los dispositivos de cortafuegos PA-VM tengan integración con Panorama Server.
  • provisioning_key - (Opcional) Clave de aprovisionamiento. Este campo solo es relevante para los dispositivos ZSCALER APPC y ZSCALER PSE.
  • ip_address - (Opcional) Dirección IP. Este campo solo es relevante para los dispositivos Infoblox.
  • subnet_mask_ip - (Opcional) IP de la máscara de subred. Este campo solo es relevante para los dispositivos Infoblox.
  • gateway_ip - (Opcional) IP de puerta de enlace. Este campo solo es relevante para los dispositivos Infoblox.

Atributos Referencia​

Además de todos los argumentos anteriores, se exportan los siguientes atributos:

  • uuid - Identificador único del dispositivo.
  • status - Estado de aprovisionamiento del dispositivo. Los valores posibles son INITIALIZING, PROVISIONING WAITING_FOR_PRIMARY, , , , WAITING_FOR_SECONDARY``WAITING_FOR_REPLICA_CLUSTER_NODES``CLUSTER_SETUP_IN_PROGRESS, FAILED, PROVISIONED DEPROVISIONING, , , DEPROVISIONED``RESOURCE_UPGRADE_IN_PROGRESS, RESOURCE_UPGRADE_FAILED.
  • license_status - Estado de registro de la licencia del dispositivo. Los valores posibles son APPLYING_LICENSE, REGISTERED APPLIED, , WAITING_FOR_CLUSTER_SETUP REGISTRATION_FAILED.
  • license_file_id - Identificador único del archivo de licencia aplicado.
  • ibx - Ubicación del dispositivo Nombre del intercambio comercial Equinix.
  • region - Región de ubicación del dispositivo.
  • acl_template_id - Identificador único de la plantilla de ACL aplicada.
  • ssh_ip_address - Dirección IP de la interfaz SSH habilitada en el dispositivo.
  • ssh_ip_fqdn - FQDN de la interfaz SSH habilitada en el dispositivo.
  • redundancy_type - Tipo de redundancia de dispositivos aplicable a dispositivos de HA, ya sean primarios o secundarios.
  • redundant_id - Identificador único de un dispositivo redundante aplicable a los dispositivos de HA.
  • interface - Lista de interfaces de dispositivos. Consulte el atributo de interfaz a continuación para obtener más detalles.
  • asn - (Número del sistema autónomo) Identificador único para una red en Internet.
  • zone_code - Código de zona de ubicación del dispositivo.
  • cluster_id - El ID del clúster.
  • num_of_nodes - El número de nodos en el clúster.
  • diverse_device_name - Nombre del dispositivo con UUID diverso del dispositivo. Este campo se devuelve en los detalles del dispositivo si el dispositivo se crea pasando Diverse_Device_id.

Atributo de interfaz​

Cada atributo de interfaz tiene los siguientes campos:

  • id - identificador de interfaz.
  • name - nombre de la interfaz.
  • status - estado de la interfaz. Uno de AVAILABLE RESERVED, , ASSIGNED.
  • operational_status - estado operativo de la interfaz. Uno de up, down.
  • mac_address - Dirección MAC de interfaz.
  • ip_address - Dirección IP de la interfaz.
  • assigned_type - Tipo de gestión de interfaz (Equinix Managed o vacío).
  • type - tipo de interfaz.

Tiempos de espera​

Este recurso proporciona las siguientes opciones deconfiguración de tiempos de espera:

  • crear - Por defecto son 90 minutos
  • actualización - Por defecto son 90 minutos
  • borrar - Por defecto son 30 minutos

Importar​

Este recurso puede importarse utilizando un ID existente:

terraform import equinix_network_device.example {existing_id}

Los camposlicense_token , mgmt_acl_template_uuid y cloud_init_file_idno se pueden importar.

¿Le ha resultado útil esta página?