equinix_network_device(リソース)
リソースをequinix_network_device使用すると、Equinix Network Edge仮想ネットワークデバイスの作成と管理が可能になります。
Network Edge仮想ネットワークデバイスは、次の2つのモードで作成できます。
- ****managed -(デフォルト)Equinixがデバイスの接続とサービスを管理し、お客様はデバイスへのアクセスを制限されます。
- セルフ設定-お客様がアクセス制限の少ないデバイスで独自のサービスをプロビジョニングおよび管理する場合。一部のデバイスタイプは、このモードでのみ提供されます。
管理モードに加えて、2つのソフトウェアライセンスモードがあります:
- サブスクリプション- Equinixが、エンドツーエンドのサポートを含むソフトウェアライセンスを提供し、サービスの料金をそれぞれ請求する場合。
- BYOL -[Bring your own license](ライセンスの持ち込み)。お客様は、すでに調達済みのデバイスソフトウェアライセンスを持ち込みます。そのようなライセンスに関連する料金は発生しません。これは、デバイスの唯一のライセンスモードです。
self-configured
使用例
# 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"
}
}
}
例:セカンダリデバイスをプライマリネットワークデバイスに追加
内部のブロックをequinix_network_device使用して、secondary_device冗長ペアのセカンダリノードを定義します。
プライマリデバイスはトップレベルの引数で設定され、セカンダリデバイスは内部で設定されます。secondary_device {}
動作の仕組み
- 対象のネットワークアカウントをに参照します。
equinix_network_account - でプライマリデバイスを定義
resource "equinix_network_device"し、単一のデバイスを作成します - セカンダリ固有のフィールドを持つブロックを追加します。
secondary_device
例
# 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"
}
}
}
引数リファレンス
以下の引数をサポートしています:
name-(必須)デバイス名。type_code-(必須)デバイスタイプコード。metro_code-(必須)デバイスのロケーション都市圏コード。hostname-(任意)デバイスのホスト名プレフィックス。package_code-(必須)デバイスソフトウェアパッケージコード。version-(必須)デバイスソフトウェアのバージョン。core_count-(必須)デバイスで使用されるCPUコアの数。(注:このフィールドを使用して、デバイスのサイズを変更します。HAデバイスのサイズを変更する場合、最初にプライマリデバイスがアップグレードされます。アップグレードに失敗すると、デバイスは自動的に元のコア番号の以前の状態にロールバックされます)。tier-(オプション、、と競合throughput``throughput_unit)独自のライセンスの帯域幅ティア(、、、、、など)を選択します。0``1``2``3ティアは、C8000V自律またはC8000V SDWAN(コントローラ)デバイスタイプにのみ適用されます。指定されていない場合、ティアはデフォルトで「2」になります。term_length-(必須)デバイスの契約期間。self_managed-(任意)デバイス管理モードを決定するブール値。つまり、self-managedまたはEquinix-managed(デフォルト)です。byol-(任意)デバイスのライセンスモードを決定するブール値。つまり、bring your own licenseまたはsubscription(デフォルト)です。license_token-(任意、競合license_file)ライセンストークンBYOLライセンスモードの一部のデバイスタイプに適用されるライセンストークン。license_file-(任意)デバイスにアップロードして適用するライセンスファイルへのパス。BYOLライセンスモードの一部のデバイスタイプに適用されます。license_file_id-(任意、競合license_file)デバイスに適用されるライセンスファイルの識別子。cloud_init_file_id-(任意)デバイスに適用されるクラウド初期化ファイルの識別子。throughput-(任意)デバイスライセンスのスループット。throughput_unit-(任意)ライセンススループット単位。またはのいずれか。Mbps``Gbpsaccount_number-(必須)デバイスの請求先アカウント番号。notifications-(必須)デバイスステータス通知を受信するメールアドレスのリスト。purchase_order_number-(任意)デバイスオーダーに関連付けられたPO (発注)番号。PO (発注)番号が必要な請求先アカウントの場合、このフィールドは必須です。order_reference-(任意)請求書でデバイスのオーダーを識別するために使用される名前/番号。acl_template_id-(任意)デバイスに適用されるWANインターフェイスACLテンプレートの識別子。mgmt_acl_template_uuid-(任意)デバイスに適用されるMGMTインターフェイスACLテンプレートの識別子。additional_bandwidth-(任意)デバイスに割り当てられる追加のインターネット帯域幅(Mbps単位)(デフォルトの15Mbpsに加えて)。interface_count-(任意)デバイス上のネットワークインターフェイスの数。指定されていない場合、指定されたデバイスタイプのデフォルト番号が使用されます。wan_interafce_id-(任意)WAN SSH/SSHインターフェイスIDを指定します。指定されていない場合、指定されたデバイスタイプのデフォルトのWAN /SSHインターフェイスが使用されます。vendor_configuration-(任意)デバイスのベンダー固有の構成パラメータのマップ(controller1、activationKey、managementType、siteId、systemIpAddress)privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId,panoramaauthKey、panoramaIpAddress、provisioningKey、ipAddress(Infobloxのみに適用)、subnetMaskIp(Infobloxのみに適用)、gatewayIp(Infobloxのみに適用)、token(ジョイントークンはInfoblox Nios-Xデバイスにのみ適用され、が必要)type_code``INFOBLOX-NIOSXssh-key-(任意)デバイスにプロビジョニングされるSSHキーの定義(最大1つのキー)。詳細については、以下のSSHキーを参照してください。secondary_device-(任意)冗長デバイス構成用のセカンダリデバイスの定義。詳細については、以下のセカンダリデバイスを参照してください。cluster_details-(任意)クラスタの詳細を含むオブジェクト。詳細については、以下のクラスターの詳細を参照してください。connectivity-(任意)デバイスのアクセシビリティ(インターネットアクセス、プライベートまたはインターネットアクセス- PRVT-MGMT)指定しない場合、デフォルトはインターネットアクセスになります。project_id-(任意)デバイスのスコープが設定されているプロジェクトリソースの一意の識別子。この値を省略すると、デバイスは組織のデフォルトのプロジェクトIDで作成されます。diverse_device_id-(任意)既存のデバイスの一意のID。このフィールドを使用して、新しいデバイスを既存の仮想デバイスとは異なる場所に配置するかどうかをEquinixに通知します。このフィールドは、単一のデバイスでのみ意味があります。generate_default_password-(任意)デフォルトのパスワードを使用してデバイスを作成するかどうかを決定するブール値。このフィールドを使用して、新しいデバイスをデフォルトの管理者パスワードで作成するかどうかをEquinixに通知します。 このフィールドは、C8000V自律デバイス(シングル/HA)およびFortinetファイアウォールデバイス(シングル/HA/クラスタ)にのみ意味があります。指定されていない場合、デフォルトでデバイスは管理者パスワードで作成されます。
セカンダリデバイス
->**注:**Network Edgeでは、さまざまな高可用性(HA)オプションを提供しています。ブロックを定義することで、secondary_deviceTerraformは冗長デバイスを展開します。これは、別々のハードウェアスタック上に2つのアクティブ転送データプレーン(アクティブ/アクティブ)を必要とするお客様に役立ちます。実現可能なフォールトトレラントソリューションの詳細については、「回復性のためのアーキテクチャ」のドキュメントを参照してください。
secondary_deviceブロックは以下の引数をサポートしています。
name-(必須)セカンダリデバイス名。metro_code-(必須)セカンダリデバイスの都市圏の場所。hostname-(任意)セカンダリデバイスのホスト名。license_token-(任意、競合license_file)ライセンストークンは、デバイスの一部のデバイスタイプに対して提供できます。license_file-(任意)セカンダリデバイスにアップロードして適用するライセンスファイルへのパス。BYOLライセンスモードの一部のデバイスタイプに適用されます。license_file_id-(オプション、競合license_file)セカンダリデバイスに適用されるライセンスファイルの識別子。cloud_init_file_id-(任意)セカンダリデバイスに適用されるクラウド初期化ファイルの識別子。account_number-(必須)セカンダリデバイスの請求アカウント番号。notifications-(必須)セカンダリデバイスに関する通知を受信するメールアドレスのリスト。additional_bandwidth-(任意)セカンダリデバイスの追加インターネット帯域幅(Mbps単位)。vendor_configuration-(任意)セカンダリデバイスのベンダー固有の構成パラメータのキー/値ペア。キー値はcontroller1、、activationKeymanagementType、siteId、、です。systemIpAddress``privateAddress``privateCidrMask、、privateGateway、、licenseKey、licenseId``panoramaAuthKey、panoramaIpAddress、ipAddress、、subnetMaskIp。gatewayIpacl_template_id-(任意)セカンダリデバイスに適用されるWANインターフェイスACLテンプレートの識別子。mgmt_acl_template_uuid-(任意)セカンダリデバイスに適用されるMGMTインターフェイスACLテンプレートの識別子。ssh-key-(任意)セカンダリデバイスにプロビジョニングされるSSHキーの定義を最大1つまで指定します。
SSHキー
ssh_keyブロックは以下の引数をサポートしています。
username-(必須)指定されたキーに関連付けられたユーザー名。name-(任意)以前にプロビジョニングされたパブリックSSHキーへの名前による参照。
クラスターの詳細
->**注:**Network Edgeでは、さまざまな高可用性(HA)オプションを提供しています。ブロックを定義することで、cluster_detailsTerraformはを展開します。Device Clusteringこのオプションは、ベンダー固有の機能に基づいており、より高度な回復性構成を導入できます。secondary_deviceクラスタ化されたデバイスをサポートするベンダーについては、Network Edge HAオプションのドキュメントを参照してください。実現可能なフォールトトレラントソリューションの詳細については、「回復性のためのアーキテクチャ」のドキュメントを参照してください。
cluster_detailsブロックは以下の引数をサポートしています。
cluster_name-(必須)クラスタデバイスの名前node0-(必須)構成のあるオブジェクト。node0詳細については、以下の「クラスターの詳細-ノード」を参照してください。node1-(必須)構成のあるオブジェクト。node1詳細については、以下の「クラスターの詳細-ノード」を参照してください。
クラスタの詳細 - ノード
node0およびnode1ブロックは、以下の引数をサポートしています。
vendor_configuration-(任意)クラスタデバイスのベンダーに関連するフィールドを持つオブジェクト。詳細については、以下の「クラスターの詳細-ノード-ベンダ構成」を参照してください。license_file_id-(任意)ライセンスファイルID。これは、FortinetクラスタとJuniperクラスタに必要です。license_token-(任意)ライセンストークン。これは、パロアルトクラスタに必要です。
クラスタの詳細 - ノード - ベンダーの構成
vendor_configurationブロックは以下の引数をサポートしています。
hostname-(任意)ホスト名。これは、パロアルト、ジュニパー、およびFortinetクラスタで必要です。admin_password-(任意)デバイスの管理パスワード。これを使用してコンソールにログインできます。このフィールドは、一部のデバイスタイプでは使用できません。controller1-(任意)システムIPアドレス。Fortinet SDWANクラスターデバイスでは必須です。activation_key-(任意)アクティベーションキー。これは、Velocloudクラスタで必要です。controller_fqdn-(任意)コントローラFQDN。これは、Velocloudクラスタで必要です。root_password-(任意)デバイスのCLIパスワード。このフィールドは、Velocloud SDWANクラスターにのみ関連します。panorama_ip_address-(任意)パノラマサーバーのIPアドレス。このフィールドは、PA-VMファイアウォールデバイスがPanorama Serverと統合されている場合にのみ関連します。panorama_auth_key-(任意)パノラマサーバー認証キー。このフィールドは、PA-VMファイアウォールデバイスがPanorama Serverと統合されている場合にのみ関連します。provisioning_key-(任意)プロビジョニングキーこのフィールドは、Zscaler APPCおよびZscaler PSEデバイスにのみ関連します。ip_address-(任意)IPアドレス。このフィールドは、Infobloxデバイスにのみ関連します。subnet_mask_ip-(任意)サブネットマスクIP。このフィールドは、Infobloxデバイスにのみ関連します。gateway_ip-(任意)ゲートウェイIP。このフィールドは、Infobloxデバイスにのみ関連します。
属性リファレンス
上記のすべての引数に加えて、以下の属性がエクスポートされます:
uuid-デバイスの一意の識別子。status-デバイスのプロビジョニングステータス。有効な値はINITIALIZING、、PROVISIONINGWAITING_FOR_PRIMARY、WAITING_FOR_SECONDARY、、です。WAITING_FOR_REPLICA_CLUSTER_NODES``CLUSTER_SETUP_IN_PROGRESS``FAILED、、PROVISIONED、、DEPROVISIONING、DEPROVISIONED``RESOURCE_UPGRADE_IN_PROGRESS、。RESOURCE_UPGRADE_FAILEDlicense_status-デバイスライセンス登録ステータス。有効な値はAPPLYING_LICENSE、、REGISTEREDAPPLIED、、です。WAITING_FOR_CLUSTER_SETUP``REGISTRATION_FAILEDlicense_file_id-適用されたライセンスファイルの一意の識別子。ibx-デバイスの場所Equinixビジネスエクスチェンジ名。region-デバイスの場所の地域。acl_template_id-適用されたACLテンプレートの一意の識別子。ssh_ip_address-デバイス上のSSH対応インターフェイスのIPアドレス。ssh_ip_fqdn-デバイス上のSSH対応インターフェイスのFQDN。redundancy_type-プライマリまたはセカンダリのHAデバイスに適用されるデバイス冗長性タイプ。redundant_id- HAデバイスに適用可能な冗長デバイスの一意の識別子。interface-デバイスインターフェースのリスト。詳細については、以下のインターフェース属性を参照してください。asn-(自律システム番号)インターネット上のネットワークの一意の識別子。zone_code-デバイスのロケーションゾーンコード。cluster_id-クラスタのID。num_of_nodes-クラスタ内のノードの数。diverse_device_name-ダイバースデバイスUUIDを持つデバイスの名前。デバイスがdiverse_device_idを渡して作成された場合、このフィールドはデバイスの詳細に返されます。
インターフェース属性
各インターフェース属性には以下のフィールドがあります:
id-インターフェース識別子。name-インターフェース名。status-インターフェースステータス。AVAILABLE``RESERVED、のいずれか。ASSIGNEDoperational_status-インターフェイスの動作ステータス。の1つ。up``downmac_address-インターフェイスMACアドレス。ip_address-インターフェイスIPアドレス。assigned_type-インターフェース管理タイプ(Equinixマネージドまたは空)。type-インターフェースタイプ
タイムアウト
このリソースには、次のタイムアウト設定オプションがあります。
- create - デフォルトは90分です。
- 更新 - デフォルトは90分です
- 削除 - デフォルトは30分
インポート
このリソースは、既存のIDを使用してインポートできます:
terraform import equinix_network_device.example {existing_id}
license_token``mgmt_acl_template_uuidおよびcloud_init_file_idフィールドはインポートできません。