equinix_dispositivo_de_red (Recurso)
El recurso equinix_network_device permite la creación y gestión de dispositivos de red virtuales Network Edge de Equinix.
Los dispositivos de red virtuales Network Edge pueden crearse de dos modos:
- managed - (por defecto) Cuando Equinix gestiona la conectividad y los servicios en el dispositivo y el cliente obtiene un acceso limitado al mismo.
- autoconfigurado - Cuando el cliente aprovisiona y gestiona sus propios servicios en el dispositivo con un acceso menos restringido. Algunos tipos de dispositivos sólo 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 la licencia de software, incluido el soporte de extremo a extremo, y factura por el servicio respectivamente.
- BYOL - [traiga su propia licencia] Donde el cliente trae su propia licencia de software de dispositivo ya adquirida. No hay cargos asociados a dicha licencia. Es el único modo de licencia para dispositivos
self-configured.
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"
}
}
}
Argumento de referencia
Se admiten los siguientes argumentos:
name- (Obligatorio) Nombre del dispositivo.type_code- (Obligatorio) Código de tipo de dispositivo.metro_code- (Obligatorio) Código de metro de la ubicación del dispositivo.hostname- (Opcional) Prefijo del nombre de host del dispositivo.package_code- (Obligatorio) Código del paquete de software del dispositivo.version- (Obligatorio) Versión del software del dispositivo.core_count- (Obligatorio) Número de núcleos de CPU utilizados por el dispositivo. (NOTA: Utilice este campo para redimensionar su dispositivo. Al redimensionar sus dispositivos de HA, se actualizará primero el dispositivo primario. Si la actualización falla, el dispositivo volverá automáticamente al estado anterior con el número de núcleos original.)tier- (Opcional, entra en conflicto conthroughput,throughput_unit) Seleccione el nivel de ancho de banda para su propia licencia, es decir,0o1o2o3. Niveles aplicables sólo para los tipos de dispositivo C8000V Autónomo o C8000V SDWAN (controlador). Si no se proporciona, el nivel por defecto es "2".term_length- (Obligatorio) Longitud del plazo del dispositivo.self_managed- (Opcional) Valor booleano que determina el modo de gestión del dispositivo, es decir,self-managedoEquinix-managed(por defecto).byol- (Opcional) Valor booleano que determina el modo de licencia del dispositivo, es decir,bring your own licenseosubscription(por defecto).license_token- (Opcional, entra en conflicto conlicense_file) Token de licencia aplicable para algunos tipos de dispositivos en modo de licencia BYOL.license_file- (Opcional) Ruta al archivo de licencia que se cargará y aplicará en un dispositivo. Aplicable para algunos tipos de dispositivos en el modo de licencia BYOL.license_file_id- (Opcional, entra en conflicto conlicense_file) Identificador de un archivo de licencia que se aplicará en el dispositivo.cloud_init_file_id- (Opcional) Identificador de un archivo cloud init que se aplicará en el dispositivo.throughput- (Opcional) Rendimiento de la licencia del dispositivo.throughput_unit- (Opcional) Unidad de caudal de licencia. Una deMbpsoGbps.account_number- (Obligatorio) Número de cuenta de facturación de un dispositivo.notifications- (Obligatorio) Lista de direcciones de correo electrónico que recibirán notificaciones sobre el estado del dispositivo.purchase_order_number- (Opcional) Número de pedido de compra 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 ACL de interfaz WAN que se aplicará en el dispositivo.mgmt_acl_template_uuid- (Opcional) Identificador de una plantilla 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 los 15Mbps 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 la 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, provisioningKey, ipAddress(aplicable sólo a infoblox), subnetMaskIp(aplicable sólo a infoblox), gatewayIp(aplicable sólo a infoblox)).ssh-key- (Opcional) Definición de la clave SSH que se aprovisionará en un dispositivo (máximo una clave). Consulte [Clave SSH](#clave SSH) más abajo para obtener más detalles.secondary_device- (Opcional) Definición del dispositivo secundario para configuraciones de dispositivos redundantes. Consulte Dispositivo secundario a continuación para obtener más detalles.cluster_details- (Opcional) Un objeto que contiene los detalles del cluster. Consulte Detalles del clúster a continuación para obtener más detalles.connectivity- (Opcional) Accesibilidad del dispositivo (INTERNET-ACCESS o PRIVATE o INTERNET-ACCESS-WITH-PRVT-MGMT). Si no se especifica, por defecto será INTERNET-ACCESSproject_id- (Opcional) Identificador único para el recurso del proyecto al que está asignado el dispositivo. Si lo omite, el dispositivo se creará con el identificador de proyecto predeterminado de su organización.diverse_device_id- (Opcional) ID único de un dispositivo existente. Utilice este campo para comunicar a Equinix si desea que su nuevo dispositivo se encuentre en una ubicación diferente a la de cualquier dispositivo virtual existente. Este campo sólo es significativo para dispositivos únicos.generate_default_password- (Opcional) Valor booleano que determina crear el dispositivo con o sin contraseña predeterminada. Utilice este campo para comunicar a Equinix si desea que su nuevo dispositivo se cree con la contraseña de administrador predeterminada. Este campo sólo es significativo para los dispositivos C8000V Autonomous(single/ha) y Fortinet Firewall(single/ha/cluster). Si no se especifica, por defecto el dispositivo se crea con la contraseña admin.
Dispositivo secundario
-> NOTA: Network Edge proporciona diferentes opciones de Alta Disponibilidad (HA). Al definir un bloque secondary_device, terraform desplegará [Dispositivos redundantes, útil para clientes que requieren dos planos de datos de reenvío activo (Activo/Activo) en pilas de hardware separadas. Consulte la documentación [Architecting for Resiliency para saber más sobre las soluciones tolerantes a fallos que puede conseguir.
El bloque secondary_device admite los siguientes argumentos:
name- (Obligatorio) Nombre del dispositivo secundario.metro_code- (Obligatorio) Ubicación del metro de un dispositivo secundario.hostname- (Opcional) Nombre de host del dispositivo secundario.license_token- (Opcional, entra en conflicto conlicense_file) El token de licencia puede proporcionarse para algunos tipos de dispositivos o el dispositivo.license_file- (Opcional) Ruta al archivo de licencia que se cargará y aplicará en un dispositivo secundario. Aplicable para algunos tipos de dispositivos en el modo de licencia BYOL.license_file_id- (Opcional, entra en conflicto conlicense_file) Identificador de un archivo de licencia que se aplicará en un dispositivo secundario.cloud_init_file_id- (Opcional) Identificador de un archivo cloud init 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 soncontroller1,activationKey,managementType,siteId,systemIpAddress,privateAddress,privateCidrMask,privateGateway,licenseKey,licenseId,panoramaAuthKey,panoramaIpAddress,ipAddress,subnetMaskIp,gatewayIp.acl_template_id- (Opcional) Identificador de una plantilla ACL de interfaz WAN que se aplicará en un dispositivo secundario.mgmt_acl_template_uuid- (Opcional) Identificador de una plantilla 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 bloque ssh_key admite los siguientes argumentos:
username- (Obligatorio) Nombre de usuario asociado a la clave dada.name- (Opcional) Referencia por nombre a la clave pública SSH previamente aprovisionada.
Detalles del clúster
-> NOTA: Network Edge proporciona diferentes opciones de Alta Disponibilidad (HA). Al definir un bloque cluster_details, terraform desplegará un Device Clustering. Esta opción, basada en características específicas del proveedor, permite a los clientes desplegar configuraciones de alta disponibilidad más avanzadas que secondary_device. Consulte la documentación [Network Edge HA Options para saber qué proveedores admiten dispositivos agrupados. Consulte la documentación [Architecting for Resiliency para saber más sobre las soluciones tolerantes a fallos que puede conseguir.
El bloque cluster_details admite los siguientes argumentos:
cluster_name- (Obligatorio) El nombre del dispositivo de clústernode0- (Obligatorio) Un objeto que tienenode0configuración. Consulte Detalles del clúster - Nodos a continuación para obtener más detalles.node1- (Obligatorio) Un objeto que tienenode1configuración. Consulte Detalles del clúster - Nodos a continuación para obtener más detalles.
Detalles del clúster - Nodos
Los bloques node0 y node1 admiten los siguientes argumentos:
vendor_configuration- (Opcional) Un objeto que tiene campos relevantes para el proveedor del dispositivo de cluster. Consulte Detalles del clúster - Nodos - Configuración del proveedor a continuación para obtener más detalles.license_file_id- (Opcional) Id. del archivo de licencia. Es necesario para los clústeres de Fortinet y Juniper.license_token- (Opcional) Token de licencia. Es necesario para los clusters de Palo Alto.
Detalles del clúster - Nodos - Configuración del proveedor
El bloque vendor_configuration admite los siguientes argumentos:
hostname- (Opcional) Nombre de host. Es necesario para los clústeres de Palo Alto, Juniper y Fortinet.admin_password- (Opcional) La contraseña administrativa del dispositivo. Puede utilizarla para iniciar sesión en la consola. Este campo no está disponible para todos los tipos de dispositivo.controller1- (Opcional) Dirección IP del sistema. Obligatorio para el dispositivo de clúster SDWAN de Fortinet.activation_key- (Opcional) Clave de activación. Es necesaria para los clusters Velocloud.controller_fqdn- (Opcional) Fqdn del controlador. Es necesario para los clusters Velocloud.root_password- (Opcional) La contraseña CLI del dispositivo. Este campo sólo es relevante para el clúster Velocloud SDWAN.panorama_ip_address- (Opcional) Dirección IP del servidor de Panorama. Este campo sólo es relevante para que los dispositivos cortafuegos PA-VM tengan integración con el Servidor de Panorama.panorama_auth_key- (Opcional) Clave de autenticación del servidor de Panorama. Este campo sólo es relevante para que los dispositivos cortafuegos PA-VM tengan integración con el Servidor de Panorama.provisioning_key- (Opcional) Clave de aprovisionamiento. Este campo sólo es relevante para los dispositivos ZSCALER APPC y ZSCALER PSE.ip_address- (Opcional) Dirección IP. Este campo sólo es relevante para los dispositivos Infoblox.subnet_mask_ip- (Opcional) Máscara de subred IP. Este campo sólo es relevante para los dispositivos Infoblox.gateway_ip- (Opcional) IP de la puerta de enlace. Este campo sólo 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 sonINITIALIZING,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 sonAPPLYING_LICENSE,REGISTERED,APPLIED,WAITING_FOR_CLUSTER_SETUP,REGISTRATION_FAILED.license_file_id- Identificador único del archivo de licencia aplicado.ibx- Ubicación del dispositivo Equinix Business Exchange name.region- Región de ubicación del dispositivo.acl_template_id- Identificador único de la plantilla ACL aplicada.ssh_ip_address- Dirección IP de la interfaz habilitada para SSH en el dispositivo.ssh_ip_fqdn- FQDN de la interfaz habilitada para SSH en el dispositivo.redundancy_type- Tipo de redundancia del dispositivo aplicable a los dispositivos de HA, ya sea primaria o secundaria.redundant_id- Identificador único para un dispositivo redundante aplicable para dispositivos HA.interface- Lista de interfaces de dispositivos. Consulte Atributo de interfaz a continuación para obtener más detalles.asn- (Número de 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 del clúster.diverse_device_name- Nombre del dispositivo con UUID de dispositivo diverso. Este campo se devuelve en los detalles del dispositivo si éste 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 deAVAILABLE,RESERVED,ASSIGNED.operational_status- estado operativo de la interfaz. Uno deup,down.mac_address- dirección MAC de la interfaz.ip_address- dirección IP de la interfaz.assigned_type- tipo de gestión de la interfaz (Equinix Managed o vacía).type- tipo de interfaz.
Tiempos de espera
Este recurso proporciona las siguientes opciones de [Configuració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 campos license_token, mgmt_acl_template_uuid y cloud_init_file_id no se pueden importar.