Passer au contenu principal

périphérique réseau equinix (Ressource)

La ressource equinix_network_device permet la création et la gestion de périphériques réseau virtuels Equinix Network Edge.

Les périphériques réseau virtuels Network Edge peuvent être créés dans deux modes :

  • Géré : (par défaut) où Equinix gère la connectivité et les services dans l'appareil et où le client obtient un accès limité à l'appareil.
  • Auto-configuré - où le client provisionne et gère ses propres services dans l'appareil avec un accès moins restreint. Certains types d'appareils sont proposés uniquement dans ce mode.

Outre les modes de gestion, deux modes de licence logicielle sont disponibles:

  • Abonnement - où Equinix fournit respectivement une licence logicielle, y compris une assistance de bout en bout, et des factures pour le service.
  • BYOL - [apportez votre propre licence] où le client apporte sa propre licence logicielle pour appareil déjà achetée. Il n'y a pas de frais associés à une telle licence. Il s'agit du seul mode de licence pour self-configured les appareils.

Exemple d'utilisation​

# 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"
}
}
}

Exemple : Ajouter un dispositif secondaire à un dispositif réseau principal​

Utilisez le secondary_device bloc à l'intérieur equinix_network_device pour définir le nœud secondaire d'une paire redondante. Le dispositif principal est configuré avec des arguments de niveau supérieur et le dispositif secondaire est configuré dans secondary_device {}.

Fonctionnement​

  1. Référencer le compte réseau cible avec equinix_network_account.
  2. Définissez le dispositif principal dans resource "equinix_network_device" et créez un dispositif unique
  3. Ajoutez un secondary_device bloc avec les champs spécifiques aux champs secondaires.

Exemple​

# 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"
}
}
}

Référence de l'argument​

Les arguments suivants sont étayés:

  • name - (Obligatoire) nom de l'appareil.
  • type_code - (Obligatoire) Code du type d'appareil.
  • metro_code - (Obligatoire) Code métropolitain d'emplacement de l'appareil.
  • hostname - (Facultatif) préfixe du nom d'hôte du dispositif.
  • package_code - (Obligatoire) Code du progiciel du dispositif.
  • version - (Obligatoire) version logicielle du dispositif.
  • core_count - (Obligatoire) nombre de cœurs de processeur utilisés par l'appareil. (REMARQUE : Utilisez ce champ pour redimensionner votre appareil. Lors du redimensionnement de vos appareils haute disponibilité, l'appareil principal sera mis à niveau en premier. Si la mise à niveau a échoué, l'appareil sera automatiquement restauré à l'état précédent avec le numéro de core d'origine. )
  • tier - (Facultatif, conflits avec throughput,throughput_unit ) sélectionnez le niveau de bande passante pour votre propre licence, c'est-à-dire, 0 ou 1 ou 2 ou 3. Niveaux applicables uniquement aux types d'appareil autonome C8000V ou SDWAN (contrôleur) C8000V. Si ce niveau n'est pas fourni, le niveau est défini par défaut sur « 2 ».
  • term_length - (Obligatoire) durée du dispositif.
  • self_managed - (Facultatif) valeur booléenne qui détermine le mode de gestion des périphériques, c'est-à-dire, self-managed ou Equinix-managed (par défaut).
  • byol - (Facultatif) valeur booléenne qui détermine le mode de licence du dispositif, c.-à-d., bring your own license ou subscription (par défaut).
  • license_token - (Facultatif, conflits avec license_file) jeton de licence applicable à certains types d'appareils en mode de licence BYOL.
  • license_file - (Facultatif) chemin d'accès au fichier de licence qui sera téléchargé et appliqué sur un appareil. Applicable à certains types d'appareils en mode de licence BYOL.
  • license_file_id - (Facultatif, conflits avec license_file) identifiant d'un fichier de licence qui sera appliqué sur l'appareil.
  • cloud_init_file_id - (Facultatif) identifiant d'un fichier d'initialisation cloud qui sera appliqué sur l'appareil.
  • throughput - (Facultatif) débit de licence de l'appareil.
  • throughput_unit - (Facultatif) unité de débit de licence. MbpsOu Gbps.
  • account_number - (Obligatoire) numéro de compte de facturation pour un appareil.
  • notifications - (Obligatoire) liste des adresses e-mail qui recevront des notifications d'état de l'appareil.
  • purchase_order_number - (Facultatif) numéro de bon de commande associé à une commande d'appareil. Pour les comptes de facturation nécessitant un bon de commande, ce champ est obligatoire.
  • order_reference - (Facultatif) nom/numéro utilisé pour identifier la commande d'appareil sur la facture.
  • acl_template_id - (Facultatif) identifiant d'un modèle de liste de contrôle d'accès d'interface WAN qui sera appliqué sur l'appareil.
  • mgmt_acl_template_uuid - (Facultatif) identifiant d'un modèle de liste de contrôle d'accès d'interface MGMT qui sera appliqué sur l'appareil.
  • additional_bandwidth - (Facultatif) bande passante Internet supplémentaire, en Mbit/s, qui sera allouée à l'appareil (en plus des 15 Mbit/s par défaut).
  • interface_count - (Facultatif) nombre d'interfaces réseau sur un appareil. S'il n'est pas spécifié, le numéro par défaut pour un type de dispositif donné sera utilisé.
  • wan_interafce_id - (Facultatif) spécifiez l'identifiant de l'interface WAN/SSH. Si elle n'est pas spécifiée, l'interface WAN/SSH par défaut pour un type de dispositif donné sera utilisée.
  • vendor_configuration - (Facultatif) carte des paramètres de configuration spécifiques au fournisseur pour un appareil (contrôle1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey, ipAddress(applicable pour infoblox uniquement), subnetMaskIp(applicable pour infoblox uniquement), gatewayIp(applicable pour infoblox uniquement), jeton (jeton de jointure applicable uniquement aux appareils NIOS-X Infoblox et requis lorsque type_code IS INFOBLOX-NIOSX)
  • ssh-key - (Facultatif) définition de la clé SSH qui sera provisionnée sur un appareil (maximum une clé). Voir clé SSH ci-dessous pour plus de détails.
  • secondary_device - (Facultatif) définition du dispositif secondaire pour les configurations de dispositif redondant. Voir appareil secondaire ci-dessous pour plus de détails.
  • cluster_details - (Facultatif) un objet qui contient les détails du cluster. Pour plus de détails, reportez-vous aux détails du cluster ci-dessous.
  • connectivity - (Facultatif) accessibilité de l'appareil (ACCÈS INTERNET ou PRIVÉ ou ACCÈS INTERNET AVEC PRVT-MGMT). Si ce paramètre n'est pas spécifié, la valeur par défaut sera ACCÈS À INTERNET
  • project_id - (Facultatif) identifiant unique de la ressource de projet à laquelle le dispositif est rattaché.si vous l'ignorez, le dispositif sera créé sous l'identifiant de projet par défaut de votre organisation.
  • diverse_device_id - (Facultatif) identifiant unique d'un appareil existant. Utilisez ce champ pour indiquer à Equinix si vous souhaitez que votre nouvel appareil se trouve dans un emplacement différent de tout appareil virtuel existant. Ce champ n'est significatif que pour un seul appareil.
  • generate_default_password - (Facultatif) valeur booléenne qui détermine de créer un appareil avec ou sans mot de passe par défaut. Utilisez ce champ pour indiquer à Equinix si vous souhaitez que votre nouvel appareil soit créé avec le mot de passe administrateur par défaut. Ce champ n'est significatif que pour les dispositifs autonomes C8000V (simple/ha) et de pare-feu Fortinet (simple/ha/cluster). Si ce paramètre n'est pas spécifié, l'appareil est créé par défaut avec un mot de passe administrateur.

Appareil secondaire​

-> REMARQUE : Network Edge propose différentes options de haute disponibilité (HA). En définissant un secondary_device bloc, terraform déploiera des dispositifs redondants , utiles pour les clients qui ont besoin de deux plans de données de transfert actif (actif/actif) sur des piles matérielles distinctes. Pour en savoir plus sur les solutions tolérantes aux pannes que vous pouvez obtenir, consultez la documentationsur l'architecture pour la résilience.

Le secondary_device bloc prend en charge les arguments suivants :

  • name - (Obligatoire) nom du dispositif secondaire.
  • metro_code - (Obligatoire) emplacement métropolitain d'un appareil secondaire.
  • hostname - (Facultatif) nom d'hôte du dispositif secondaire.
  • license_token - (Facultatif, conflits avec license_file) un jeton de licence peut être fourni pour certains types de dispositif.
  • license_file - (Facultatif) chemin d'accès au fichier de licence qui sera téléchargé et appliqué sur un appareil secondaire. Applicable à certains types d'appareils en mode de licence BYOL.
  • license_file_id - (Facultatif, conflits avec license_file) identifiant d'un fichier de licence qui sera appliqué sur un appareil secondaire.
  • cloud_init_file_id - (Facultatif) identifiant d'un fichier d'initialisation cloud qui sera appliqué sur un appareil secondaire.
  • account_number - (Obligatoire) numéro de compte de facturation pour l’appareil secondaire.
  • notifications - (Obligatoire) liste des adresses e-mail qui recevront des notifications sur l'appareil secondaire.
  • additional_bandwidth - (Facultatif) bande passante Internet supplémentaire, en Mbit/s, pour un appareil secondaire.
  • vendor_configuration - (Facultatif) paires clé/valeur de paramètres de configuration spécifiques au fournisseur pour un dispositif secondaire. Les valeurs clés sont controller1, activationKey, , managementType, , siteId systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, , licenseId``panoramaAuthKey, panoramaIpAddress, ipAddress, , subnetMaskIp gatewayIp.
  • acl_template_id - (Facultatif) identifiant d'un modèle de liste de contrôle d'accès d'interface WAN qui sera appliqué sur un dispositif secondaire.
  • mgmt_acl_template_uuid - (Facultatif) identifiant d'un modèle de liste de contrôle d'accès d'interface MGMT qui sera appliqué sur un appareil secondaire.
  • ssh-key - (Facultatif) jusqu'à une définition de clé SSH qui sera provisionnée sur un appareil secondaire.

Clé SSH​

Le ssh_key bloc prend en charge les arguments suivants :

  • username - (Obligatoire) nom d'utilisateur associé à la clé donnée.
  • name - (Facultatif) référence par nom à une clé SSH publique préalablement provisionnée.

Détails de la grappe​

-> REMARQUE : Network Edge propose différentes options de haute disponibilité (HA). En définissant un cluster_details bloc, terraform déploiera un Device Clustering. Basée sur des fonctionnalités spécifiques au fournisseur, cette option permet aux clients de déployer des configurations résilientes plus avancées que secondary_device. Consultez la documentationsur les options HA Network Edge pour savoir quels fournisseurs prennent en charge les périphériques en cluster. Pour en savoir plus sur les solutions tolérantes aux pannes que vous pouvez obtenir, consultez la documentationsur l'architecture pour la résilience.

Le cluster_details bloc prend en charge les arguments suivants :

  • cluster_name - (Obligatoire) le nom du dispositif de cluster
  • node0 - (Obligatoire) un objet qui a node0 une configuration. Pour plus de détails, reportez-vous à la section Détails du cluster - nœuds ci-dessous.
  • node1 - (Obligatoire) un objet qui a node1 une configuration. Pour plus de détails, reportez-vous à la section Détails du cluster - nœuds ci-dessous.

Détails du groupe - Nœuds​

Les node0blocs et node1prennent en charge les arguments suivants :

  • vendor_configuration - (Facultatif) un objet qui contient des champs pertinents pour le fournisseur du dispositif de cluster. Pour plus de détails, reportez-vous à la section Détails du cluster - nœuds - Configuration du fournisseur ci-dessous.
  • license_file_id - (Facultatif) identifiant du fichier de licence. Ceci est nécessaire pour les clusters Fortinet et Juniper.
  • license_token - (Facultatif) jeton de licence. Ceci est nécessaire pour les clusters de Palo Alto.

Détails de la grappe - Nœuds - Configuration du fournisseur​

Le vendor_configuration bloc prend en charge les arguments suivants :

  • hostname - (Facultatif) nom d'hôte. Ceci est nécessaire pour les clusters Palo Alto, Juniper et Fortinet.
  • admin_password - (Facultatif) le mot de passe administratif de l'appareil. Vous pouvez l'utiliser pour vous connecter à la console. Ce champ n'est pas disponible pour tous les types d'appareils.
  • controller1 - (Facultatif) adresse IP du système. Obligatoire pour le dispositif de cluster SDWAN Fortinet.
  • activation_key - (Facultatif) clé d'activation. Ceci est requis pour les clusters Velocloud.
  • controller_fqdn - (Facultatif) fqdn du contrôleur. Ceci est requis pour les clusters Velocloud.
  • root_password - (Facultatif) le mot de passe CLI de l'appareil. Ce champ est pertinent uniquement pour le cluster SDWAN Velocloud.
  • panorama_ip_address - (Facultatif) adresse IP du serveur Panorama. Ce champ n'est pertinent que pour les dispositifs pare-feu PA-VM devant être intégrés au serveur Panorama.
  • panorama_auth_key - (Facultatif) clé d'autorisation du serveur Panorama. Ce champ n'est pertinent que pour les dispositifs pare-feu PA-VM devant être intégrés au serveur Panorama.
  • provisioning_key - (Facultatif) clé de provisionnement. Ce champ s'applique uniquement aux appareils ZSCALER APPC et ZSCALER PSE.
  • ip_address - (Facultatif) adresse IP. Ce champ est pertinent uniquement pour les dispositifs Infoblox.
  • subnet_mask_ip - (Facultatif) IP du masque de sous-réseau. Ce champ est pertinent uniquement pour les dispositifs Infoblox.
  • gateway_ip - (Facultatif) IP de la passerelle. Ce champ est pertinent uniquement pour les dispositifs Infoblox.

Référence des attributs​

En plus des arguments ci-dessus, les attributs suivants sont exportés:

  • uuid - Identifiant unique de l'appareil.
  • status - Statut de provisionnement de l'appareil. Les valeurs possibles sont 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 - Statut d'enregistrement de la licence de l'appareil. Les valeurs possibles sont APPLYING_LICENSE, REGISTERED, , APPLIED, , WAITING_FOR_CLUSTER_SETUP REGISTRATION_FAILED.
  • license_file_id - Identifiant unique du fichier de licence appliqué.
  • ibx - Emplacement de l'appareil nom Equinix Business Exchange.
  • region - Région de localisation de l'appareil.
  • acl_template_id - Identifiant unique du modèle ACL appliqué.
  • ssh_ip_address - Adresse IP de l'interface SSH activée sur l'appareil.
  • ssh_ip_fqdn - FQDN de l'interface SSH activée sur l'appareil.
  • redundancy_type - Type de redondance des appareils applicable aux appareils HA, primaires ou secondaires.
  • redundant_id - Identifiant unique pour un dispositif redondant applicable aux dispositifs HA.
  • interface - Liste des interfaces des appareils. Voir attribut d'interface ci-dessous pour plus de détails.
  • asn - (Numéro de système autonome) identifiant unique pour un réseau sur Internet.
  • zone_code - Code de zone de localisation de l'appareil.
  • cluster_id - L'identifiant du cluster.
  • num_of_nodes - Le nombre de nœuds dans le cluster.
  • diverse_device_name - Nom de l'appareil avec un UUID d'appareil diversifié. Ce champ est renvoyé dans les détails du dispositif si le dispositif est créé en passant diverse_device_id.

Attribut d'interface​

Chaque attribut d'interface possède les champs suivants:

  • id - identifiant de l'interface.
  • name - nom de l'interface.
  • status - état de l'interface. AVAILABLE``RESERVED, , ASSIGNED.
  • operational_status - état opérationnel de l'interface. Un des up, down.
  • mac_address - Adresse MAC de l'interface.
  • ip_address - Adresse IP de l'interface.
  • assigned_type - Type de gestion d'interface (Equinix géré ou vide).
  • type - type d'interface.

Délais d'attente​

Cette ressource fournit les optionsde configuration de temporisations suivantes :

  • créer - Par défaut, 90 minutes
  • Mise à jour - Par défaut: 90 minutes
  • Supprimer - Délai par défaut: 30 minutes

Importer​

Cette ressource peut être importée à l'aide d'un identifiant existant:

terraform import equinix_network_device.example {existing_id}

Les champslicense_token , mgmt_acl_template_uuid et cloud_init_file_idne peuvent pas être importés.

Cette page vous a-t-elle été utile ?