1. Packages
  2. Equinix
  3. API Docs
  4. networkedge
  5. Device
Equinix v0.21.0 published on Friday, Feb 28, 2025 by Equinix

equinix.networkedge.Device

Explore with Pulumi AI

Resource equinix.networkedge.Device allows creation and management of Equinix Network Edge virtual network devices.

Network Edge virtual network devices can be created in two modes:

  • managed - (default) Where Equinix manages connectivity and services in the device and customer gets limited access to the device.
  • self-configured - Where customer provisions and manages own services in the device with less restricted access. Some device types are offered only in this mode.

In addition to management modes, there are two software license modes available:

  • subscription - Where Equinix provides software license, including end-to-end support, and bills for the service respectively.
  • BYOL - [bring your own license] Where customer brings his own, already procured device software license. There are no charges associated with such license. It is the only licensing mode for self-configured devices.

Example Usage

example 1

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var dc = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "DC",
    });

    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var csr1000VHa = new Equinix.NetworkEdge.Device("csr1000vHa", new()
    {
        Name = "tf-csr1000v-p",
        Throughput = 500,
        ThroughputUnit = Equinix.NetworkEdge.ThroughputUnit.Mbps,
        MetroCode = dc.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "CSR1000V",
        SelfManaged = false,
        Connectivity = "INTERNET-ACCESS",
        Byol = false,
        PackageCode = "SEC",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        Hostname = "csr1000v-p",
        TermLength = 12,
        AccountNumber = dc.Apply(getAccountResult => getAccountResult.Number),
        Version = "16.09.05",
        CoreCount = 2,
        SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs
        {
            Name = "tf-csr1000v-s",
            MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
            Hostname = "csr1000v-s",
            Notifications = new[]
            {
                "john@equinix.com",
                "marry@equinix.com",
            },
            AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dc := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("DC"),
		}, nil)
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "csr1000vHa", &networkedge.DeviceArgs{
			Name:           pulumi.String("tf-csr1000v-p"),
			Throughput:     pulumi.Int(500),
			ThroughputUnit: pulumi.String(networkedge.ThroughputUnitMbps),
			MetroCode: pulumi.String(dc.ApplyT(func(dc networkedge.GetAccountResult) (*string, error) {
				return &dc.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:     pulumi.String("CSR1000V"),
			SelfManaged:  pulumi.Bool(false),
			Connectivity: pulumi.String("INTERNET-ACCESS"),
			Byol:         pulumi.Bool(false),
			PackageCode:  pulumi.String("SEC"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			Hostname:   pulumi.String("csr1000v-p"),
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(dc.ApplyT(func(dc networkedge.GetAccountResult) (*string, error) {
				return &dc.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:   pulumi.String("16.09.05"),
			CoreCount: pulumi.Int(2),
			SecondaryDevice: &networkedge.DeviceSecondaryDeviceArgs{
				Name: pulumi.String("tf-csr1000v-s"),
				MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.MetroCode, nil
				}).(pulumi.StringPtrOutput),
				Hostname: pulumi.String("csr1000v-s"),
				Notifications: pulumi.StringArray{
					pulumi.String("john@equinix.com"),
					pulumi.String("marry@equinix.com"),
				},
				AccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.Number, nil
				}).(pulumi.StringPtrOutput),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var dc = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("DC")
            .build());

        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var csr1000VHa = new Device("csr1000VHa", DeviceArgs.builder()
            .name("tf-csr1000v-p")
            .throughput(500)
            .throughputUnit("Mbps")
            .metroCode(dc.applyValue(_dc -> _dc.metroCode()))
            .typeCode("CSR1000V")
            .selfManaged(false)
            .connectivity("INTERNET-ACCESS")
            .byol(false)
            .packageCode("SEC")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .hostname("csr1000v-p")
            .termLength(12)
            .accountNumber(dc.applyValue(_dc -> _dc.number()))
            .version("16.09.05")
            .coreCount(2)
            .secondaryDevice(DeviceSecondaryDeviceArgs.builder()
                .name("tf-csr1000v-s")
                .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
                .hostname("csr1000v-s")
                .notifications(                
                    "john@equinix.com",
                    "marry@equinix.com")
                .accountNumber(sv.applyValue(_sv -> _sv.number()))
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const dc = equinix.networkedge.getAccountOutput({
    metroCode: "DC",
});
const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const csr1000VHa = new equinix.networkedge.Device("csr1000vHa", {
    name: "tf-csr1000v-p",
    throughput: 500,
    throughputUnit: equinix.networkedge.ThroughputUnit.Mbps,
    metroCode: dc.apply(dc => dc.metroCode),
    typeCode: "CSR1000V",
    selfManaged: false,
    connectivity: "INTERNET-ACCESS",
    byol: false,
    packageCode: "SEC",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    hostname: "csr1000v-p",
    termLength: 12,
    accountNumber: dc.apply(dc => dc.number),
    version: "16.09.05",
    coreCount: 2,
    secondaryDevice: {
        name: "tf-csr1000v-s",
        metroCode: sv.apply(sv => sv.metroCode),
        hostname: "csr1000v-s",
        notifications: [
            "john@equinix.com",
            "marry@equinix.com",
        ],
        accountNumber: sv.apply(sv => sv.number),
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

dc = equinix.networkedge.get_account_output(metro_code="DC")
sv = equinix.networkedge.get_account_output(metro_code="SV")
csr1000_v_ha = equinix.networkedge.Device("csr1000vHa",
    name="tf-csr1000v-p",
    throughput=500,
    throughput_unit=equinix.networkedge.ThroughputUnit.MBPS,
    metro_code=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=dc.number,
    version="16.09.05",
    core_count=2,
    secondary_device={
        "name": "tf-csr1000v-s",
        "metro_code": sv.metro_code,
        "hostname": "csr1000v-s",
        "notifications": [
            "john@equinix.com",
            "marry@equinix.com",
        ],
        "account_number": sv.number,
    })
Copy
resources:
  csr1000vHa:
    type: equinix:networkedge:Device
    name: csr1000v_ha
    properties:
      name: tf-csr1000v-p
      throughput: 500
      throughputUnit: Mbps
      metroCode: ${dc.metroCode}
      typeCode: CSR1000V
      selfManaged: false
      connectivity: INTERNET-ACCESS
      byol: false
      packageCode: SEC
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      hostname: csr1000v-p
      termLength: 12
      accountNumber: ${dc.number}
      version: 16.09.05
      coreCount: 2
      secondaryDevice:
        name: tf-csr1000v-s
        metroCode: ${sv.metroCode}
        hostname: csr1000v-s
        notifications:
          - john@equinix.com
          - marry@equinix.com
        accountNumber: ${sv.number}
variables:
  # Create pair of redundant, managed CSR1000V routers with license subscription
  # in two different metro locations
  dc:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: DC
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example 2

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var panwCluster = new Equinix.NetworkEdge.Device("panwCluster", new()
    {
        Name = "tf-panw",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "PA-VM",
        SelfManaged = true,
        Byol = true,
        PackageCode = "VM100",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "10.1.3",
        InterfaceCount = 10,
        CoreCount = 2,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
        AclTemplateId = "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
        ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs
        {
            ClusterName = "tf-panw-cluster",
            Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args
            {
                VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs
                {
                    Hostname = "panw-node0",
                },
                LicenseToken = "licenseToken",
            },
            Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args
            {
                VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs
                {
                    Hostname = "panw-node1",
                },
                LicenseToken = "licenseToken",
            },
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "panwCluster", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-panw"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("PA-VM"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("VM100"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("10.1.3"),
			InterfaceCount: pulumi.Int(10),
			CoreCount:      pulumi.Int(2),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
			AclTemplateId: pulumi.String("0bff6e05-f0e7-44cd-804a-25b92b835f8b"),
			ClusterDetails: &networkedge.DeviceClusterDetailsArgs{
				ClusterName: pulumi.String("tf-panw-cluster"),
				Node0: &networkedge.DeviceClusterDetailsNode0Args{
					VendorConfiguration: &networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{
						Hostname: pulumi.String("panw-node0"),
					},
					LicenseToken: pulumi.String("licenseToken"),
				},
				Node1: &networkedge.DeviceClusterDetailsNode1Args{
					VendorConfiguration: &networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{
						Hostname: pulumi.String("panw-node1"),
					},
					LicenseToken: pulumi.String("licenseToken"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0Args;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0VendorConfigurationArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1Args;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1VendorConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var panwCluster = new Device("panwCluster", DeviceArgs.builder()
            .name("tf-panw")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("PA-VM")
            .selfManaged(true)
            .byol(true)
            .packageCode("VM100")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("10.1.3")
            .interfaceCount(10)
            .coreCount(2)
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .aclTemplateId("0bff6e05-f0e7-44cd-804a-25b92b835f8b")
            .clusterDetails(DeviceClusterDetailsArgs.builder()
                .clusterName("tf-panw-cluster")
                .node0(DeviceClusterDetailsNode0Args.builder()
                    .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()
                        .hostname("panw-node0")
                        .build())
                    .licenseToken("licenseToken")
                    .build())
                .node1(DeviceClusterDetailsNode1Args.builder()
                    .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()
                        .hostname("panw-node1")
                        .build())
                    .licenseToken("licenseToken")
                    .build())
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const panwCluster = new equinix.networkedge.Device("panwCluster", {
    name: "tf-panw",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "PA-VM",
    selfManaged: true,
    byol: true,
    packageCode: "VM100",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "10.1.3",
    interfaceCount: 10,
    coreCount: 2,
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
    aclTemplateId: "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
    clusterDetails: {
        clusterName: "tf-panw-cluster",
        node0: {
            vendorConfiguration: {
                hostname: "panw-node0",
            },
            licenseToken: "licenseToken",
        },
        node1: {
            vendorConfiguration: {
                hostname: "panw-node1",
            },
            licenseToken: "licenseToken",
        },
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
panw_cluster = equinix.networkedge.Device("panwCluster",
    name="tf-panw",
    metro_code=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=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",
        },
    })
Copy
resources:
  panwCluster:
    type: equinix:networkedge:Device
    name: panw_cluster
    properties:
      name: tf-panw
      metroCode: ${sv.metroCode}
      typeCode: PA-VM
      selfManaged: true
      byol: true
      packageCode: VM100
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 10.1.3
      interfaceCount: 10
      coreCount: 2
      sshKey:
        username: test
        keyName: test-key
      aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b
      clusterDetails:
        clusterName: tf-panw-cluster
        node0:
          vendorConfiguration:
            hostname: panw-node0
          licenseToken: licenseToken
        node1:
          vendorConfiguration:
            hostname: panw-node1
          licenseToken: licenseToken
variables:
  # Create self configured PANW cluster with BYOL license
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example 3

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var filepath = config.Get("filepath") ?? "cloudInitFileFolder/TF-AVX-cloud-init-file.txt";
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var aviatrixCloudinitFile = new Equinix.NetworkEdge.NetworkFile("aviatrixCloudinitFile", new()
    {
        FileName = "TF-AVX-cloud-init-file.txt",
        Content = Std.File.Invoke(new()
        {
            Input = filepath,
        }).Apply(invoke => invoke.Result),
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode).Apply(System.Enum.Parse<Equinix.Metro>),
        DeviceTypeCode = "AVIATRIX_EDGE",
        ProcessType = Equinix.NetworkEdge.FileType.CloudInit,
        SelfManaged = true,
        Byol = true,
    });

    var aviatrixSingle = new Equinix.NetworkEdge.Device("aviatrixSingle", new()
    {
        Name = "tf-aviatrix",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "AVIATRIX_EDGE",
        SelfManaged = true,
        Byol = true,
        PackageCode = "STD",
        Notifications = new[]
        {
            "john@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "6.9",
        CoreCount = 2,
        CloudInitFileId = aviatrixCloudinitFile.Uuid,
        AclTemplateId = "c06150ea-b604-4ad1-832a-d63936e9b938",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		filepath := "cloudInitFileFolder/TF-AVX-cloud-init-file.txt"
		if param := cfg.Get("filepath"); param != "" {
			filepath = param
		}
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{
			FileName: pulumi.String("TF-AVX-cloud-init-file.txt"),
			Content: pulumi.String(std.FileOutput(ctx, std.FileOutputArgs{
				Input: pulumi.String(filepath),
			}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {
				return invoke.Result, nil
			}).(pulumi.StringPtrOutput)),
			MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),
			DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"),
			ProcessType:    pulumi.String(networkedge.FileTypeCloudInit),
			SelfManaged:    pulumi.Bool(true),
			Byol:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networkedge.NewDevice(ctx, "aviatrixSingle", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-aviatrix"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("AVIATRIX_EDGE"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:         pulumi.String("6.9"),
			CoreCount:       pulumi.Int(2),
			CloudInitFileId: aviatrixCloudinitFile.Uuid,
			AclTemplateId:   pulumi.String("c06150ea-b604-4ad1-832a-d63936e9b938"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.NetworkFile;
import com.pulumi.equinix.networkedge.NetworkFileArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var config = ctx.config();
        final var filepath = config.get("filepath").orElse("cloudInitFileFolder/TF-AVX-cloud-init-file.txt");
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var aviatrixCloudinitFile = new NetworkFile("aviatrixCloudinitFile", NetworkFileArgs.builder()
            .fileName("TF-AVX-cloud-init-file.txt")
            .content(StdFunctions.file(FileArgs.builder()
                .input(filepath)
                .build()).applyValue(_invoke -> _invoke.result()))
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .deviceTypeCode("AVIATRIX_EDGE")
            .processType("CLOUD_INIT")
            .selfManaged(true)
            .byol(true)
            .build());

        var aviatrixSingle = new Device("aviatrixSingle", DeviceArgs.builder()
            .name("tf-aviatrix")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("AVIATRIX_EDGE")
            .selfManaged(true)
            .byol(true)
            .packageCode("STD")
            .notifications("john@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("6.9")
            .coreCount(2)
            .cloudInitFileId(aviatrixCloudinitFile.uuid())
            .aclTemplateId("c06150ea-b604-4ad1-832a-d63936e9b938")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";
import * as std from "@pulumi/std";

const config = new pulumi.Config();
const filepath = config.get("filepath") || "cloudInitFileFolder/TF-AVX-cloud-init-file.txt";
const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const aviatrixCloudinitFile = new equinix.networkedge.NetworkFile("aviatrixCloudinitFile", {
    fileName: "TF-AVX-cloud-init-file.txt",
    content: std.fileOutput({
        input: filepath,
    }).apply(invoke => invoke.result),
    metroCode: sv.apply(sv => sv.metroCode).apply((x) => equinix.index.Metro[x]),
    deviceTypeCode: "AVIATRIX_EDGE",
    processType: equinix.networkedge.FileType.CloudInit,
    selfManaged: true,
    byol: true,
});
const aviatrixSingle = new equinix.networkedge.Device("aviatrixSingle", {
    name: "tf-aviatrix",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "AVIATRIX_EDGE",
    selfManaged: true,
    byol: true,
    packageCode: "STD",
    notifications: ["john@equinix.com"],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "6.9",
    coreCount: 2,
    cloudInitFileId: aviatrixCloudinitFile.uuid,
    aclTemplateId: "c06150ea-b604-4ad1-832a-d63936e9b938",
});
Copy
import pulumi
import pulumi_equinix as equinix
import pulumi_std as std

config = pulumi.Config()
filepath = config.get("filepath")
if filepath is None:
    filepath = "cloudInitFileFolder/TF-AVX-cloud-init-file.txt"
sv = equinix.networkedge.get_account_output(metro_code="SV")
aviatrix_cloudinit_file = equinix.networkedge.NetworkFile("aviatrixCloudinitFile",
    file_name="TF-AVX-cloud-init-file.txt",
    content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),
    metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),
    device_type_code="AVIATRIX_EDGE",
    process_type=equinix.networkedge.FileType.CLOUD_INIT,
    self_managed=True,
    byol=True)
aviatrix_single = equinix.networkedge.Device("aviatrixSingle",
    name="tf-aviatrix",
    metro_code=sv.metro_code,
    type_code="AVIATRIX_EDGE",
    self_managed=True,
    byol=True,
    package_code="STD",
    notifications=["john@equinix.com"],
    term_length=12,
    account_number=sv.number,
    version="6.9",
    core_count=2,
    cloud_init_file_id=aviatrix_cloudinit_file.uuid,
    acl_template_id="c06150ea-b604-4ad1-832a-d63936e9b938")
Copy
configuration:
  filepath:
    type: string
    default: cloudInitFileFolder/TF-AVX-cloud-init-file.txt
resources:
  aviatrixCloudinitFile:
    type: equinix:networkedge:NetworkFile
    name: aviatrix_cloudinit_file
    properties:
      fileName: TF-AVX-cloud-init-file.txt
      content:
        fn::invoke:
          function: std:file
          arguments:
            input: ${filepath}
          return: result
      metroCode: ${sv.metroCode}
      deviceTypeCode: AVIATRIX_EDGE
      processType: CLOUD_INIT
      selfManaged: true
      byol: true
  aviatrixSingle:
    type: equinix:networkedge:Device
    name: aviatrix_single
    properties:
      name: tf-aviatrix
      metroCode: ${sv.metroCode}
      typeCode: AVIATRIX_EDGE
      selfManaged: true
      byol: true
      packageCode: STD
      notifications:
        - john@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: '6.9'
      coreCount: 2
      cloudInitFileId: ${aviatrixCloudinitFile.uuid}
      aclTemplateId: c06150ea-b604-4ad1-832a-d63936e9b938
variables:
  # Create self configured single Aviatrix device with cloud init file
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example 4

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        Name = "account-name",
        MetroCode = "SV",
    });

    var c8KvSingle = new Equinix.NetworkEdge.Device("c8kvSingle", new()
    {
        Name = "tf-c8kv",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "C8000V",
        SelfManaged = true,
        Byol = true,
        PackageCode = "network-essentials",
        Notifications = new[]
        {
            "test@equinix.com",
        },
        Hostname = "C8KV",
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "17.06.01a",
        CoreCount = 2,
        TermLength = 12,
        LicenseToken = "valid-license-token",
        AdditionalBandwidth = 5,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test-username",
            KeyName = "valid-key-name",
        },
        AclTemplateId = "3e548c02-9164-4197-aa23-05b1f644883c",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			Name:      pulumi.String("account-name"),
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "c8kvSingle", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-c8kv"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("C8000V"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("network-essentials"),
			Notifications: pulumi.StringArray{
				pulumi.String("test@equinix.com"),
			},
			Hostname: pulumi.String("C8KV"),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:             pulumi.String("17.06.01a"),
			CoreCount:           pulumi.Int(2),
			TermLength:          pulumi.Int(12),
			LicenseToken:        pulumi.String("valid-license-token"),
			AdditionalBandwidth: pulumi.Int(5),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test-username"),
				KeyName:  pulumi.String("valid-key-name"),
			},
			AclTemplateId: pulumi.String("3e548c02-9164-4197-aa23-05b1f644883c"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .name("account-name")
            .metroCode("SV")
            .build());

        var c8KvSingle = new Device("c8KvSingle", DeviceArgs.builder()
            .name("tf-c8kv")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("C8000V")
            .selfManaged(true)
            .byol(true)
            .packageCode("network-essentials")
            .notifications("test@equinix.com")
            .hostname("C8KV")
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("17.06.01a")
            .coreCount(2)
            .termLength(12)
            .licenseToken("valid-license-token")
            .additionalBandwidth(5)
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test-username")
                .keyName("valid-key-name")
                .build())
            .aclTemplateId("3e548c02-9164-4197-aa23-05b1f644883c")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    name: "account-name",
    metroCode: "SV",
});
const c8KvSingle = new equinix.networkedge.Device("c8kvSingle", {
    name: "tf-c8kv",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "C8000V",
    selfManaged: true,
    byol: true,
    packageCode: "network-essentials",
    notifications: ["test@equinix.com"],
    hostname: "C8KV",
    accountNumber: sv.apply(sv => sv.number),
    version: "17.06.01a",
    coreCount: 2,
    termLength: 12,
    licenseToken: "valid-license-token",
    additionalBandwidth: 5,
    sshKey: {
        username: "test-username",
        keyName: "valid-key-name",
    },
    aclTemplateId: "3e548c02-9164-4197-aa23-05b1f644883c",
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(name="account-name",
    metro_code="SV")
c8_kv_single = equinix.networkedge.Device("c8kvSingle",
    name="tf-c8kv",
    metro_code=sv.metro_code,
    type_code="C8000V",
    self_managed=True,
    byol=True,
    package_code="network-essentials",
    notifications=["test@equinix.com"],
    hostname="C8KV",
    account_number=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")
Copy
resources:
  c8kvSingle:
    type: equinix:networkedge:Device
    name: c8kv_single
    properties:
      name: tf-c8kv
      metroCode: ${sv.metroCode}
      typeCode: C8000V
      selfManaged: true
      byol: true
      packageCode: network-essentials
      notifications:
        - test@equinix.com
      hostname: C8KV
      accountNumber: ${sv.number}
      version: 17.06.01a
      coreCount: 2
      termLength: 12
      licenseToken: valid-license-token
      additionalBandwidth: 5
      sshKey:
        username: test-username
        keyName: valid-key-name
      aclTemplateId: 3e548c02-9164-4197-aa23-05b1f644883c
variables:
  # Create self configured single Catalyst 8000V (Autonomous Mode) router with license token
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        name: account-name
        metroCode: SV
Copy

example 5

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        Name = "account-name",
        MetroCode = "SV",
    });

    var vsrxSingle = new Equinix.NetworkEdge.Device("vsrxSingle", new()
    {
        Name = "tf-c8kv-sdwan",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "VSRX",
        SelfManaged = true,
        Byol = true,
        PackageCode = "STD",
        Notifications = new[]
        {
            "test@equinix.com",
        },
        Hostname = "VSRX",
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "23.2R1.13",
        CoreCount = 2,
        TermLength = 12,
        AdditionalBandwidth = 5,
        ProjectId = "a86d7112-d740-4758-9c9c-31e66373746b",
        DiverseDeviceId = "ed7891bd-15b4-4f72-ac56-d96cfdacddcc",
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test-username",
            KeyName = "valid-key-name",
        },
        AclTemplateId = "3e548c02-9164-4197-aa23-05b1f644883c",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			Name:      pulumi.String("account-name"),
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "vsrxSingle", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-c8kv-sdwan"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("VSRX"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("test@equinix.com"),
			},
			Hostname: pulumi.String("VSRX"),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:             pulumi.String("23.2R1.13"),
			CoreCount:           pulumi.Int(2),
			TermLength:          pulumi.Int(12),
			AdditionalBandwidth: pulumi.Int(5),
			ProjectId:           pulumi.String("a86d7112-d740-4758-9c9c-31e66373746b"),
			DiverseDeviceId:     pulumi.String("ed7891bd-15b4-4f72-ac56-d96cfdacddcc"),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test-username"),
				KeyName:  pulumi.String("valid-key-name"),
			},
			AclTemplateId: pulumi.String("3e548c02-9164-4197-aa23-05b1f644883c"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .name("account-name")
            .metroCode("SV")
            .build());

        var vsrxSingle = new Device("vsrxSingle", DeviceArgs.builder()
            .name("tf-c8kv-sdwan")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("VSRX")
            .selfManaged(true)
            .byol(true)
            .packageCode("STD")
            .notifications("test@equinix.com")
            .hostname("VSRX")
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("23.2R1.13")
            .coreCount(2)
            .termLength(12)
            .additionalBandwidth(5)
            .projectId("a86d7112-d740-4758-9c9c-31e66373746b")
            .diverseDeviceId("ed7891bd-15b4-4f72-ac56-d96cfdacddcc")
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test-username")
                .keyName("valid-key-name")
                .build())
            .aclTemplateId("3e548c02-9164-4197-aa23-05b1f644883c")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    name: "account-name",
    metroCode: "SV",
});
const vsrxSingle = new equinix.networkedge.Device("vsrxSingle", {
    name: "tf-c8kv-sdwan",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "VSRX",
    selfManaged: true,
    byol: true,
    packageCode: "STD",
    notifications: ["test@equinix.com"],
    hostname: "VSRX",
    accountNumber: sv.apply(sv => sv.number),
    version: "23.2R1.13",
    coreCount: 2,
    termLength: 12,
    additionalBandwidth: 5,
    projectId: "a86d7112-d740-4758-9c9c-31e66373746b",
    diverseDeviceId: "ed7891bd-15b4-4f72-ac56-d96cfdacddcc",
    sshKey: {
        username: "test-username",
        keyName: "valid-key-name",
    },
    aclTemplateId: "3e548c02-9164-4197-aa23-05b1f644883c",
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(name="account-name",
    metro_code="SV")
vsrx_single = equinix.networkedge.Device("vsrxSingle",
    name="tf-c8kv-sdwan",
    metro_code=sv.metro_code,
    type_code="VSRX",
    self_managed=True,
    byol=True,
    package_code="STD",
    notifications=["test@equinix.com"],
    hostname="VSRX",
    account_number=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")
Copy
resources:
  vsrxSingle:
    type: equinix:networkedge:Device
    name: vsrx_single
    properties:
      name: tf-c8kv-sdwan
      metroCode: ${sv.metroCode}
      typeCode: VSRX
      selfManaged: true
      byol: true
      packageCode: STD
      notifications:
        - test@equinix.com
      hostname: VSRX
      accountNumber: ${sv.number}
      version: 23.2R1.13
      coreCount: 2
      termLength: 12
      additionalBandwidth: 5
      projectId: a86d7112-d740-4758-9c9c-31e66373746b
      diverseDeviceId: ed7891bd-15b4-4f72-ac56-d96cfdacddcc
      sshKey:
        username: test-username
        keyName: valid-key-name
      aclTemplateId: 3e548c02-9164-4197-aa23-05b1f644883c
variables:
  # Create self configured single VSRX device with BYOL License
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        name: account-name
        metroCode: SV
Copy

example 6

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        Name = "account-name",
        MetroCode = "SV",
    });

    var testPublicKey = new Equinix.NetworkEdge.SshKey("testPublicKey", new()
    {
        Name = "key-name",
        PublicKey = "ssh-dss key-value",
        Type = "DSA",
    });

    var aristaHa = new Equinix.NetworkEdge.Device("aristaHa", new()
    {
        Name = "tf-arista-p",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "ARISTA-ROUTER",
        SelfManaged = true,
        Connectivity = "PRIVATE",
        Byol = true,
        PackageCode = "CloudEOS",
        Notifications = new[]
        {
            "test@equinix.com",
        },
        Hostname = "arista-p",
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "4.29.0",
        CoreCount = 4,
        TermLength = 12,
        AdditionalBandwidth = 5,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test-username",
            KeyName = testPublicKey.Name,
        },
        AclTemplateId = "c637a17b-7a6a-4486-924b-30e6c36904b0",
        SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs
        {
            Name = "tf-arista-s",
            MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
            Hostname = "arista-s",
            Notifications = new[]
            {
                "test@eq.com",
            },
            AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
            AclTemplateId = "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138",
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			Name:      pulumi.String("account-name"),
			MetroCode: pulumi.String("SV"),
		}, nil)
		testPublicKey, err := networkedge.NewSshKey(ctx, "testPublicKey", &networkedge.SshKeyArgs{
			Name:      pulumi.String("key-name"),
			PublicKey: pulumi.String("ssh-dss key-value"),
			Type:      pulumi.String("DSA"),
		})
		if err != nil {
			return err
		}
		_, err = networkedge.NewDevice(ctx, "aristaHa", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-arista-p"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:     pulumi.String("ARISTA-ROUTER"),
			SelfManaged:  pulumi.Bool(true),
			Connectivity: pulumi.String("PRIVATE"),
			Byol:         pulumi.Bool(true),
			PackageCode:  pulumi.String("CloudEOS"),
			Notifications: pulumi.StringArray{
				pulumi.String("test@equinix.com"),
			},
			Hostname: pulumi.String("arista-p"),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:             pulumi.String("4.29.0"),
			CoreCount:           pulumi.Int(4),
			TermLength:          pulumi.Int(12),
			AdditionalBandwidth: pulumi.Int(5),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test-username"),
				KeyName:  testPublicKey.Name,
			},
			AclTemplateId: pulumi.String("c637a17b-7a6a-4486-924b-30e6c36904b0"),
			SecondaryDevice: &networkedge.DeviceSecondaryDeviceArgs{
				Name: pulumi.String("tf-arista-s"),
				MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.MetroCode, nil
				}).(pulumi.StringPtrOutput),
				Hostname: pulumi.String("arista-s"),
				Notifications: pulumi.StringArray{
					pulumi.String("test@eq.com"),
				},
				AccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.Number, nil
				}).(pulumi.StringPtrOutput),
				AclTemplateId: pulumi.String("fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.SshKey;
import com.pulumi.equinix.networkedge.SshKeyArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .name("account-name")
            .metroCode("SV")
            .build());

        var testPublicKey = new SshKey("testPublicKey", SshKeyArgs.builder()
            .name("key-name")
            .publicKey("ssh-dss key-value")
            .type("DSA")
            .build());

        var aristaHa = new Device("aristaHa", DeviceArgs.builder()
            .name("tf-arista-p")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("ARISTA-ROUTER")
            .selfManaged(true)
            .connectivity("PRIVATE")
            .byol(true)
            .packageCode("CloudEOS")
            .notifications("test@equinix.com")
            .hostname("arista-p")
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("4.29.0")
            .coreCount(4)
            .termLength(12)
            .additionalBandwidth(5)
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test-username")
                .keyName(testPublicKey.name())
                .build())
            .aclTemplateId("c637a17b-7a6a-4486-924b-30e6c36904b0")
            .secondaryDevice(DeviceSecondaryDeviceArgs.builder()
                .name("tf-arista-s")
                .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
                .hostname("arista-s")
                .notifications("test@eq.com")
                .accountNumber(sv.applyValue(_sv -> _sv.number()))
                .aclTemplateId("fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138")
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    name: "account-name",
    metroCode: "SV",
});
const testPublicKey = new equinix.networkedge.SshKey("testPublicKey", {
    name: "key-name",
    publicKey: "ssh-dss key-value",
    type: "DSA",
});
const aristaHa = new equinix.networkedge.Device("aristaHa", {
    name: "tf-arista-p",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "ARISTA-ROUTER",
    selfManaged: true,
    connectivity: "PRIVATE",
    byol: true,
    packageCode: "CloudEOS",
    notifications: ["test@equinix.com"],
    hostname: "arista-p",
    accountNumber: sv.apply(sv => sv.number),
    version: "4.29.0",
    coreCount: 4,
    termLength: 12,
    additionalBandwidth: 5,
    sshKey: {
        username: "test-username",
        keyName: testPublicKey.name,
    },
    aclTemplateId: "c637a17b-7a6a-4486-924b-30e6c36904b0",
    secondaryDevice: {
        name: "tf-arista-s",
        metroCode: sv.apply(sv => sv.metroCode),
        hostname: "arista-s",
        notifications: ["test@eq.com"],
        accountNumber: sv.apply(sv => sv.number),
        aclTemplateId: "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138",
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(name="account-name",
    metro_code="SV")
test_public_key = equinix.networkedge.SshKey("testPublicKey",
    name="key-name",
    public_key="ssh-dss key-value",
    type="DSA")
arista_ha = equinix.networkedge.Device("aristaHa",
    name="tf-arista-p",
    metro_code=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=sv.number,
    version="4.29.0",
    core_count=4,
    term_length=12,
    additional_bandwidth=5,
    ssh_key={
        "username": "test-username",
        "key_name": test_public_key.name,
    },
    acl_template_id="c637a17b-7a6a-4486-924b-30e6c36904b0",
    secondary_device={
        "name": "tf-arista-s",
        "metro_code": sv.metro_code,
        "hostname": "arista-s",
        "notifications": ["test@eq.com"],
        "account_number": sv.number,
        "acl_template_id": "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138",
    })
Copy
resources:
  testPublicKey:
    type: equinix:networkedge:SshKey
    name: test_public_key
    properties:
      name: key-name
      publicKey: ssh-dss key-value
      type: DSA
  aristaHa:
    type: equinix:networkedge:Device
    name: arista_ha
    properties:
      name: tf-arista-p
      metroCode: ${sv.metroCode}
      typeCode: ARISTA-ROUTER
      selfManaged: true
      connectivity: PRIVATE
      byol: true
      packageCode: CloudEOS
      notifications:
        - test@equinix.com
      hostname: arista-p
      accountNumber: ${sv.number}
      version: 4.29.0
      coreCount: 4
      termLength: 12
      additionalBandwidth: 5
      sshKey:
        username: test-username
        keyName: ${testPublicKey.name}
      aclTemplateId: c637a17b-7a6a-4486-924b-30e6c36904b0
      secondaryDevice:
        name: tf-arista-s
        metroCode: ${sv.metroCode}
        hostname: arista-s
        notifications:
          - test@eq.com
        accountNumber: ${sv.number}
        aclTemplateId: fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138
variables:
  # Create self configured redundant Arista router with DSA key
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        name: account-name
        metroCode: SV
Copy

example 7

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        Name = "account-name",
        MetroCode = "SV",
    });

    var testPublicKey = new Equinix.NetworkEdge.SshKey("testPublicKey", new()
    {
        Name = "key-name",
        PublicKey = "ssh-dss key-value",
        Type = "DSA",
    });

    var bluecatBddsHa = new Equinix.NetworkEdge.Device("bluecatBddsHa", new()
    {
        Name = "tf-bluecat-bdds-p",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "BLUECAT",
        SelfManaged = true,
        Connectivity = "PRIVATE",
        Byol = true,
        PackageCode = "STD",
        Notifications = new[]
        {
            "test@equinix.com",
        },
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "9.6.0",
        CoreCount = 2,
        TermLength = 12,
        VendorConfiguration = 
        {
            { "hostname", "test" },
            { "privateAddress", "x.x.x.x" },
            { "privateCidrMask", "24" },
            { "privateGateway", "x.x.x.x" },
            { "licenseKey", "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" },
            { "licenseId", "xxxxxxxxxxxxxxx" },
        },
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test-username",
            KeyName = testPublicKey.Name,
        },
        SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs
        {
            Name = "tf-bluecat-bdds-s",
            MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
            Notifications = new[]
            {
                "test@eq.com",
            },
            AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
            VendorConfiguration = 
            {
                { "hostname", "test" },
                { "privateAddress", "x.x.x.x" },
                { "privateCidrMask", "24" },
                { "privateGateway", "x.x.x.x" },
                { "licenseKey", "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" },
                { "licenseId", "xxxxxxxxxxxxxxx" },
            },
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			Name:      pulumi.String("account-name"),
			MetroCode: pulumi.String("SV"),
		}, nil)
		testPublicKey, err := networkedge.NewSshKey(ctx, "testPublicKey", &networkedge.SshKeyArgs{
			Name:      pulumi.String("key-name"),
			PublicKey: pulumi.String("ssh-dss key-value"),
			Type:      pulumi.String("DSA"),
		})
		if err != nil {
			return err
		}
		_, err = networkedge.NewDevice(ctx, "bluecatBddsHa", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-bluecat-bdds-p"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:     pulumi.String("BLUECAT"),
			SelfManaged:  pulumi.Bool(true),
			Connectivity: pulumi.String("PRIVATE"),
			Byol:         pulumi.Bool(true),
			PackageCode:  pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("test@equinix.com"),
			},
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:    pulumi.String("9.6.0"),
			CoreCount:  pulumi.Int(2),
			TermLength: pulumi.Int(12),
			VendorConfiguration: pulumi.StringMap{
				"hostname":        pulumi.String("test"),
				"privateAddress":  pulumi.String("x.x.x.x"),
				"privateCidrMask": pulumi.String("24"),
				"privateGateway":  pulumi.String("x.x.x.x"),
				"licenseKey":      pulumi.String("xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"),
				"licenseId":       pulumi.String("xxxxxxxxxxxxxxx"),
			},
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test-username"),
				KeyName:  testPublicKey.Name,
			},
			SecondaryDevice: &networkedge.DeviceSecondaryDeviceArgs{
				Name: pulumi.String("tf-bluecat-bdds-s"),
				MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.MetroCode, nil
				}).(pulumi.StringPtrOutput),
				Notifications: pulumi.StringArray{
					pulumi.String("test@eq.com"),
				},
				AccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.Number, nil
				}).(pulumi.StringPtrOutput),
				VendorConfiguration: pulumi.StringMap{
					"hostname":        pulumi.String("test"),
					"privateAddress":  pulumi.String("x.x.x.x"),
					"privateCidrMask": pulumi.String("24"),
					"privateGateway":  pulumi.String("x.x.x.x"),
					"licenseKey":      pulumi.String("xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"),
					"licenseId":       pulumi.String("xxxxxxxxxxxxxxx"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.SshKey;
import com.pulumi.equinix.networkedge.SshKeyArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .name("account-name")
            .metroCode("SV")
            .build());

        var testPublicKey = new SshKey("testPublicKey", SshKeyArgs.builder()
            .name("key-name")
            .publicKey("ssh-dss key-value")
            .type("DSA")
            .build());

        var bluecatBddsHa = new Device("bluecatBddsHa", DeviceArgs.builder()
            .name("tf-bluecat-bdds-p")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("BLUECAT")
            .selfManaged(true)
            .connectivity("PRIVATE")
            .byol(true)
            .packageCode("STD")
            .notifications("test@equinix.com")
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("9.6.0")
            .coreCount(2)
            .termLength(12)
            .vendorConfiguration(Map.ofEntries(
                Map.entry("hostname", "test"),
                Map.entry("privateAddress", "x.x.x.x"),
                Map.entry("privateCidrMask", "24"),
                Map.entry("privateGateway", "x.x.x.x"),
                Map.entry("licenseKey", "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"),
                Map.entry("licenseId", "xxxxxxxxxxxxxxx")
            ))
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test-username")
                .keyName(testPublicKey.name())
                .build())
            .secondaryDevice(DeviceSecondaryDeviceArgs.builder()
                .name("tf-bluecat-bdds-s")
                .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
                .notifications("test@eq.com")
                .accountNumber(sv.applyValue(_sv -> _sv.number()))
                .vendorConfiguration(Map.ofEntries(
                    Map.entry("hostname", "test"),
                    Map.entry("privateAddress", "x.x.x.x"),
                    Map.entry("privateCidrMask", "24"),
                    Map.entry("privateGateway", "x.x.x.x"),
                    Map.entry("licenseKey", "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"),
                    Map.entry("licenseId", "xxxxxxxxxxxxxxx")
                ))
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    name: "account-name",
    metroCode: "SV",
});
const testPublicKey = new equinix.networkedge.SshKey("testPublicKey", {
    name: "key-name",
    publicKey: "ssh-dss key-value",
    type: "DSA",
});
const bluecatBddsHa = new equinix.networkedge.Device("bluecatBddsHa", {
    name: "tf-bluecat-bdds-p",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "BLUECAT",
    selfManaged: true,
    connectivity: "PRIVATE",
    byol: true,
    packageCode: "STD",
    notifications: ["test@equinix.com"],
    accountNumber: sv.apply(sv => sv.number),
    version: "9.6.0",
    coreCount: 2,
    termLength: 12,
    vendorConfiguration: {
        hostname: "test",
        privateAddress: "x.x.x.x",
        privateCidrMask: "24",
        privateGateway: "x.x.x.x",
        licenseKey: "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx",
        licenseId: "xxxxxxxxxxxxxxx",
    },
    sshKey: {
        username: "test-username",
        keyName: testPublicKey.name,
    },
    secondaryDevice: {
        name: "tf-bluecat-bdds-s",
        metroCode: sv.apply(sv => sv.metroCode),
        notifications: ["test@eq.com"],
        accountNumber: sv.apply(sv => sv.number),
        vendorConfiguration: {
            hostname: "test",
            privateAddress: "x.x.x.x",
            privateCidrMask: "24",
            privateGateway: "x.x.x.x",
            licenseKey: "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx",
            licenseId: "xxxxxxxxxxxxxxx",
        },
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(name="account-name",
    metro_code="SV")
test_public_key = equinix.networkedge.SshKey("testPublicKey",
    name="key-name",
    public_key="ssh-dss key-value",
    type="DSA")
bluecat_bdds_ha = equinix.networkedge.Device("bluecatBddsHa",
    name="tf-bluecat-bdds-p",
    metro_code=sv.metro_code,
    type_code="BLUECAT",
    self_managed=True,
    connectivity="PRIVATE",
    byol=True,
    package_code="STD",
    notifications=["test@equinix.com"],
    account_number=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": test_public_key.name,
    },
    secondary_device={
        "name": "tf-bluecat-bdds-s",
        "metro_code": sv.metro_code,
        "notifications": ["test@eq.com"],
        "account_number": 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",
        },
    })
Copy
resources:
  testPublicKey:
    type: equinix:networkedge:SshKey
    name: test_public_key
    properties:
      name: key-name
      publicKey: ssh-dss key-value
      type: DSA
  bluecatBddsHa:
    type: equinix:networkedge:Device
    name: bluecat_bdds_ha
    properties:
      name: tf-bluecat-bdds-p
      metroCode: ${sv.metroCode}
      typeCode: BLUECAT
      selfManaged: true
      connectivity: PRIVATE
      byol: true
      packageCode: STD
      notifications:
        - test@equinix.com
      accountNumber: ${sv.number}
      version: 9.6.0
      coreCount: 2
      termLength: 12
      vendorConfiguration:
        hostname: test
        privateAddress: x.x.x.x
        privateCidrMask: '24'
        privateGateway: x.x.x.x
        licenseKey: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
        licenseId: xxxxxxxxxxxxxxx
      sshKey:
        username: test-username
        keyName: ${testPublicKey.name}
      secondaryDevice:
        name: tf-bluecat-bdds-s
        metroCode: ${sv.metroCode}
        notifications:
          - test@eq.com
        accountNumber: ${sv.number}
        vendorConfiguration:
          hostname: test
          privateAddress: x.x.x.x
          privateCidrMask: '24'
          privateGateway: x.x.x.x
          licenseKey: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
          licenseId: xxxxxxxxxxxxxxx
variables:
  # Create self configured redundant BlueCat DNS and DHCP Server
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        name: account-name
        metroCode: SV
Copy

example 8

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        Name = "account-name",
        MetroCode = "SV",
    });

    var bluecatEdgeServicePointCloudinitPrimaryFile = new Equinix.NetworkEdge.NetworkFile("bluecatEdgeServicePointCloudinitPrimaryFile", new()
    {
        FileName = "TF-BLUECAT-ESP-cloud-init-file.txt",
        Content = Std.File.Invoke(new()
        {
            Input = filepath,
        }).Apply(invoke => invoke.Result),
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode).Apply(System.Enum.Parse<Equinix.Metro>),
        DeviceTypeCode = "BLUECAT-EDGE-SERVICE-POINT",
        ProcessType = Equinix.NetworkEdge.FileType.CloudInit,
        SelfManaged = true,
        Byol = true,
    });

    var bluecatEdgeServicePointCloudinitSecondaryFile = new Equinix.NetworkEdge.NetworkFile("bluecatEdgeServicePointCloudinitSecondaryFile", new()
    {
        FileName = "TF-BLUECAT-ESP-cloud-init-file.txt",
        Content = Std.File.Invoke(new()
        {
            Input = filepath,
        }).Apply(invoke => invoke.Result),
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode).Apply(System.Enum.Parse<Equinix.Metro>),
        DeviceTypeCode = "BLUECAT-EDGE-SERVICE-POINT",
        ProcessType = Equinix.NetworkEdge.FileType.CloudInit,
        SelfManaged = true,
        Byol = true,
    });

    var bluecatEdgeServicePointHa = new Equinix.NetworkEdge.Device("bluecatEdgeServicePointHa", new()
    {
        Name = "tf-bluecat-edge-service-point-p",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "BLUECAT-EDGE-SERVICE-POINT",
        SelfManaged = true,
        Connectivity = "PRIVATE",
        Byol = true,
        PackageCode = "STD",
        Notifications = new[]
        {
            "test@equinix.com",
        },
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        CloudInitFileId = bluecatEdgeServicePointCloudinitPrimaryFile.Uuid,
        Version = "4.6.3",
        CoreCount = 4,
        TermLength = 12,
        SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs
        {
            Name = "tf-bluecat-edge-service-point-s",
            MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
            Notifications = new[]
            {
                "test@eq.com",
            },
            AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
            CloudInitFileId = bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			Name:      pulumi.String("account-name"),
			MetroCode: pulumi.String("SV"),
		}, nil)
		bluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitPrimaryFile", &networkedge.NetworkFileArgs{
			FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"),
			Content: pulumi.String(std.FileOutput(ctx, std.FileOutputArgs{
				Input: pulumi.Any(filepath),
			}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {
				return invoke.Result, nil
			}).(pulumi.StringPtrOutput)),
			MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),
			DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"),
			ProcessType:    pulumi.String(networkedge.FileTypeCloudInit),
			SelfManaged:    pulumi.Bool(true),
			Byol:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		bluecatEdgeServicePointCloudinitSecondaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitSecondaryFile", &networkedge.NetworkFileArgs{
			FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"),
			Content: pulumi.String(std.FileOutput(ctx, std.FileOutputArgs{
				Input: pulumi.Any(filepath),
			}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {
				return invoke.Result, nil
			}).(pulumi.StringPtrOutput)),
			MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),
			DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"),
			ProcessType:    pulumi.String(networkedge.FileTypeCloudInit),
			SelfManaged:    pulumi.Bool(true),
			Byol:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networkedge.NewDevice(ctx, "bluecatEdgeServicePointHa", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-bluecat-edge-service-point-p"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:     pulumi.String("BLUECAT-EDGE-SERVICE-POINT"),
			SelfManaged:  pulumi.Bool(true),
			Connectivity: pulumi.String("PRIVATE"),
			Byol:         pulumi.Bool(true),
			PackageCode:  pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("test@equinix.com"),
			},
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			CloudInitFileId: bluecatEdgeServicePointCloudinitPrimaryFile.Uuid,
			Version:         pulumi.String("4.6.3"),
			CoreCount:       pulumi.Int(4),
			TermLength:      pulumi.Int(12),
			SecondaryDevice: &networkedge.DeviceSecondaryDeviceArgs{
				Name: pulumi.String("tf-bluecat-edge-service-point-s"),
				MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.MetroCode, nil
				}).(pulumi.StringPtrOutput),
				Notifications: pulumi.StringArray{
					pulumi.String("test@eq.com"),
				},
				AccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
					return &sv.Number, nil
				}).(pulumi.StringPtrOutput),
				CloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.NetworkFile;
import com.pulumi.equinix.networkedge.NetworkFileArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .name("account-name")
            .metroCode("SV")
            .build());

        var bluecatEdgeServicePointCloudinitPrimaryFile = new NetworkFile("bluecatEdgeServicePointCloudinitPrimaryFile", NetworkFileArgs.builder()
            .fileName("TF-BLUECAT-ESP-cloud-init-file.txt")
            .content(StdFunctions.file(FileArgs.builder()
                .input(filepath)
                .build()).applyValue(_invoke -> _invoke.result()))
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .deviceTypeCode("BLUECAT-EDGE-SERVICE-POINT")
            .processType("CLOUD_INIT")
            .selfManaged(true)
            .byol(true)
            .build());

        var bluecatEdgeServicePointCloudinitSecondaryFile = new NetworkFile("bluecatEdgeServicePointCloudinitSecondaryFile", NetworkFileArgs.builder()
            .fileName("TF-BLUECAT-ESP-cloud-init-file.txt")
            .content(StdFunctions.file(FileArgs.builder()
                .input(filepath)
                .build()).applyValue(_invoke -> _invoke.result()))
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .deviceTypeCode("BLUECAT-EDGE-SERVICE-POINT")
            .processType("CLOUD_INIT")
            .selfManaged(true)
            .byol(true)
            .build());

        var bluecatEdgeServicePointHa = new Device("bluecatEdgeServicePointHa", DeviceArgs.builder()
            .name("tf-bluecat-edge-service-point-p")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("BLUECAT-EDGE-SERVICE-POINT")
            .selfManaged(true)
            .connectivity("PRIVATE")
            .byol(true)
            .packageCode("STD")
            .notifications("test@equinix.com")
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .cloudInitFileId(bluecatEdgeServicePointCloudinitPrimaryFile.uuid())
            .version("4.6.3")
            .coreCount(4)
            .termLength(12)
            .secondaryDevice(DeviceSecondaryDeviceArgs.builder()
                .name("tf-bluecat-edge-service-point-s")
                .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
                .notifications("test@eq.com")
                .accountNumber(sv.applyValue(_sv -> _sv.number()))
                .cloudInitFileId(bluecatEdgeServicePointCloudinitSecondaryFile.uuid())
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";
import * as std from "@pulumi/std";

const sv = equinix.networkedge.getAccountOutput({
    name: "account-name",
    metroCode: "SV",
});
const bluecatEdgeServicePointCloudinitPrimaryFile = new equinix.networkedge.NetworkFile("bluecatEdgeServicePointCloudinitPrimaryFile", {
    fileName: "TF-BLUECAT-ESP-cloud-init-file.txt",
    content: std.fileOutput({
        input: filepath,
    }).apply(invoke => invoke.result),
    metroCode: sv.apply(sv => sv.metroCode).apply((x) => equinix.index.Metro[x]),
    deviceTypeCode: "BLUECAT-EDGE-SERVICE-POINT",
    processType: equinix.networkedge.FileType.CloudInit,
    selfManaged: true,
    byol: true,
});
const bluecatEdgeServicePointCloudinitSecondaryFile = new equinix.networkedge.NetworkFile("bluecatEdgeServicePointCloudinitSecondaryFile", {
    fileName: "TF-BLUECAT-ESP-cloud-init-file.txt",
    content: std.fileOutput({
        input: filepath,
    }).apply(invoke => invoke.result),
    metroCode: sv.apply(sv => sv.metroCode).apply((x) => equinix.index.Metro[x]),
    deviceTypeCode: "BLUECAT-EDGE-SERVICE-POINT",
    processType: equinix.networkedge.FileType.CloudInit,
    selfManaged: true,
    byol: true,
});
const bluecatEdgeServicePointHa = new equinix.networkedge.Device("bluecatEdgeServicePointHa", {
    name: "tf-bluecat-edge-service-point-p",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "BLUECAT-EDGE-SERVICE-POINT",
    selfManaged: true,
    connectivity: "PRIVATE",
    byol: true,
    packageCode: "STD",
    notifications: ["test@equinix.com"],
    accountNumber: sv.apply(sv => sv.number),
    cloudInitFileId: bluecatEdgeServicePointCloudinitPrimaryFile.uuid,
    version: "4.6.3",
    coreCount: 4,
    termLength: 12,
    secondaryDevice: {
        name: "tf-bluecat-edge-service-point-s",
        metroCode: sv.apply(sv => sv.metroCode),
        notifications: ["test@eq.com"],
        accountNumber: sv.apply(sv => sv.number),
        cloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.uuid,
    },
});
Copy
import pulumi
import pulumi_equinix as equinix
import pulumi_std as std

sv = equinix.networkedge.get_account_output(name="account-name",
    metro_code="SV")
bluecat_edge_service_point_cloudinit_primary_file = equinix.networkedge.NetworkFile("bluecatEdgeServicePointCloudinitPrimaryFile",
    file_name="TF-BLUECAT-ESP-cloud-init-file.txt",
    content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),
    metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),
    device_type_code="BLUECAT-EDGE-SERVICE-POINT",
    process_type=equinix.networkedge.FileType.CLOUD_INIT,
    self_managed=True,
    byol=True)
bluecat_edge_service_point_cloudinit_secondary_file = equinix.networkedge.NetworkFile("bluecatEdgeServicePointCloudinitSecondaryFile",
    file_name="TF-BLUECAT-ESP-cloud-init-file.txt",
    content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),
    metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),
    device_type_code="BLUECAT-EDGE-SERVICE-POINT",
    process_type=equinix.networkedge.FileType.CLOUD_INIT,
    self_managed=True,
    byol=True)
bluecat_edge_service_point_ha = equinix.networkedge.Device("bluecatEdgeServicePointHa",
    name="tf-bluecat-edge-service-point-p",
    metro_code=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=sv.number,
    cloud_init_file_id=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": sv.metro_code,
        "notifications": ["test@eq.com"],
        "account_number": sv.number,
        "cloud_init_file_id": bluecat_edge_service_point_cloudinit_secondary_file.uuid,
    })
Copy
resources:
  bluecatEdgeServicePointCloudinitPrimaryFile:
    type: equinix:networkedge:NetworkFile
    name: bluecat_edge_service_point_cloudinit_primary_file
    properties:
      fileName: TF-BLUECAT-ESP-cloud-init-file.txt
      content:
        fn::invoke:
          function: std:file
          arguments:
            input: ${filepath}
          return: result
      metroCode: ${sv.metroCode}
      deviceTypeCode: BLUECAT-EDGE-SERVICE-POINT
      processType: CLOUD_INIT
      selfManaged: true
      byol: true
  bluecatEdgeServicePointCloudinitSecondaryFile:
    type: equinix:networkedge:NetworkFile
    name: bluecat_edge_service_point_cloudinit_secondary_file
    properties:
      fileName: TF-BLUECAT-ESP-cloud-init-file.txt
      content:
        fn::invoke:
          function: std:file
          arguments:
            input: ${filepath}
          return: result
      metroCode: ${sv.metroCode}
      deviceTypeCode: BLUECAT-EDGE-SERVICE-POINT
      processType: CLOUD_INIT
      selfManaged: true
      byol: true
  bluecatEdgeServicePointHa:
    type: equinix:networkedge:Device
    name: bluecat_edge_service_point_ha
    properties:
      name: tf-bluecat-edge-service-point-p
      metroCode: ${sv.metroCode}
      typeCode: BLUECAT-EDGE-SERVICE-POINT
      selfManaged: true
      connectivity: PRIVATE
      byol: true
      packageCode: STD
      notifications:
        - test@equinix.com
      accountNumber: ${sv.number}
      cloudInitFileId: ${bluecatEdgeServicePointCloudinitPrimaryFile.uuid}
      version: 4.6.3
      coreCount: 4
      termLength: 12
      secondaryDevice:
        name: tf-bluecat-edge-service-point-s
        metroCode: ${sv.metroCode}
        notifications:
          - test@eq.com
        accountNumber: ${sv.number}
        cloudInitFileId: ${bluecatEdgeServicePointCloudinitSecondaryFile.uuid}
variables:
  # Create self configured redundant BlueCat Edge Service Point
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        name: account-name
        metroCode: SV
Copy

example 9

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var panwCluster = new Equinix.NetworkEdge.Device("panwCluster", new()
    {
        Name = "tf-panw",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "PA-VM",
        SelfManaged = true,
        Byol = true,
        PackageCode = "VM100",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "11.1.3",
        InterfaceCount = 10,
        CoreCount = 2,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
        AclTemplateId = "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
        ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs
        {
            ClusterName = "tf-panw-cluster",
            Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args
            {
                VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs
                {
                    Hostname = "panw-node0",
                    PanoramaIpAddress = "x.x.x.x",
                    PanoramaAuthKey = "xxxxxxxxxxx",
                },
                LicenseToken = "licenseToken",
            },
            Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args
            {
                VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs
                {
                    Hostname = "panw-node1",
                    PanoramaIpAddress = "x.x.x.x",
                    PanoramaAuthKey = "xxxxxxxxxxx",
                },
                LicenseToken = "licenseToken",
            },
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "panwCluster", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-panw"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("PA-VM"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("VM100"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("11.1.3"),
			InterfaceCount: pulumi.Int(10),
			CoreCount:      pulumi.Int(2),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
			AclTemplateId: pulumi.String("0bff6e05-f0e7-44cd-804a-25b92b835f8b"),
			ClusterDetails: &networkedge.DeviceClusterDetailsArgs{
				ClusterName: pulumi.String("tf-panw-cluster"),
				Node0: &networkedge.DeviceClusterDetailsNode0Args{
					VendorConfiguration: &networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{
						Hostname:          pulumi.String("panw-node0"),
						PanoramaIpAddress: pulumi.String("x.x.x.x"),
						PanoramaAuthKey:   pulumi.String("xxxxxxxxxxx"),
					},
					LicenseToken: pulumi.String("licenseToken"),
				},
				Node1: &networkedge.DeviceClusterDetailsNode1Args{
					VendorConfiguration: &networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{
						Hostname:          pulumi.String("panw-node1"),
						PanoramaIpAddress: pulumi.String("x.x.x.x"),
						PanoramaAuthKey:   pulumi.String("xxxxxxxxxxx"),
					},
					LicenseToken: pulumi.String("licenseToken"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0Args;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0VendorConfigurationArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1Args;
import com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1VendorConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var panwCluster = new Device("panwCluster", DeviceArgs.builder()
            .name("tf-panw")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("PA-VM")
            .selfManaged(true)
            .byol(true)
            .packageCode("VM100")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("11.1.3")
            .interfaceCount(10)
            .coreCount(2)
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .aclTemplateId("0bff6e05-f0e7-44cd-804a-25b92b835f8b")
            .clusterDetails(DeviceClusterDetailsArgs.builder()
                .clusterName("tf-panw-cluster")
                .node0(DeviceClusterDetailsNode0Args.builder()
                    .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()
                        .hostname("panw-node0")
                        .panoramaIpAddress("x.x.x.x")
                        .panoramaAuthKey("xxxxxxxxxxx")
                        .build())
                    .licenseToken("licenseToken")
                    .build())
                .node1(DeviceClusterDetailsNode1Args.builder()
                    .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()
                        .hostname("panw-node1")
                        .panoramaIpAddress("x.x.x.x")
                        .panoramaAuthKey("xxxxxxxxxxx")
                        .build())
                    .licenseToken("licenseToken")
                    .build())
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const panwCluster = new equinix.networkedge.Device("panwCluster", {
    name: "tf-panw",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "PA-VM",
    selfManaged: true,
    byol: true,
    packageCode: "VM100",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "11.1.3",
    interfaceCount: 10,
    coreCount: 2,
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
    aclTemplateId: "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
    clusterDetails: {
        clusterName: "tf-panw-cluster",
        node0: {
            vendorConfiguration: {
                hostname: "panw-node0",
                panoramaIpAddress: "x.x.x.x",
                panoramaAuthKey: "xxxxxxxxxxx",
            },
            licenseToken: "licenseToken",
        },
        node1: {
            vendorConfiguration: {
                hostname: "panw-node1",
                panoramaIpAddress: "x.x.x.x",
                panoramaAuthKey: "xxxxxxxxxxx",
            },
            licenseToken: "licenseToken",
        },
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
panw_cluster = equinix.networkedge.Device("panwCluster",
    name="tf-panw",
    metro_code=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=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",
        },
    })
Copy
resources:
  panwCluster:
    type: equinix:networkedge:Device
    name: panw_cluster
    properties:
      name: tf-panw
      metroCode: ${sv.metroCode}
      typeCode: PA-VM
      selfManaged: true
      byol: true
      packageCode: VM100
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 11.1.3
      interfaceCount: 10
      coreCount: 2
      sshKey:
        username: test
        keyName: test-key
      aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b
      clusterDetails:
        clusterName: tf-panw-cluster
        node0:
          vendorConfiguration:
            hostname: panw-node0
            panoramaIpAddress: x.x.x.x
            panoramaAuthKey: xxxxxxxxxxx
          licenseToken: licenseToken
        node1:
          vendorConfiguration:
            hostname: panw-node1
            panoramaIpAddress: x.x.x.x
            panoramaAuthKey: xxxxxxxxxxx
          licenseToken: licenseToken
variables:
  # Create PA-VM firewall cluster with Panorama Server Integration
  # with Panorama Server IP and Panorama Auth Key in vendor Configuration
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example Aviatrix Transit Edge

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var filepath = config.Get("filepath") ?? "cloudInitFileFolder/TF-AVX-cloud-init-file.txt";
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var aviatrixCloudinitFile = new Equinix.NetworkEdge.NetworkFile("aviatrixCloudinitFile", new()
    {
        FileName = "TF-AVX-cloud-init-file.txt",
        Content = Std.File.Invoke(new()
        {
            Input = filepath,
        }).Apply(invoke => invoke.Result),
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode).Apply(System.Enum.Parse<Equinix.Metro>),
        DeviceTypeCode = "AVIATRIX_TRANSIT_EDGE",
        ProcessType = Equinix.NetworkEdge.FileType.CloudInit,
        SelfManaged = true,
        Byol = true,
    });

    var aviatrixTransitEdgeSingle = new Equinix.NetworkEdge.Device("aviatrix-transit-edge-single", new()
    {
        Name = "tf-aviatrix",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "AVIATRIX_TRANSIT_EDGE",
        SelfManaged = true,
        Byol = true,
        PackageCode = "STD",
        Notifications = new[]
        {
            "john@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "7.2.a",
        CoreCount = 2,
        CloudInitFileId = aviatrixCloudinitFile.Uuid,
        AclTemplateId = "c06150ea-b604-4ad1-832a-d63936e9b938",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		filepath := "cloudInitFileFolder/TF-AVX-cloud-init-file.txt"
		if param := cfg.Get("filepath"); param != "" {
			filepath = param
		}
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{
			FileName: pulumi.String("TF-AVX-cloud-init-file.txt"),
			Content: pulumi.String(std.FileOutput(ctx, std.FileOutputArgs{
				Input: pulumi.String(filepath),
			}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {
				return invoke.Result, nil
			}).(pulumi.StringPtrOutput)),
			MetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),
			DeviceTypeCode: pulumi.String("AVIATRIX_TRANSIT_EDGE"),
			ProcessType:    pulumi.String(networkedge.FileTypeCloudInit),
			SelfManaged:    pulumi.Bool(true),
			Byol:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networkedge.NewDevice(ctx, "aviatrix-transit-edge-single", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-aviatrix"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("AVIATRIX_TRANSIT_EDGE"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:         pulumi.String("7.2.a"),
			CoreCount:       pulumi.Int(2),
			CloudInitFileId: aviatrixCloudinitFile.Uuid,
			AclTemplateId:   pulumi.String("c06150ea-b604-4ad1-832a-d63936e9b938"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.NetworkFile;
import com.pulumi.equinix.networkedge.NetworkFileArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var config = ctx.config();
        final var filepath = config.get("filepath").orElse("cloudInitFileFolder/TF-AVX-cloud-init-file.txt");
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var aviatrixCloudinitFile = new NetworkFile("aviatrixCloudinitFile", NetworkFileArgs.builder()
            .fileName("TF-AVX-cloud-init-file.txt")
            .content(StdFunctions.file(FileArgs.builder()
                .input(filepath)
                .build()).applyValue(_invoke -> _invoke.result()))
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .deviceTypeCode("AVIATRIX_TRANSIT_EDGE")
            .processType("CLOUD_INIT")
            .selfManaged(true)
            .byol(true)
            .build());

        var aviatrixTransitEdgeSingle = new Device("aviatrixTransitEdgeSingle", DeviceArgs.builder()
            .name("tf-aviatrix")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("AVIATRIX_TRANSIT_EDGE")
            .selfManaged(true)
            .byol(true)
            .packageCode("STD")
            .notifications("john@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("7.2.a")
            .coreCount(2)
            .cloudInitFileId(aviatrixCloudinitFile.uuid())
            .aclTemplateId("c06150ea-b604-4ad1-832a-d63936e9b938")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";
import * as std from "@pulumi/std";

const config = new pulumi.Config();
const filepath = config.get("filepath") || "cloudInitFileFolder/TF-AVX-cloud-init-file.txt";
const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const aviatrixCloudinitFile = new equinix.networkedge.NetworkFile("aviatrixCloudinitFile", {
    fileName: "TF-AVX-cloud-init-file.txt",
    content: std.fileOutput({
        input: filepath,
    }).apply(invoke => invoke.result),
    metroCode: sv.apply(sv => sv.metroCode).apply((x) => equinix.index.Metro[x]),
    deviceTypeCode: "AVIATRIX_TRANSIT_EDGE",
    processType: equinix.networkedge.FileType.CloudInit,
    selfManaged: true,
    byol: true,
});
const aviatrixTransitEdgeSingle = new equinix.networkedge.Device("aviatrix-transit-edge-single", {
    name: "tf-aviatrix",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "AVIATRIX_TRANSIT_EDGE",
    selfManaged: true,
    byol: true,
    packageCode: "STD",
    notifications: ["john@equinix.com"],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "7.2.a",
    coreCount: 2,
    cloudInitFileId: aviatrixCloudinitFile.uuid,
    aclTemplateId: "c06150ea-b604-4ad1-832a-d63936e9b938",
});
Copy
import pulumi
import pulumi_equinix as equinix
import pulumi_std as std

config = pulumi.Config()
filepath = config.get("filepath")
if filepath is None:
    filepath = "cloudInitFileFolder/TF-AVX-cloud-init-file.txt"
sv = equinix.networkedge.get_account_output(metro_code="SV")
aviatrix_cloudinit_file = equinix.networkedge.NetworkFile("aviatrixCloudinitFile",
    file_name="TF-AVX-cloud-init-file.txt",
    content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),
    metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),
    device_type_code="AVIATRIX_TRANSIT_EDGE",
    process_type=equinix.networkedge.FileType.CLOUD_INIT,
    self_managed=True,
    byol=True)
aviatrix_transit_edge_single = equinix.networkedge.Device("aviatrix-transit-edge-single",
    name="tf-aviatrix",
    metro_code=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=sv.number,
    version="7.2.a",
    core_count=2,
    cloud_init_file_id=aviatrix_cloudinit_file.uuid,
    acl_template_id="c06150ea-b604-4ad1-832a-d63936e9b938")
Copy
configuration:
  filepath:
    type: string
    default: cloudInitFileFolder/TF-AVX-cloud-init-file.txt
resources:
  aviatrixCloudinitFile:
    type: equinix:networkedge:NetworkFile
    name: aviatrix_cloudinit_file
    properties:
      fileName: TF-AVX-cloud-init-file.txt
      content:
        fn::invoke:
          function: std:file
          arguments:
            input: ${filepath}
          return: result
      metroCode: ${sv.metroCode}
      deviceTypeCode: AVIATRIX_TRANSIT_EDGE
      processType: CLOUD_INIT
      selfManaged: true
      byol: true
  aviatrix-transit-edge-single:
    type: equinix:networkedge:Device
    properties:
      name: tf-aviatrix
      metroCode: ${sv.metroCode}
      typeCode: AVIATRIX_TRANSIT_EDGE
      selfManaged: true
      byol: true
      packageCode: STD
      notifications:
        - john@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 7.2.a
      coreCount: 2
      cloudInitFileId: ${aviatrixCloudinitFile.uuid}
      aclTemplateId: c06150ea-b604-4ad1-832a-d63936e9b938
variables:
  # Create self configured single Aviatrix Transit Edge device with cloud init file
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example c8000v byol without default password

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var c8000VByolWithtoutDefaultPassword = new Equinix.NetworkEdge.Device("c8000v-byol-withtout-default-password", new()
    {
        Name = "tf-c8000v-byol",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "C8000V",
        SelfManaged = true,
        Byol = true,
        GenerateDefaultPassword = false,
        PackageCode = "VM100",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "17.11.01a",
        InterfaceCount = 10,
        CoreCount = 2,
        Tier = 1,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
        AclTemplateId = "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "c8000v-byol-withtout-default-password", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-c8000v-byol"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:                pulumi.String("C8000V"),
			SelfManaged:             pulumi.Bool(true),
			Byol:                    pulumi.Bool(true),
			GenerateDefaultPassword: pulumi.Bool(false),
			PackageCode:             pulumi.String("VM100"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("17.11.01a"),
			InterfaceCount: pulumi.Int(10),
			CoreCount:      pulumi.Int(2),
			Tier:           pulumi.Int(1),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
			AclTemplateId: pulumi.String("0bff6e05-f0e7-44cd-804a-25b92b835f8b"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var c8000VByolWithtoutDefaultPassword = new Device("c8000VByolWithtoutDefaultPassword", DeviceArgs.builder()
            .name("tf-c8000v-byol")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("C8000V")
            .selfManaged(true)
            .byol(true)
            .generateDefaultPassword(false)
            .packageCode("VM100")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("17.11.01a")
            .interfaceCount(10)
            .coreCount(2)
            .tier(1)
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .aclTemplateId("0bff6e05-f0e7-44cd-804a-25b92b835f8b")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const c8000VByolWithtoutDefaultPassword = new equinix.networkedge.Device("c8000v-byol-withtout-default-password", {
    name: "tf-c8000v-byol",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "C8000V",
    selfManaged: true,
    byol: true,
    generateDefaultPassword: false,
    packageCode: "VM100",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "17.11.01a",
    interfaceCount: 10,
    coreCount: 2,
    tier: 1,
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
    aclTemplateId: "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
c8000_v_byol_withtout_default_password = equinix.networkedge.Device("c8000v-byol-withtout-default-password",
    name="tf-c8000v-byol",
    metro_code=sv.metro_code,
    type_code="C8000V",
    self_managed=True,
    byol=True,
    generate_default_password=False,
    package_code="VM100",
    notifications=[
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    term_length=12,
    account_number=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")
Copy
resources:
  c8000v-byol-withtout-default-password:
    type: equinix:networkedge:Device
    properties:
      name: tf-c8000v-byol
      metroCode: ${sv.metroCode}
      typeCode: C8000V
      selfManaged: true
      byol: true
      generateDefaultPassword: false
      packageCode: VM100
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 17.11.01a
      interfaceCount: 10
      coreCount: 2
      tier: 1
      sshKey:
        username: test
        keyName: test-key
      aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b
variables:
  # Create C8000V BYOL device with bandwidth tier information
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example c8000v byol with bandwidth throughput

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var c8000VByolThroughput = new Equinix.NetworkEdge.Device("c8000v-byol-throughput", new()
    {
        Name = "tf-c8000v-byol",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "C8000V",
        SelfManaged = true,
        Byol = true,
        PackageCode = "VM100",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "17.11.01a",
        InterfaceCount = 10,
        CoreCount = 2,
        Throughput = 100,
        ThroughputUnit = Equinix.NetworkEdge.ThroughputUnit.Mbps,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
        AclTemplateId = "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "c8000v-byol-throughput", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-c8000v-byol"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("C8000V"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("VM100"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("17.11.01a"),
			InterfaceCount: pulumi.Int(10),
			CoreCount:      pulumi.Int(2),
			Throughput:     pulumi.Int(100),
			ThroughputUnit: pulumi.String(networkedge.ThroughputUnitMbps),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
			AclTemplateId: pulumi.String("0bff6e05-f0e7-44cd-804a-25b92b835f8b"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var c8000VByolThroughput = new Device("c8000VByolThroughput", DeviceArgs.builder()
            .name("tf-c8000v-byol")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("C8000V")
            .selfManaged(true)
            .byol(true)
            .packageCode("VM100")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("17.11.01a")
            .interfaceCount(10)
            .coreCount(2)
            .throughput(100)
            .throughputUnit("Mbps")
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .aclTemplateId("0bff6e05-f0e7-44cd-804a-25b92b835f8b")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const c8000VByolThroughput = new equinix.networkedge.Device("c8000v-byol-throughput", {
    name: "tf-c8000v-byol",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "C8000V",
    selfManaged: true,
    byol: true,
    packageCode: "VM100",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "17.11.01a",
    interfaceCount: 10,
    coreCount: 2,
    throughput: 100,
    throughputUnit: equinix.networkedge.ThroughputUnit.Mbps,
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
    aclTemplateId: "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
c8000_v_byol_throughput = equinix.networkedge.Device("c8000v-byol-throughput",
    name="tf-c8000v-byol",
    metro_code=sv.metro_code,
    type_code="C8000V",
    self_managed=True,
    byol=True,
    package_code="VM100",
    notifications=[
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    term_length=12,
    account_number=sv.number,
    version="17.11.01a",
    interface_count=10,
    core_count=2,
    throughput=100,
    throughput_unit=equinix.networkedge.ThroughputUnit.MBPS,
    ssh_key={
        "username": "test",
        "key_name": "test-key",
    },
    acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b")
Copy
resources:
  c8000v-byol-throughput:
    type: equinix:networkedge:Device
    properties:
      name: tf-c8000v-byol
      metroCode: ${sv.metroCode}
      typeCode: C8000V
      selfManaged: true
      byol: true
      packageCode: VM100
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 17.11.01a
      interfaceCount: 10
      coreCount: 2
      throughput: '100'
      throughputUnit: Mbps
      sshKey:
        username: test
        keyName: test-key
      aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b
variables:
  # Create C8000V BYOL device with numeric bandwidth throughput information
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example c8000v byol with bandwidth tier

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var c8000VByolTier = new Equinix.NetworkEdge.Device("c8000v-byol-tier", new()
    {
        Name = "tf-c8000v-byol",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "C8000V",
        SelfManaged = true,
        Byol = true,
        PackageCode = "VM100",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "17.11.01a",
        InterfaceCount = 10,
        CoreCount = 2,
        Tier = 1,
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
        AclTemplateId = "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "c8000v-byol-tier", &networkedge.DeviceArgs{
			Name: pulumi.String("tf-c8000v-byol"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:    pulumi.String("C8000V"),
			SelfManaged: pulumi.Bool(true),
			Byol:        pulumi.Bool(true),
			PackageCode: pulumi.String("VM100"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("17.11.01a"),
			InterfaceCount: pulumi.Int(10),
			CoreCount:      pulumi.Int(2),
			Tier:           pulumi.Int(1),
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
			AclTemplateId: pulumi.String("0bff6e05-f0e7-44cd-804a-25b92b835f8b"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var c8000VByolTier = new Device("c8000VByolTier", DeviceArgs.builder()
            .name("tf-c8000v-byol")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("C8000V")
            .selfManaged(true)
            .byol(true)
            .packageCode("VM100")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("17.11.01a")
            .interfaceCount(10)
            .coreCount(2)
            .tier(1)
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .aclTemplateId("0bff6e05-f0e7-44cd-804a-25b92b835f8b")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const c8000VByolTier = new equinix.networkedge.Device("c8000v-byol-tier", {
    name: "tf-c8000v-byol",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "C8000V",
    selfManaged: true,
    byol: true,
    packageCode: "VM100",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "17.11.01a",
    interfaceCount: 10,
    coreCount: 2,
    tier: 1,
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
    aclTemplateId: "0bff6e05-f0e7-44cd-804a-25b92b835f8b",
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
c8000_v_byol_tier = equinix.networkedge.Device("c8000v-byol-tier",
    name="tf-c8000v-byol",
    metro_code=sv.metro_code,
    type_code="C8000V",
    self_managed=True,
    byol=True,
    package_code="VM100",
    notifications=[
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    term_length=12,
    account_number=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")
Copy
resources:
  c8000v-byol-tier:
    type: equinix:networkedge:Device
    properties:
      name: tf-c8000v-byol
      metroCode: ${sv.metroCode}
      typeCode: C8000V
      selfManaged: true
      byol: true
      packageCode: VM100
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 17.11.01a
      interfaceCount: 10
      coreCount: 2
      tier: 1
      sshKey:
        username: test
        keyName: test-key
      aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b
variables:
  # Create C8000V BYOL device with bandwidth tier information
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example zscaler appc

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var zscalerAppcSingle = new Equinix.NetworkEdge.Device("zscaler-appc-single", new()
    {
        Name = "tf-zscaler-appc",
        ProjectId = "XXXXXX",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "ZSCALER-APPC",
        SelfManaged = true,
        Byol = true,
        Connectivity = "PRIVATE",
        PackageCode = "STD",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "23.395.1",
        InterfaceCount = 1,
        CoreCount = 4,
        VendorConfiguration = 
        {
            { "provisioningKey", "XXXXXXXXXX" },
            { "hostname", "XXXX" },
        },
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "zscaler-appc-single", &networkedge.DeviceArgs{
			Name:      pulumi.String("tf-zscaler-appc"),
			ProjectId: pulumi.String("XXXXXX"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:     pulumi.String("ZSCALER-APPC"),
			SelfManaged:  pulumi.Bool(true),
			Byol:         pulumi.Bool(true),
			Connectivity: pulumi.String("PRIVATE"),
			PackageCode:  pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("23.395.1"),
			InterfaceCount: pulumi.Int(1),
			CoreCount:      pulumi.Int(4),
			VendorConfiguration: pulumi.StringMap{
				"provisioningKey": pulumi.String("XXXXXXXXXX"),
				"hostname":        pulumi.String("XXXX"),
			},
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var zscalerAppcSingle = new Device("zscalerAppcSingle", DeviceArgs.builder()
            .name("tf-zscaler-appc")
            .projectId("XXXXXX")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("ZSCALER-APPC")
            .selfManaged(true)
            .byol(true)
            .connectivity("PRIVATE")
            .packageCode("STD")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("23.395.1")
            .interfaceCount(1)
            .coreCount(4)
            .vendorConfiguration(Map.ofEntries(
                Map.entry("provisioningKey", "XXXXXXXXXX"),
                Map.entry("hostname", "XXXX")
            ))
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const zscalerAppcSingle = new equinix.networkedge.Device("zscaler-appc-single", {
    name: "tf-zscaler-appc",
    projectId: "XXXXXX",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "ZSCALER-APPC",
    selfManaged: true,
    byol: true,
    connectivity: "PRIVATE",
    packageCode: "STD",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "23.395.1",
    interfaceCount: 1,
    coreCount: 4,
    vendorConfiguration: {
        provisioningKey: "XXXXXXXXXX",
        hostname: "XXXX",
    },
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
zscaler_appc_single = equinix.networkedge.Device("zscaler-appc-single",
    name="tf-zscaler-appc",
    project_id="XXXXXX",
    metro_code=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=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",
    })
Copy
resources:
  zscaler-appc-single:
    type: equinix:networkedge:Device
    properties:
      name: tf-zscaler-appc
      projectId: XXXXXX
      metroCode: ${sv.metroCode}
      typeCode: ZSCALER-APPC
      selfManaged: true
      byol: true
      connectivity: PRIVATE
      packageCode: STD
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 23.395.1
      interfaceCount: 1
      coreCount: 4
      vendorConfiguration:
        provisioningKey: XXXXXXXXXX
        hostname: XXXX
      sshKey:
        username: test
        keyName: test-key
variables:
  # Create ZSCALER APPC device
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

example zscaler pse

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;

return await Deployment.RunAsync(() => 
{
    var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()
    {
        MetroCode = "SV",
    });

    var zscalerPseSingle = new Equinix.NetworkEdge.Device("zscaler-pse-single", new()
    {
        Name = "tf-zscaler-pse",
        ProjectId = "XXXXXX",
        MetroCode = sv.Apply(getAccountResult => getAccountResult.MetroCode),
        TypeCode = "ZSCALER-PSE",
        SelfManaged = true,
        Byol = true,
        Connectivity = "PRIVATE",
        PackageCode = "STD",
        Notifications = new[]
        {
            "john@equinix.com",
            "marry@equinix.com",
            "fred@equinix.com",
        },
        TermLength = 12,
        AccountNumber = sv.Apply(getAccountResult => getAccountResult.Number),
        Version = "23.395.1",
        InterfaceCount = 1,
        CoreCount = 4,
        VendorConfiguration = 
        {
            { "provisioningKey", "XXXXXXXXXX" },
            { "hostname", "XXXX" },
        },
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
        {
            Username = "test",
            KeyName = "test-key",
        },
    });

});
Copy
package main

import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{
			MetroCode: pulumi.String("SV"),
		}, nil)
		_, err := networkedge.NewDevice(ctx, "zscaler-pse-single", &networkedge.DeviceArgs{
			Name:      pulumi.String("tf-zscaler-pse"),
			ProjectId: pulumi.String("XXXXXX"),
			MetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.MetroCode, nil
			}).(pulumi.StringPtrOutput)),
			TypeCode:     pulumi.String("ZSCALER-PSE"),
			SelfManaged:  pulumi.Bool(true),
			Byol:         pulumi.Bool(true),
			Connectivity: pulumi.String("PRIVATE"),
			PackageCode:  pulumi.String("STD"),
			Notifications: pulumi.StringArray{
				pulumi.String("john@equinix.com"),
				pulumi.String("marry@equinix.com"),
				pulumi.String("fred@equinix.com"),
			},
			TermLength: pulumi.Int(12),
			AccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {
				return &sv.Number, nil
			}).(pulumi.StringPtrOutput)),
			Version:        pulumi.String("23.395.1"),
			InterfaceCount: pulumi.Int(1),
			CoreCount:      pulumi.Int(4),
			VendorConfiguration: pulumi.StringMap{
				"provisioningKey": pulumi.String("XXXXXXXXXX"),
				"hostname":        pulumi.String("XXXX"),
			},
			SshKey: &networkedge.DeviceSshKeyArgs{
				Username: pulumi.String("test"),
				KeyName:  pulumi.String("test-key"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.networkedge.NetworkedgeFunctions;
import com.pulumi.equinix.networkedge.inputs.GetAccountArgs;
import com.pulumi.equinix.networkedge.Device;
import com.pulumi.equinix.networkedge.DeviceArgs;
import com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()
            .metroCode("SV")
            .build());

        var zscalerPseSingle = new Device("zscalerPseSingle", DeviceArgs.builder()
            .name("tf-zscaler-pse")
            .projectId("XXXXXX")
            .metroCode(sv.applyValue(_sv -> _sv.metroCode()))
            .typeCode("ZSCALER-PSE")
            .selfManaged(true)
            .byol(true)
            .connectivity("PRIVATE")
            .packageCode("STD")
            .notifications(            
                "john@equinix.com",
                "marry@equinix.com",
                "fred@equinix.com")
            .termLength(12)
            .accountNumber(sv.applyValue(_sv -> _sv.number()))
            .version("23.395.1")
            .interfaceCount(1)
            .coreCount(4)
            .vendorConfiguration(Map.ofEntries(
                Map.entry("provisioningKey", "XXXXXXXXXX"),
                Map.entry("hostname", "XXXX")
            ))
            .sshKey(DeviceSshKeyArgs.builder()
                .username("test")
                .keyName("test-key")
                .build())
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";

const sv = equinix.networkedge.getAccountOutput({
    metroCode: "SV",
});
const zscalerPseSingle = new equinix.networkedge.Device("zscaler-pse-single", {
    name: "tf-zscaler-pse",
    projectId: "XXXXXX",
    metroCode: sv.apply(sv => sv.metroCode),
    typeCode: "ZSCALER-PSE",
    selfManaged: true,
    byol: true,
    connectivity: "PRIVATE",
    packageCode: "STD",
    notifications: [
        "john@equinix.com",
        "marry@equinix.com",
        "fred@equinix.com",
    ],
    termLength: 12,
    accountNumber: sv.apply(sv => sv.number),
    version: "23.395.1",
    interfaceCount: 1,
    coreCount: 4,
    vendorConfiguration: {
        provisioningKey: "XXXXXXXXXX",
        hostname: "XXXX",
    },
    sshKey: {
        username: "test",
        keyName: "test-key",
    },
});
Copy
import pulumi
import pulumi_equinix as equinix

sv = equinix.networkedge.get_account_output(metro_code="SV")
zscaler_pse_single = equinix.networkedge.Device("zscaler-pse-single",
    name="tf-zscaler-pse",
    project_id="XXXXXX",
    metro_code=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=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",
    })
Copy
resources:
  zscaler-pse-single:
    type: equinix:networkedge:Device
    properties:
      name: tf-zscaler-pse
      projectId: XXXXXX
      metroCode: ${sv.metroCode}
      typeCode: ZSCALER-PSE
      selfManaged: true
      byol: true
      connectivity: PRIVATE
      packageCode: STD
      notifications:
        - john@equinix.com
        - marry@equinix.com
        - fred@equinix.com
      termLength: 12
      accountNumber: ${sv.number}
      version: 23.395.1
      interfaceCount: 1
      coreCount: 4
      vendorConfiguration:
        provisioningKey: XXXXXXXXXX
        hostname: XXXX
      sshKey:
        username: test
        keyName: test-key
variables:
  # Create ZSCALER APPC device
  sv:
    fn::invoke:
      function: equinix:networkedge:getAccount
      arguments:
        metroCode: SV
Copy

Create Device Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Device(name: string, args: DeviceArgs, opts?: CustomResourceOptions);
@overload
def Device(resource_name: str,
           args: DeviceArgs,
           opts: Optional[ResourceOptions] = None)

@overload
def Device(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           metro_code: Optional[str] = None,
           version: Optional[str] = None,
           type_code: Optional[str] = None,
           term_length: Optional[int] = None,
           package_code: Optional[str] = None,
           notifications: Optional[Sequence[str]] = None,
           account_number: Optional[str] = None,
           core_count: Optional[int] = None,
           mgmt_acl_template_uuid: Optional[str] = None,
           project_id: Optional[str] = None,
           hostname: Optional[str] = None,
           interface_count: Optional[int] = None,
           license_file: Optional[str] = None,
           license_file_id: Optional[str] = None,
           license_token: Optional[str] = None,
           diverse_device_id: Optional[str] = None,
           connectivity: Optional[str] = None,
           name: Optional[str] = None,
           cluster_details: Optional[DeviceClusterDetailsArgs] = None,
           order_reference: Optional[str] = None,
           cloud_init_file_id: Optional[str] = None,
           generate_default_password: Optional[bool] = None,
           purchase_order_number: Optional[str] = None,
           secondary_device: Optional[DeviceSecondaryDeviceArgs] = None,
           self_managed: Optional[bool] = None,
           ssh_key: Optional[DeviceSshKeyArgs] = None,
           byol: Optional[bool] = None,
           throughput: Optional[int] = None,
           throughput_unit: Optional[Union[str, ThroughputUnit]] = None,
           tier: Optional[int] = None,
           additional_bandwidth: Optional[int] = None,
           vendor_configuration: Optional[Mapping[str, str]] = None,
           acl_template_id: Optional[str] = None,
           wan_interface_id: Optional[str] = None)
func NewDevice(ctx *Context, name string, args DeviceArgs, opts ...ResourceOption) (*Device, error)
public Device(string name, DeviceArgs args, CustomResourceOptions? opts = null)
public Device(String name, DeviceArgs args)
public Device(String name, DeviceArgs args, CustomResourceOptions options)
type: equinix:networkedge:Device
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var equinixDeviceResource = new Equinix.NetworkEdge.Device("equinixDeviceResource", new()
{
    MetroCode = "string",
    Version = "string",
    TypeCode = "string",
    TermLength = 0,
    PackageCode = "string",
    Notifications = new[]
    {
        "string",
    },
    AccountNumber = "string",
    CoreCount = 0,
    MgmtAclTemplateUuid = "string",
    ProjectId = "string",
    Hostname = "string",
    InterfaceCount = 0,
    LicenseFile = "string",
    LicenseFileId = "string",
    LicenseToken = "string",
    DiverseDeviceId = "string",
    Connectivity = "string",
    Name = "string",
    ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs
    {
        ClusterName = "string",
        Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args
        {
            LicenseFileId = "string",
            LicenseToken = "string",
            Name = "string",
            Uuid = "string",
            VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs
            {
                ActivationKey = "string",
                AdminPassword = "string",
                Controller1 = "string",
                ControllerFqdn = "string",
                Hostname = "string",
                LicenseId = "string",
                LicenseKey = "string",
                PanoramaAuthKey = "string",
                PanoramaIpAddress = "string",
                PrivateAddress = "string",
                PrivateCidrMask = "string",
                PrivateGateway = "string",
                RootPassword = "string",
            },
        },
        Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args
        {
            LicenseFileId = "string",
            LicenseToken = "string",
            Name = "string",
            Uuid = "string",
            VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs
            {
                ActivationKey = "string",
                AdminPassword = "string",
                Controller1 = "string",
                ControllerFqdn = "string",
                Hostname = "string",
                LicenseId = "string",
                LicenseKey = "string",
                PanoramaAuthKey = "string",
                PanoramaIpAddress = "string",
                PrivateAddress = "string",
                PrivateCidrMask = "string",
                PrivateGateway = "string",
                RootPassword = "string",
            },
        },
        ClusterId = "string",
        NumOfNodes = 0,
    },
    OrderReference = "string",
    CloudInitFileId = "string",
    GenerateDefaultPassword = false,
    PurchaseOrderNumber = "string",
    SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs
    {
        AccountNumber = "string",
        Notifications = new[]
        {
            "string",
        },
        Name = "string",
        MetroCode = "string",
        Interfaces = new[]
        {
            new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceInterfaceArgs
            {
                AssignedType = "string",
                Id = 0,
                IpAddress = "string",
                MacAddress = "string",
                Name = "string",
                OperationalStatus = "string",
                Status = "string",
                Type = "string",
            },
        },
        AclTemplateId = "string",
        Ibx = "string",
        CloudInitFileId = "string",
        LicenseFile = "string",
        LicenseFileId = "string",
        LicenseStatus = "string",
        LicenseToken = "string",
        Asn = 0,
        MgmtAclTemplateUuid = "string",
        AdditionalBandwidth = 0,
        Hostname = "string",
        ProjectId = "string",
        RedundancyType = "string",
        RedundantId = "string",
        Region = "string",
        SshIpAddress = "string",
        SshIpFqdn = "string",
        SshKey = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceSshKeyArgs
        {
            Username = "string",
            KeyName = "string",
        },
        Status = "string",
        Uuid = "string",
        VendorConfiguration = 
        {
            { "string", "string" },
        },
        WanInterfaceId = "string",
        ZoneCode = "string",
    },
    SelfManaged = false,
    SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs
    {
        Username = "string",
        KeyName = "string",
    },
    Byol = false,
    Throughput = 0,
    ThroughputUnit = "string",
    Tier = 0,
    AdditionalBandwidth = 0,
    VendorConfiguration = 
    {
        { "string", "string" },
    },
    AclTemplateId = "string",
    WanInterfaceId = "string",
});
Copy
example, err := networkedge.NewDevice(ctx, "equinixDeviceResource", &networkedge.DeviceArgs{
	MetroCode:   pulumi.String("string"),
	Version:     pulumi.String("string"),
	TypeCode:    pulumi.String("string"),
	TermLength:  pulumi.Int(0),
	PackageCode: pulumi.String("string"),
	Notifications: pulumi.StringArray{
		pulumi.String("string"),
	},
	AccountNumber:       pulumi.String("string"),
	CoreCount:           pulumi.Int(0),
	MgmtAclTemplateUuid: pulumi.String("string"),
	ProjectId:           pulumi.String("string"),
	Hostname:            pulumi.String("string"),
	InterfaceCount:      pulumi.Int(0),
	LicenseFile:         pulumi.String("string"),
	LicenseFileId:       pulumi.String("string"),
	LicenseToken:        pulumi.String("string"),
	DiverseDeviceId:     pulumi.String("string"),
	Connectivity:        pulumi.String("string"),
	Name:                pulumi.String("string"),
	ClusterDetails: &networkedge.DeviceClusterDetailsArgs{
		ClusterName: pulumi.String("string"),
		Node0: &networkedge.DeviceClusterDetailsNode0Args{
			LicenseFileId: pulumi.String("string"),
			LicenseToken:  pulumi.String("string"),
			Name:          pulumi.String("string"),
			Uuid:          pulumi.String("string"),
			VendorConfiguration: &networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{
				ActivationKey:     pulumi.String("string"),
				AdminPassword:     pulumi.String("string"),
				Controller1:       pulumi.String("string"),
				ControllerFqdn:    pulumi.String("string"),
				Hostname:          pulumi.String("string"),
				LicenseId:         pulumi.String("string"),
				LicenseKey:        pulumi.String("string"),
				PanoramaAuthKey:   pulumi.String("string"),
				PanoramaIpAddress: pulumi.String("string"),
				PrivateAddress:    pulumi.String("string"),
				PrivateCidrMask:   pulumi.String("string"),
				PrivateGateway:    pulumi.String("string"),
				RootPassword:      pulumi.String("string"),
			},
		},
		Node1: &networkedge.DeviceClusterDetailsNode1Args{
			LicenseFileId: pulumi.String("string"),
			LicenseToken:  pulumi.String("string"),
			Name:          pulumi.String("string"),
			Uuid:          pulumi.String("string"),
			VendorConfiguration: &networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{
				ActivationKey:     pulumi.String("string"),
				AdminPassword:     pulumi.String("string"),
				Controller1:       pulumi.String("string"),
				ControllerFqdn:    pulumi.String("string"),
				Hostname:          pulumi.String("string"),
				LicenseId:         pulumi.String("string"),
				LicenseKey:        pulumi.String("string"),
				PanoramaAuthKey:   pulumi.String("string"),
				PanoramaIpAddress: pulumi.String("string"),
				PrivateAddress:    pulumi.String("string"),
				PrivateCidrMask:   pulumi.String("string"),
				PrivateGateway:    pulumi.String("string"),
				RootPassword:      pulumi.String("string"),
			},
		},
		ClusterId:  pulumi.String("string"),
		NumOfNodes: pulumi.Int(0),
	},
	OrderReference:          pulumi.String("string"),
	CloudInitFileId:         pulumi.String("string"),
	GenerateDefaultPassword: pulumi.Bool(false),
	PurchaseOrderNumber:     pulumi.String("string"),
	SecondaryDevice: &networkedge.DeviceSecondaryDeviceArgs{
		AccountNumber: pulumi.String("string"),
		Notifications: pulumi.StringArray{
			pulumi.String("string"),
		},
		Name:      pulumi.String("string"),
		MetroCode: pulumi.String("string"),
		Interfaces: networkedge.DeviceSecondaryDeviceInterfaceArray{
			&networkedge.DeviceSecondaryDeviceInterfaceArgs{
				AssignedType:      pulumi.String("string"),
				Id:                pulumi.Int(0),
				IpAddress:         pulumi.String("string"),
				MacAddress:        pulumi.String("string"),
				Name:              pulumi.String("string"),
				OperationalStatus: pulumi.String("string"),
				Status:            pulumi.String("string"),
				Type:              pulumi.String("string"),
			},
		},
		AclTemplateId:       pulumi.String("string"),
		Ibx:                 pulumi.String("string"),
		CloudInitFileId:     pulumi.String("string"),
		LicenseFile:         pulumi.String("string"),
		LicenseFileId:       pulumi.String("string"),
		LicenseStatus:       pulumi.String("string"),
		LicenseToken:        pulumi.String("string"),
		Asn:                 pulumi.Int(0),
		MgmtAclTemplateUuid: pulumi.String("string"),
		AdditionalBandwidth: pulumi.Int(0),
		Hostname:            pulumi.String("string"),
		ProjectId:           pulumi.String("string"),
		RedundancyType:      pulumi.String("string"),
		RedundantId:         pulumi.String("string"),
		Region:              pulumi.String("string"),
		SshIpAddress:        pulumi.String("string"),
		SshIpFqdn:           pulumi.String("string"),
		SshKey: &networkedge.DeviceSecondaryDeviceSshKeyArgs{
			Username: pulumi.String("string"),
			KeyName:  pulumi.String("string"),
		},
		Status: pulumi.String("string"),
		Uuid:   pulumi.String("string"),
		VendorConfiguration: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		WanInterfaceId: pulumi.String("string"),
		ZoneCode:       pulumi.String("string"),
	},
	SelfManaged: pulumi.Bool(false),
	SshKey: &networkedge.DeviceSshKeyArgs{
		Username: pulumi.String("string"),
		KeyName:  pulumi.String("string"),
	},
	Byol:                pulumi.Bool(false),
	Throughput:          pulumi.Int(0),
	ThroughputUnit:      pulumi.String("string"),
	Tier:                pulumi.Int(0),
	AdditionalBandwidth: pulumi.Int(0),
	VendorConfiguration: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	AclTemplateId:  pulumi.String("string"),
	WanInterfaceId: pulumi.String("string"),
})
Copy
var equinixDeviceResource = new Device("equinixDeviceResource", DeviceArgs.builder()
    .metroCode("string")
    .version("string")
    .typeCode("string")
    .termLength(0)
    .packageCode("string")
    .notifications("string")
    .accountNumber("string")
    .coreCount(0)
    .mgmtAclTemplateUuid("string")
    .projectId("string")
    .hostname("string")
    .interfaceCount(0)
    .licenseFile("string")
    .licenseFileId("string")
    .licenseToken("string")
    .diverseDeviceId("string")
    .connectivity("string")
    .name("string")
    .clusterDetails(DeviceClusterDetailsArgs.builder()
        .clusterName("string")
        .node0(DeviceClusterDetailsNode0Args.builder()
            .licenseFileId("string")
            .licenseToken("string")
            .name("string")
            .uuid("string")
            .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()
                .activationKey("string")
                .adminPassword("string")
                .controller1("string")
                .controllerFqdn("string")
                .hostname("string")
                .licenseId("string")
                .licenseKey("string")
                .panoramaAuthKey("string")
                .panoramaIpAddress("string")
                .privateAddress("string")
                .privateCidrMask("string")
                .privateGateway("string")
                .rootPassword("string")
                .build())
            .build())
        .node1(DeviceClusterDetailsNode1Args.builder()
            .licenseFileId("string")
            .licenseToken("string")
            .name("string")
            .uuid("string")
            .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()
                .activationKey("string")
                .adminPassword("string")
                .controller1("string")
                .controllerFqdn("string")
                .hostname("string")
                .licenseId("string")
                .licenseKey("string")
                .panoramaAuthKey("string")
                .panoramaIpAddress("string")
                .privateAddress("string")
                .privateCidrMask("string")
                .privateGateway("string")
                .rootPassword("string")
                .build())
            .build())
        .clusterId("string")
        .numOfNodes(0)
        .build())
    .orderReference("string")
    .cloudInitFileId("string")
    .generateDefaultPassword(false)
    .purchaseOrderNumber("string")
    .secondaryDevice(DeviceSecondaryDeviceArgs.builder()
        .accountNumber("string")
        .notifications("string")
        .name("string")
        .metroCode("string")
        .interfaces(DeviceSecondaryDeviceInterfaceArgs.builder()
            .assignedType("string")
            .id(0)
            .ipAddress("string")
            .macAddress("string")
            .name("string")
            .operationalStatus("string")
            .status("string")
            .type("string")
            .build())
        .aclTemplateId("string")
        .ibx("string")
        .cloudInitFileId("string")
        .licenseFile("string")
        .licenseFileId("string")
        .licenseStatus("string")
        .licenseToken("string")
        .asn(0)
        .mgmtAclTemplateUuid("string")
        .additionalBandwidth(0)
        .hostname("string")
        .projectId("string")
        .redundancyType("string")
        .redundantId("string")
        .region("string")
        .sshIpAddress("string")
        .sshIpFqdn("string")
        .sshKey(DeviceSecondaryDeviceSshKeyArgs.builder()
            .username("string")
            .keyName("string")
            .build())
        .status("string")
        .uuid("string")
        .vendorConfiguration(Map.of("string", "string"))
        .wanInterfaceId("string")
        .zoneCode("string")
        .build())
    .selfManaged(false)
    .sshKey(DeviceSshKeyArgs.builder()
        .username("string")
        .keyName("string")
        .build())
    .byol(false)
    .throughput(0)
    .throughputUnit("string")
    .tier(0)
    .additionalBandwidth(0)
    .vendorConfiguration(Map.of("string", "string"))
    .aclTemplateId("string")
    .wanInterfaceId("string")
    .build());
Copy
equinix_device_resource = equinix.networkedge.Device("equinixDeviceResource",
    metro_code="string",
    version="string",
    type_code="string",
    term_length=0,
    package_code="string",
    notifications=["string"],
    account_number="string",
    core_count=0,
    mgmt_acl_template_uuid="string",
    project_id="string",
    hostname="string",
    interface_count=0,
    license_file="string",
    license_file_id="string",
    license_token="string",
    diverse_device_id="string",
    connectivity="string",
    name="string",
    cluster_details={
        "cluster_name": "string",
        "node0": {
            "license_file_id": "string",
            "license_token": "string",
            "name": "string",
            "uuid": "string",
            "vendor_configuration": {
                "activation_key": "string",
                "admin_password": "string",
                "controller1": "string",
                "controller_fqdn": "string",
                "hostname": "string",
                "license_id": "string",
                "license_key": "string",
                "panorama_auth_key": "string",
                "panorama_ip_address": "string",
                "private_address": "string",
                "private_cidr_mask": "string",
                "private_gateway": "string",
                "root_password": "string",
            },
        },
        "node1": {
            "license_file_id": "string",
            "license_token": "string",
            "name": "string",
            "uuid": "string",
            "vendor_configuration": {
                "activation_key": "string",
                "admin_password": "string",
                "controller1": "string",
                "controller_fqdn": "string",
                "hostname": "string",
                "license_id": "string",
                "license_key": "string",
                "panorama_auth_key": "string",
                "panorama_ip_address": "string",
                "private_address": "string",
                "private_cidr_mask": "string",
                "private_gateway": "string",
                "root_password": "string",
            },
        },
        "cluster_id": "string",
        "num_of_nodes": 0,
    },
    order_reference="string",
    cloud_init_file_id="string",
    generate_default_password=False,
    purchase_order_number="string",
    secondary_device={
        "account_number": "string",
        "notifications": ["string"],
        "name": "string",
        "metro_code": "string",
        "interfaces": [{
            "assigned_type": "string",
            "id": 0,
            "ip_address": "string",
            "mac_address": "string",
            "name": "string",
            "operational_status": "string",
            "status": "string",
            "type": "string",
        }],
        "acl_template_id": "string",
        "ibx": "string",
        "cloud_init_file_id": "string",
        "license_file": "string",
        "license_file_id": "string",
        "license_status": "string",
        "license_token": "string",
        "asn": 0,
        "mgmt_acl_template_uuid": "string",
        "additional_bandwidth": 0,
        "hostname": "string",
        "project_id": "string",
        "redundancy_type": "string",
        "redundant_id": "string",
        "region": "string",
        "ssh_ip_address": "string",
        "ssh_ip_fqdn": "string",
        "ssh_key": {
            "username": "string",
            "key_name": "string",
        },
        "status": "string",
        "uuid": "string",
        "vendor_configuration": {
            "string": "string",
        },
        "wan_interface_id": "string",
        "zone_code": "string",
    },
    self_managed=False,
    ssh_key={
        "username": "string",
        "key_name": "string",
    },
    byol=False,
    throughput=0,
    throughput_unit="string",
    tier=0,
    additional_bandwidth=0,
    vendor_configuration={
        "string": "string",
    },
    acl_template_id="string",
    wan_interface_id="string")
Copy
const equinixDeviceResource = new equinix.networkedge.Device("equinixDeviceResource", {
    metroCode: "string",
    version: "string",
    typeCode: "string",
    termLength: 0,
    packageCode: "string",
    notifications: ["string"],
    accountNumber: "string",
    coreCount: 0,
    mgmtAclTemplateUuid: "string",
    projectId: "string",
    hostname: "string",
    interfaceCount: 0,
    licenseFile: "string",
    licenseFileId: "string",
    licenseToken: "string",
    diverseDeviceId: "string",
    connectivity: "string",
    name: "string",
    clusterDetails: {
        clusterName: "string",
        node0: {
            licenseFileId: "string",
            licenseToken: "string",
            name: "string",
            uuid: "string",
            vendorConfiguration: {
                activationKey: "string",
                adminPassword: "string",
                controller1: "string",
                controllerFqdn: "string",
                hostname: "string",
                licenseId: "string",
                licenseKey: "string",
                panoramaAuthKey: "string",
                panoramaIpAddress: "string",
                privateAddress: "string",
                privateCidrMask: "string",
                privateGateway: "string",
                rootPassword: "string",
            },
        },
        node1: {
            licenseFileId: "string",
            licenseToken: "string",
            name: "string",
            uuid: "string",
            vendorConfiguration: {
                activationKey: "string",
                adminPassword: "string",
                controller1: "string",
                controllerFqdn: "string",
                hostname: "string",
                licenseId: "string",
                licenseKey: "string",
                panoramaAuthKey: "string",
                panoramaIpAddress: "string",
                privateAddress: "string",
                privateCidrMask: "string",
                privateGateway: "string",
                rootPassword: "string",
            },
        },
        clusterId: "string",
        numOfNodes: 0,
    },
    orderReference: "string",
    cloudInitFileId: "string",
    generateDefaultPassword: false,
    purchaseOrderNumber: "string",
    secondaryDevice: {
        accountNumber: "string",
        notifications: ["string"],
        name: "string",
        metroCode: "string",
        interfaces: [{
            assignedType: "string",
            id: 0,
            ipAddress: "string",
            macAddress: "string",
            name: "string",
            operationalStatus: "string",
            status: "string",
            type: "string",
        }],
        aclTemplateId: "string",
        ibx: "string",
        cloudInitFileId: "string",
        licenseFile: "string",
        licenseFileId: "string",
        licenseStatus: "string",
        licenseToken: "string",
        asn: 0,
        mgmtAclTemplateUuid: "string",
        additionalBandwidth: 0,
        hostname: "string",
        projectId: "string",
        redundancyType: "string",
        redundantId: "string",
        region: "string",
        sshIpAddress: "string",
        sshIpFqdn: "string",
        sshKey: {
            username: "string",
            keyName: "string",
        },
        status: "string",
        uuid: "string",
        vendorConfiguration: {
            string: "string",
        },
        wanInterfaceId: "string",
        zoneCode: "string",
    },
    selfManaged: false,
    sshKey: {
        username: "string",
        keyName: "string",
    },
    byol: false,
    throughput: 0,
    throughputUnit: "string",
    tier: 0,
    additionalBandwidth: 0,
    vendorConfiguration: {
        string: "string",
    },
    aclTemplateId: "string",
    wanInterfaceId: "string",
});
Copy
type: equinix:networkedge:Device
properties:
    accountNumber: string
    aclTemplateId: string
    additionalBandwidth: 0
    byol: false
    cloudInitFileId: string
    clusterDetails:
        clusterId: string
        clusterName: string
        node0:
            licenseFileId: string
            licenseToken: string
            name: string
            uuid: string
            vendorConfiguration:
                activationKey: string
                adminPassword: string
                controller1: string
                controllerFqdn: string
                hostname: string
                licenseId: string
                licenseKey: string
                panoramaAuthKey: string
                panoramaIpAddress: string
                privateAddress: string
                privateCidrMask: string
                privateGateway: string
                rootPassword: string
        node1:
            licenseFileId: string
            licenseToken: string
            name: string
            uuid: string
            vendorConfiguration:
                activationKey: string
                adminPassword: string
                controller1: string
                controllerFqdn: string
                hostname: string
                licenseId: string
                licenseKey: string
                panoramaAuthKey: string
                panoramaIpAddress: string
                privateAddress: string
                privateCidrMask: string
                privateGateway: string
                rootPassword: string
        numOfNodes: 0
    connectivity: string
    coreCount: 0
    diverseDeviceId: string
    generateDefaultPassword: false
    hostname: string
    interfaceCount: 0
    licenseFile: string
    licenseFileId: string
    licenseToken: string
    metroCode: string
    mgmtAclTemplateUuid: string
    name: string
    notifications:
        - string
    orderReference: string
    packageCode: string
    projectId: string
    purchaseOrderNumber: string
    secondaryDevice:
        accountNumber: string
        aclTemplateId: string
        additionalBandwidth: 0
        asn: 0
        cloudInitFileId: string
        hostname: string
        ibx: string
        interfaces:
            - assignedType: string
              id: 0
              ipAddress: string
              macAddress: string
              name: string
              operationalStatus: string
              status: string
              type: string
        licenseFile: string
        licenseFileId: string
        licenseStatus: string
        licenseToken: string
        metroCode: string
        mgmtAclTemplateUuid: string
        name: string
        notifications:
            - string
        projectId: string
        redundancyType: string
        redundantId: string
        region: string
        sshIpAddress: string
        sshIpFqdn: string
        sshKey:
            keyName: string
            username: string
        status: string
        uuid: string
        vendorConfiguration:
            string: string
        wanInterfaceId: string
        zoneCode: string
    selfManaged: false
    sshKey:
        keyName: string
        username: string
    termLength: 0
    throughput: 0
    throughputUnit: string
    tier: 0
    typeCode: string
    vendorConfiguration:
        string: string
    version: string
    wanInterfaceId: string
Copy

Device Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Device resource accepts the following input properties:

AccountNumber
This property is required.
Changes to this property will trigger replacement.
string
Billing account number for a device.
CoreCount This property is required. int
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
MetroCode
This property is required.
Changes to this property will trigger replacement.
string
Device location metro code.
Notifications This property is required. List<string>
List of email addresses that will receive device status notifications.
PackageCode
This property is required.
Changes to this property will trigger replacement.
string
Device software package code.
TermLength This property is required. int
Device term length.
TypeCode
This property is required.
Changes to this property will trigger replacement.
string
Device type code.
Version
This property is required.
Changes to this property will trigger replacement.
string
Device software software version.
AclTemplateId string
Identifier of a WAN interface ACL template that will be applied on the device.
AdditionalBandwidth int
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
Byol Changes to this property will trigger replacement. bool
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
CloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on the device.
ClusterDetails Changes to this property will trigger replacement. DeviceClusterDetails
An object that has the cluster details. See Cluster Details below for more details.
Connectivity Changes to this property will trigger replacement. string
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
DiverseDeviceId string
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
GenerateDefaultPassword Changes to this property will trigger replacement. bool
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
Hostname Changes to this property will trigger replacement. string
Device hostname prefix.
InterfaceCount Changes to this property will trigger replacement. int
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
LicenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
LicenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on the device.
LicenseToken Changes to this property will trigger replacement. string
License Token applicable for some device types in BYOL licensing mode.
MgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on the device.
Name string
Device name.
OrderReference Changes to this property will trigger replacement. string
Name/number used to identify device order on the invoice.
ProjectId Changes to this property will trigger replacement. string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
PurchaseOrderNumber Changes to this property will trigger replacement. string
Purchase order number associated with a device order.
SecondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDevice
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
SelfManaged Changes to this property will trigger replacement. bool
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
SshKey Changes to this property will trigger replacement. DeviceSshKey
Definition of SSH key that will be provisioned on a device
Throughput Changes to this property will trigger replacement. int
Device license throughput.
ThroughputUnit Changes to this property will trigger replacement. string | Pulumi.Equinix.NetworkEdge.ThroughputUnit
License throughput unit. One of Mbps or Gbps.
Tier Changes to this property will trigger replacement. int
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
VendorConfiguration Changes to this property will trigger replacement. Dictionary<string, string>
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
WanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
AccountNumber
This property is required.
Changes to this property will trigger replacement.
string
Billing account number for a device.
CoreCount This property is required. int
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
MetroCode
This property is required.
Changes to this property will trigger replacement.
string
Device location metro code.
Notifications This property is required. []string
List of email addresses that will receive device status notifications.
PackageCode
This property is required.
Changes to this property will trigger replacement.
string
Device software package code.
TermLength This property is required. int
Device term length.
TypeCode
This property is required.
Changes to this property will trigger replacement.
string
Device type code.
Version
This property is required.
Changes to this property will trigger replacement.
string
Device software software version.
AclTemplateId string
Identifier of a WAN interface ACL template that will be applied on the device.
AdditionalBandwidth int
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
Byol Changes to this property will trigger replacement. bool
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
CloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on the device.
ClusterDetails Changes to this property will trigger replacement. DeviceClusterDetailsArgs
An object that has the cluster details. See Cluster Details below for more details.
Connectivity Changes to this property will trigger replacement. string
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
DiverseDeviceId string
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
GenerateDefaultPassword Changes to this property will trigger replacement. bool
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
Hostname Changes to this property will trigger replacement. string
Device hostname prefix.
InterfaceCount Changes to this property will trigger replacement. int
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
LicenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
LicenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on the device.
LicenseToken Changes to this property will trigger replacement. string
License Token applicable for some device types in BYOL licensing mode.
MgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on the device.
Name string
Device name.
OrderReference Changes to this property will trigger replacement. string
Name/number used to identify device order on the invoice.
ProjectId Changes to this property will trigger replacement. string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
PurchaseOrderNumber Changes to this property will trigger replacement. string
Purchase order number associated with a device order.
SecondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDeviceArgs
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
SelfManaged Changes to this property will trigger replacement. bool
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
SshKey Changes to this property will trigger replacement. DeviceSshKeyArgs
Definition of SSH key that will be provisioned on a device
Throughput Changes to this property will trigger replacement. int
Device license throughput.
ThroughputUnit Changes to this property will trigger replacement. string | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
Tier Changes to this property will trigger replacement. int
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
VendorConfiguration Changes to this property will trigger replacement. map[string]string
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
WanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
accountNumber
This property is required.
Changes to this property will trigger replacement.
String
Billing account number for a device.
coreCount This property is required. Integer
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
metroCode
This property is required.
Changes to this property will trigger replacement.
String
Device location metro code.
notifications This property is required. List<String>
List of email addresses that will receive device status notifications.
packageCode
This property is required.
Changes to this property will trigger replacement.
String
Device software package code.
termLength This property is required. Integer
Device term length.
typeCode
This property is required.
Changes to this property will trigger replacement.
String
Device type code.
version
This property is required.
Changes to this property will trigger replacement.
String
Device software software version.
aclTemplateId String
Identifier of a WAN interface ACL template that will be applied on the device.
additionalBandwidth Integer
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
byol Changes to this property will trigger replacement. Boolean
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloudInitFileId Changes to this property will trigger replacement. String
Identifier of a cloud init file that will be applied on the device.
clusterDetails Changes to this property will trigger replacement. DeviceClusterDetails
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. String
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
diverseDeviceId String
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
generateDefaultPassword Changes to this property will trigger replacement. Boolean
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. String
Device hostname prefix.
interfaceCount Changes to this property will trigger replacement. Integer
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
licenseFile Changes to this property will trigger replacement. String
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. String
Identifier of a license file that will be applied on the device.
licenseToken Changes to this property will trigger replacement. String
License Token applicable for some device types in BYOL licensing mode.
mgmtAclTemplateUuid String
Identifier of an MGMT interface ACL template that will be applied on the device.
name String
Device name.
orderReference Changes to this property will trigger replacement. String
Name/number used to identify device order on the invoice.
projectId Changes to this property will trigger replacement. String
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchaseOrderNumber Changes to this property will trigger replacement. String
Purchase order number associated with a device order.
secondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDevice
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
selfManaged Changes to this property will trigger replacement. Boolean
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
sshKey Changes to this property will trigger replacement. DeviceSshKey
Definition of SSH key that will be provisioned on a device
throughput Changes to this property will trigger replacement. Integer
Device license throughput.
throughputUnit Changes to this property will trigger replacement. String | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. Integer
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
vendorConfiguration Changes to this property will trigger replacement. Map<String,String>
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
wanInterfaceId Changes to this property will trigger replacement. String
device interface id picked for WAN
accountNumber
This property is required.
Changes to this property will trigger replacement.
string
Billing account number for a device.
coreCount This property is required. number
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
metroCode
This property is required.
Changes to this property will trigger replacement.
string
Device location metro code.
notifications This property is required. string[]
List of email addresses that will receive device status notifications.
packageCode
This property is required.
Changes to this property will trigger replacement.
string
Device software package code.
termLength This property is required. number
Device term length.
typeCode
This property is required.
Changes to this property will trigger replacement.
string
Device type code.
version
This property is required.
Changes to this property will trigger replacement.
string
Device software software version.
aclTemplateId string
Identifier of a WAN interface ACL template that will be applied on the device.
additionalBandwidth number
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
byol Changes to this property will trigger replacement. boolean
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on the device.
clusterDetails Changes to this property will trigger replacement. DeviceClusterDetails
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. string
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
diverseDeviceId string
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
generateDefaultPassword Changes to this property will trigger replacement. boolean
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. string
Device hostname prefix.
interfaceCount Changes to this property will trigger replacement. number
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
licenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on the device.
licenseToken Changes to this property will trigger replacement. string
License Token applicable for some device types in BYOL licensing mode.
mgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on the device.
name string
Device name.
orderReference Changes to this property will trigger replacement. string
Name/number used to identify device order on the invoice.
projectId Changes to this property will trigger replacement. string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchaseOrderNumber Changes to this property will trigger replacement. string
Purchase order number associated with a device order.
secondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDevice
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
selfManaged Changes to this property will trigger replacement. boolean
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
sshKey Changes to this property will trigger replacement. DeviceSshKey
Definition of SSH key that will be provisioned on a device
throughput Changes to this property will trigger replacement. number
Device license throughput.
throughputUnit Changes to this property will trigger replacement. string | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. number
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
vendorConfiguration Changes to this property will trigger replacement. {[key: string]: string}
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
wanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
account_number
This property is required.
Changes to this property will trigger replacement.
str
Billing account number for a device.
core_count This property is required. int
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
metro_code
This property is required.
Changes to this property will trigger replacement.
str
Device location metro code.
notifications This property is required. Sequence[str]
List of email addresses that will receive device status notifications.
package_code
This property is required.
Changes to this property will trigger replacement.
str
Device software package code.
term_length This property is required. int
Device term length.
type_code
This property is required.
Changes to this property will trigger replacement.
str
Device type code.
version
This property is required.
Changes to this property will trigger replacement.
str
Device software software version.
acl_template_id str
Identifier of a WAN interface ACL template that will be applied on the device.
additional_bandwidth int
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
byol Changes to this property will trigger replacement. bool
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloud_init_file_id Changes to this property will trigger replacement. str
Identifier of a cloud init file that will be applied on the device.
cluster_details Changes to this property will trigger replacement. DeviceClusterDetailsArgs
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. str
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
diverse_device_id str
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
generate_default_password Changes to this property will trigger replacement. bool
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. str
Device hostname prefix.
interface_count Changes to this property will trigger replacement. int
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
license_file Changes to this property will trigger replacement. str
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
license_file_id Changes to this property will trigger replacement. str
Identifier of a license file that will be applied on the device.
license_token Changes to this property will trigger replacement. str
License Token applicable for some device types in BYOL licensing mode.
mgmt_acl_template_uuid str
Identifier of an MGMT interface ACL template that will be applied on the device.
name str
Device name.
order_reference Changes to this property will trigger replacement. str
Name/number used to identify device order on the invoice.
project_id Changes to this property will trigger replacement. str
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchase_order_number Changes to this property will trigger replacement. str
Purchase order number associated with a device order.
secondary_device Changes to this property will trigger replacement. DeviceSecondaryDeviceArgs
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
self_managed Changes to this property will trigger replacement. bool
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
ssh_key Changes to this property will trigger replacement. DeviceSshKeyArgs
Definition of SSH key that will be provisioned on a device
throughput Changes to this property will trigger replacement. int
Device license throughput.
throughput_unit Changes to this property will trigger replacement. str | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. int
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
vendor_configuration Changes to this property will trigger replacement. Mapping[str, str]
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
wan_interface_id Changes to this property will trigger replacement. str
device interface id picked for WAN
accountNumber
This property is required.
Changes to this property will trigger replacement.
String
Billing account number for a device.
coreCount This property is required. Number
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
metroCode
This property is required.
Changes to this property will trigger replacement.
String
Device location metro code.
notifications This property is required. List<String>
List of email addresses that will receive device status notifications.
packageCode
This property is required.
Changes to this property will trigger replacement.
String
Device software package code.
termLength This property is required. Number
Device term length.
typeCode
This property is required.
Changes to this property will trigger replacement.
String
Device type code.
version
This property is required.
Changes to this property will trigger replacement.
String
Device software software version.
aclTemplateId String
Identifier of a WAN interface ACL template that will be applied on the device.
additionalBandwidth Number
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
byol Changes to this property will trigger replacement. Boolean
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloudInitFileId Changes to this property will trigger replacement. String
Identifier of a cloud init file that will be applied on the device.
clusterDetails Changes to this property will trigger replacement. Property Map
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. String
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
diverseDeviceId String
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
generateDefaultPassword Changes to this property will trigger replacement. Boolean
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. String
Device hostname prefix.
interfaceCount Changes to this property will trigger replacement. Number
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
licenseFile Changes to this property will trigger replacement. String
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. String
Identifier of a license file that will be applied on the device.
licenseToken Changes to this property will trigger replacement. String
License Token applicable for some device types in BYOL licensing mode.
mgmtAclTemplateUuid String
Identifier of an MGMT interface ACL template that will be applied on the device.
name String
Device name.
orderReference Changes to this property will trigger replacement. String
Name/number used to identify device order on the invoice.
projectId Changes to this property will trigger replacement. String
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchaseOrderNumber Changes to this property will trigger replacement. String
Purchase order number associated with a device order.
secondaryDevice Changes to this property will trigger replacement. Property Map
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
selfManaged Changes to this property will trigger replacement. Boolean
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
sshKey Changes to this property will trigger replacement. Property Map
Definition of SSH key that will be provisioned on a device
throughput Changes to this property will trigger replacement. Number
Device license throughput.
throughputUnit Changes to this property will trigger replacement. String | "Mbps" | "Gbps"
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. Number
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
vendorConfiguration Changes to this property will trigger replacement. Map<String>
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
wanInterfaceId Changes to this property will trigger replacement. String
device interface id picked for WAN

Outputs

All input properties are implicitly available as output properties. Additionally, the Device resource produces the following output properties:

Asn int
(Autonomous System Number) Unique identifier for a network on the internet.
DiverseDeviceName string
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
Ibx string
Device location Equinix Business Exchange name.
Id string
The provider-assigned unique ID for this managed resource.
Interfaces List<DeviceInterface>
List of device interfaces. See Interface Attribute below for more details.
LicenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
RedundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
RedundantId string
Unique identifier for a redundant device applicable for HA devices.
Region string
Device location region.
SshIpAddress string
IP address of SSH enabled interface on the device.
SshIpFqdn string
FQDN of SSH enabled interface on the device.
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Uuid string
Device unique identifier.
ZoneCode string
Device location zone code.
Asn int
(Autonomous System Number) Unique identifier for a network on the internet.
DiverseDeviceName string
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
Ibx string
Device location Equinix Business Exchange name.
Id string
The provider-assigned unique ID for this managed resource.
Interfaces []DeviceInterface
List of device interfaces. See Interface Attribute below for more details.
LicenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
RedundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
RedundantId string
Unique identifier for a redundant device applicable for HA devices.
Region string
Device location region.
SshIpAddress string
IP address of SSH enabled interface on the device.
SshIpFqdn string
FQDN of SSH enabled interface on the device.
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Uuid string
Device unique identifier.
ZoneCode string
Device location zone code.
asn Integer
(Autonomous System Number) Unique identifier for a network on the internet.
diverseDeviceName String
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
ibx String
Device location Equinix Business Exchange name.
id String
The provider-assigned unique ID for this managed resource.
interfaces List<DeviceInterface>
List of device interfaces. See Interface Attribute below for more details.
licenseStatus String
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
redundancyType String
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId String
Unique identifier for a redundant device applicable for HA devices.
region String
Device location region.
sshIpAddress String
IP address of SSH enabled interface on the device.
sshIpFqdn String
FQDN of SSH enabled interface on the device.
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid String
Device unique identifier.
zoneCode String
Device location zone code.
asn number
(Autonomous System Number) Unique identifier for a network on the internet.
diverseDeviceName string
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
ibx string
Device location Equinix Business Exchange name.
id string
The provider-assigned unique ID for this managed resource.
interfaces DeviceInterface[]
List of device interfaces. See Interface Attribute below for more details.
licenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
redundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId string
Unique identifier for a redundant device applicable for HA devices.
region string
Device location region.
sshIpAddress string
IP address of SSH enabled interface on the device.
sshIpFqdn string
FQDN of SSH enabled interface on the device.
status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid string
Device unique identifier.
zoneCode string
Device location zone code.
asn int
(Autonomous System Number) Unique identifier for a network on the internet.
diverse_device_name str
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
ibx str
Device location Equinix Business Exchange name.
id str
The provider-assigned unique ID for this managed resource.
interfaces Sequence[DeviceInterface]
List of device interfaces. See Interface Attribute below for more details.
license_status str
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
redundancy_type str
Device redundancy type applicable for HA devices, either primary or secondary.
redundant_id str
Unique identifier for a redundant device applicable for HA devices.
region str
Device location region.
ssh_ip_address str
IP address of SSH enabled interface on the device.
ssh_ip_fqdn str
FQDN of SSH enabled interface on the device.
status str
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid str
Device unique identifier.
zone_code str
Device location zone code.
asn Number
(Autonomous System Number) Unique identifier for a network on the internet.
diverseDeviceName String
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
ibx String
Device location Equinix Business Exchange name.
id String
The provider-assigned unique ID for this managed resource.
interfaces List<Property Map>
List of device interfaces. See Interface Attribute below for more details.
licenseStatus String
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
redundancyType String
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId String
Unique identifier for a redundant device applicable for HA devices.
region String
Device location region.
sshIpAddress String
IP address of SSH enabled interface on the device.
sshIpFqdn String
FQDN of SSH enabled interface on the device.
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid String
Device unique identifier.
zoneCode String
Device location zone code.

Look up Existing Device Resource

Get an existing Device resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DeviceState, opts?: CustomResourceOptions): Device
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        account_number: Optional[str] = None,
        acl_template_id: Optional[str] = None,
        additional_bandwidth: Optional[int] = None,
        asn: Optional[int] = None,
        byol: Optional[bool] = None,
        cloud_init_file_id: Optional[str] = None,
        cluster_details: Optional[DeviceClusterDetailsArgs] = None,
        connectivity: Optional[str] = None,
        core_count: Optional[int] = None,
        diverse_device_id: Optional[str] = None,
        diverse_device_name: Optional[str] = None,
        generate_default_password: Optional[bool] = None,
        hostname: Optional[str] = None,
        ibx: Optional[str] = None,
        interface_count: Optional[int] = None,
        interfaces: Optional[Sequence[DeviceInterfaceArgs]] = None,
        license_file: Optional[str] = None,
        license_file_id: Optional[str] = None,
        license_status: Optional[str] = None,
        license_token: Optional[str] = None,
        metro_code: Optional[str] = None,
        mgmt_acl_template_uuid: Optional[str] = None,
        name: Optional[str] = None,
        notifications: Optional[Sequence[str]] = None,
        order_reference: Optional[str] = None,
        package_code: Optional[str] = None,
        project_id: Optional[str] = None,
        purchase_order_number: Optional[str] = None,
        redundancy_type: Optional[str] = None,
        redundant_id: Optional[str] = None,
        region: Optional[str] = None,
        secondary_device: Optional[DeviceSecondaryDeviceArgs] = None,
        self_managed: Optional[bool] = None,
        ssh_ip_address: Optional[str] = None,
        ssh_ip_fqdn: Optional[str] = None,
        ssh_key: Optional[DeviceSshKeyArgs] = None,
        status: Optional[str] = None,
        term_length: Optional[int] = None,
        throughput: Optional[int] = None,
        throughput_unit: Optional[Union[str, ThroughputUnit]] = None,
        tier: Optional[int] = None,
        type_code: Optional[str] = None,
        uuid: Optional[str] = None,
        vendor_configuration: Optional[Mapping[str, str]] = None,
        version: Optional[str] = None,
        wan_interface_id: Optional[str] = None,
        zone_code: Optional[str] = None) -> Device
func GetDevice(ctx *Context, name string, id IDInput, state *DeviceState, opts ...ResourceOption) (*Device, error)
public static Device Get(string name, Input<string> id, DeviceState? state, CustomResourceOptions? opts = null)
public static Device get(String name, Output<String> id, DeviceState state, CustomResourceOptions options)
resources:  _:    type: equinix:networkedge:Device    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccountNumber Changes to this property will trigger replacement. string
Billing account number for a device.
AclTemplateId string
Identifier of a WAN interface ACL template that will be applied on the device.
AdditionalBandwidth int
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
Asn int
(Autonomous System Number) Unique identifier for a network on the internet.
Byol Changes to this property will trigger replacement. bool
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
CloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on the device.
ClusterDetails Changes to this property will trigger replacement. DeviceClusterDetails
An object that has the cluster details. See Cluster Details below for more details.
Connectivity Changes to this property will trigger replacement. string
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
CoreCount int
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
DiverseDeviceId string
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
DiverseDeviceName string
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
GenerateDefaultPassword Changes to this property will trigger replacement. bool
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
Hostname Changes to this property will trigger replacement. string
Device hostname prefix.
Ibx string
Device location Equinix Business Exchange name.
InterfaceCount Changes to this property will trigger replacement. int
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
Interfaces List<DeviceInterface>
List of device interfaces. See Interface Attribute below for more details.
LicenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
LicenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on the device.
LicenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
LicenseToken Changes to this property will trigger replacement. string
License Token applicable for some device types in BYOL licensing mode.
MetroCode Changes to this property will trigger replacement. string
Device location metro code.
MgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on the device.
Name string
Device name.
Notifications List<string>
List of email addresses that will receive device status notifications.
OrderReference Changes to this property will trigger replacement. string
Name/number used to identify device order on the invoice.
PackageCode Changes to this property will trigger replacement. string
Device software package code.
ProjectId Changes to this property will trigger replacement. string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
PurchaseOrderNumber Changes to this property will trigger replacement. string
Purchase order number associated with a device order.
RedundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
RedundantId string
Unique identifier for a redundant device applicable for HA devices.
Region string
Device location region.
SecondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDevice
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
SelfManaged Changes to this property will trigger replacement. bool
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
SshIpAddress string
IP address of SSH enabled interface on the device.
SshIpFqdn string
FQDN of SSH enabled interface on the device.
SshKey Changes to this property will trigger replacement. DeviceSshKey
Definition of SSH key that will be provisioned on a device
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
TermLength int
Device term length.
Throughput Changes to this property will trigger replacement. int
Device license throughput.
ThroughputUnit Changes to this property will trigger replacement. string | Pulumi.Equinix.NetworkEdge.ThroughputUnit
License throughput unit. One of Mbps or Gbps.
Tier Changes to this property will trigger replacement. int
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
TypeCode Changes to this property will trigger replacement. string
Device type code.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. Dictionary<string, string>
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
Version Changes to this property will trigger replacement. string
Device software software version.
WanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
ZoneCode string
Device location zone code.
AccountNumber Changes to this property will trigger replacement. string
Billing account number for a device.
AclTemplateId string
Identifier of a WAN interface ACL template that will be applied on the device.
AdditionalBandwidth int
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
Asn int
(Autonomous System Number) Unique identifier for a network on the internet.
Byol Changes to this property will trigger replacement. bool
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
CloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on the device.
ClusterDetails Changes to this property will trigger replacement. DeviceClusterDetailsArgs
An object that has the cluster details. See Cluster Details below for more details.
Connectivity Changes to this property will trigger replacement. string
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
CoreCount int
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
DiverseDeviceId string
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
DiverseDeviceName string
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
GenerateDefaultPassword Changes to this property will trigger replacement. bool
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
Hostname Changes to this property will trigger replacement. string
Device hostname prefix.
Ibx string
Device location Equinix Business Exchange name.
InterfaceCount Changes to this property will trigger replacement. int
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
Interfaces []DeviceInterfaceArgs
List of device interfaces. See Interface Attribute below for more details.
LicenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
LicenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on the device.
LicenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
LicenseToken Changes to this property will trigger replacement. string
License Token applicable for some device types in BYOL licensing mode.
MetroCode Changes to this property will trigger replacement. string
Device location metro code.
MgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on the device.
Name string
Device name.
Notifications []string
List of email addresses that will receive device status notifications.
OrderReference Changes to this property will trigger replacement. string
Name/number used to identify device order on the invoice.
PackageCode Changes to this property will trigger replacement. string
Device software package code.
ProjectId Changes to this property will trigger replacement. string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
PurchaseOrderNumber Changes to this property will trigger replacement. string
Purchase order number associated with a device order.
RedundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
RedundantId string
Unique identifier for a redundant device applicable for HA devices.
Region string
Device location region.
SecondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDeviceArgs
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
SelfManaged Changes to this property will trigger replacement. bool
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
SshIpAddress string
IP address of SSH enabled interface on the device.
SshIpFqdn string
FQDN of SSH enabled interface on the device.
SshKey Changes to this property will trigger replacement. DeviceSshKeyArgs
Definition of SSH key that will be provisioned on a device
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
TermLength int
Device term length.
Throughput Changes to this property will trigger replacement. int
Device license throughput.
ThroughputUnit Changes to this property will trigger replacement. string | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
Tier Changes to this property will trigger replacement. int
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
TypeCode Changes to this property will trigger replacement. string
Device type code.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. map[string]string
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
Version Changes to this property will trigger replacement. string
Device software software version.
WanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
ZoneCode string
Device location zone code.
accountNumber Changes to this property will trigger replacement. String
Billing account number for a device.
aclTemplateId String
Identifier of a WAN interface ACL template that will be applied on the device.
additionalBandwidth Integer
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
asn Integer
(Autonomous System Number) Unique identifier for a network on the internet.
byol Changes to this property will trigger replacement. Boolean
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloudInitFileId Changes to this property will trigger replacement. String
Identifier of a cloud init file that will be applied on the device.
clusterDetails Changes to this property will trigger replacement. DeviceClusterDetails
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. String
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
coreCount Integer
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
diverseDeviceId String
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
diverseDeviceName String
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
generateDefaultPassword Changes to this property will trigger replacement. Boolean
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. String
Device hostname prefix.
ibx String
Device location Equinix Business Exchange name.
interfaceCount Changes to this property will trigger replacement. Integer
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
interfaces List<DeviceInterface>
List of device interfaces. See Interface Attribute below for more details.
licenseFile Changes to this property will trigger replacement. String
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. String
Identifier of a license file that will be applied on the device.
licenseStatus String
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
licenseToken Changes to this property will trigger replacement. String
License Token applicable for some device types in BYOL licensing mode.
metroCode Changes to this property will trigger replacement. String
Device location metro code.
mgmtAclTemplateUuid String
Identifier of an MGMT interface ACL template that will be applied on the device.
name String
Device name.
notifications List<String>
List of email addresses that will receive device status notifications.
orderReference Changes to this property will trigger replacement. String
Name/number used to identify device order on the invoice.
packageCode Changes to this property will trigger replacement. String
Device software package code.
projectId Changes to this property will trigger replacement. String
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchaseOrderNumber Changes to this property will trigger replacement. String
Purchase order number associated with a device order.
redundancyType String
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId String
Unique identifier for a redundant device applicable for HA devices.
region String
Device location region.
secondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDevice
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
selfManaged Changes to this property will trigger replacement. Boolean
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
sshIpAddress String
IP address of SSH enabled interface on the device.
sshIpFqdn String
FQDN of SSH enabled interface on the device.
sshKey Changes to this property will trigger replacement. DeviceSshKey
Definition of SSH key that will be provisioned on a device
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
termLength Integer
Device term length.
throughput Changes to this property will trigger replacement. Integer
Device license throughput.
throughputUnit Changes to this property will trigger replacement. String | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. Integer
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
typeCode Changes to this property will trigger replacement. String
Device type code.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. Map<String,String>
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
version Changes to this property will trigger replacement. String
Device software software version.
wanInterfaceId Changes to this property will trigger replacement. String
device interface id picked for WAN
zoneCode String
Device location zone code.
accountNumber Changes to this property will trigger replacement. string
Billing account number for a device.
aclTemplateId string
Identifier of a WAN interface ACL template that will be applied on the device.
additionalBandwidth number
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
asn number
(Autonomous System Number) Unique identifier for a network on the internet.
byol Changes to this property will trigger replacement. boolean
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on the device.
clusterDetails Changes to this property will trigger replacement. DeviceClusterDetails
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. string
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
coreCount number
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
diverseDeviceId string
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
diverseDeviceName string
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
generateDefaultPassword Changes to this property will trigger replacement. boolean
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. string
Device hostname prefix.
ibx string
Device location Equinix Business Exchange name.
interfaceCount Changes to this property will trigger replacement. number
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
interfaces DeviceInterface[]
List of device interfaces. See Interface Attribute below for more details.
licenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on the device.
licenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
licenseToken Changes to this property will trigger replacement. string
License Token applicable for some device types in BYOL licensing mode.
metroCode Changes to this property will trigger replacement. string
Device location metro code.
mgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on the device.
name string
Device name.
notifications string[]
List of email addresses that will receive device status notifications.
orderReference Changes to this property will trigger replacement. string
Name/number used to identify device order on the invoice.
packageCode Changes to this property will trigger replacement. string
Device software package code.
projectId Changes to this property will trigger replacement. string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchaseOrderNumber Changes to this property will trigger replacement. string
Purchase order number associated with a device order.
redundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId string
Unique identifier for a redundant device applicable for HA devices.
region string
Device location region.
secondaryDevice Changes to this property will trigger replacement. DeviceSecondaryDevice
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
selfManaged Changes to this property will trigger replacement. boolean
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
sshIpAddress string
IP address of SSH enabled interface on the device.
sshIpFqdn string
FQDN of SSH enabled interface on the device.
sshKey Changes to this property will trigger replacement. DeviceSshKey
Definition of SSH key that will be provisioned on a device
status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
termLength number
Device term length.
throughput Changes to this property will trigger replacement. number
Device license throughput.
throughputUnit Changes to this property will trigger replacement. string | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. number
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
typeCode Changes to this property will trigger replacement. string
Device type code.
uuid string
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. {[key: string]: string}
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
version Changes to this property will trigger replacement. string
Device software software version.
wanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
zoneCode string
Device location zone code.
account_number Changes to this property will trigger replacement. str
Billing account number for a device.
acl_template_id str
Identifier of a WAN interface ACL template that will be applied on the device.
additional_bandwidth int
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
asn int
(Autonomous System Number) Unique identifier for a network on the internet.
byol Changes to this property will trigger replacement. bool
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloud_init_file_id Changes to this property will trigger replacement. str
Identifier of a cloud init file that will be applied on the device.
cluster_details Changes to this property will trigger replacement. DeviceClusterDetailsArgs
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. str
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
core_count int
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
diverse_device_id str
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
diverse_device_name str
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
generate_default_password Changes to this property will trigger replacement. bool
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. str
Device hostname prefix.
ibx str
Device location Equinix Business Exchange name.
interface_count Changes to this property will trigger replacement. int
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
interfaces Sequence[DeviceInterfaceArgs]
List of device interfaces. See Interface Attribute below for more details.
license_file Changes to this property will trigger replacement. str
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
license_file_id Changes to this property will trigger replacement. str
Identifier of a license file that will be applied on the device.
license_status str
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
license_token Changes to this property will trigger replacement. str
License Token applicable for some device types in BYOL licensing mode.
metro_code Changes to this property will trigger replacement. str
Device location metro code.
mgmt_acl_template_uuid str
Identifier of an MGMT interface ACL template that will be applied on the device.
name str
Device name.
notifications Sequence[str]
List of email addresses that will receive device status notifications.
order_reference Changes to this property will trigger replacement. str
Name/number used to identify device order on the invoice.
package_code Changes to this property will trigger replacement. str
Device software package code.
project_id Changes to this property will trigger replacement. str
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchase_order_number Changes to this property will trigger replacement. str
Purchase order number associated with a device order.
redundancy_type str
Device redundancy type applicable for HA devices, either primary or secondary.
redundant_id str
Unique identifier for a redundant device applicable for HA devices.
region str
Device location region.
secondary_device Changes to this property will trigger replacement. DeviceSecondaryDeviceArgs
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
self_managed Changes to this property will trigger replacement. bool
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
ssh_ip_address str
IP address of SSH enabled interface on the device.
ssh_ip_fqdn str
FQDN of SSH enabled interface on the device.
ssh_key Changes to this property will trigger replacement. DeviceSshKeyArgs
Definition of SSH key that will be provisioned on a device
status str
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
term_length int
Device term length.
throughput Changes to this property will trigger replacement. int
Device license throughput.
throughput_unit Changes to this property will trigger replacement. str | ThroughputUnit
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. int
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
type_code Changes to this property will trigger replacement. str
Device type code.
uuid str
Device unique identifier.
vendor_configuration Changes to this property will trigger replacement. Mapping[str, str]
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
version Changes to this property will trigger replacement. str
Device software software version.
wan_interface_id Changes to this property will trigger replacement. str
device interface id picked for WAN
zone_code str
Device location zone code.
accountNumber Changes to this property will trigger replacement. String
Billing account number for a device.
aclTemplateId String
Identifier of a WAN interface ACL template that will be applied on the device.
additionalBandwidth Number
Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
asn Number
(Autonomous System Number) Unique identifier for a network on the internet.
byol Changes to this property will trigger replacement. Boolean
Boolean value that determines device licensing mode, i.e., bring your own license or subscription (default).
cloudInitFileId Changes to this property will trigger replacement. String
Identifier of a cloud init file that will be applied on the device.
clusterDetails Changes to this property will trigger replacement. Property Map
An object that has the cluster details. See Cluster Details below for more details.
connectivity Changes to this property will trigger replacement. String
Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
coreCount Number
Number of CPU cores used by device. (NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.)
diverseDeviceId String
Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
diverseDeviceName String
Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
generateDefaultPassword Changes to this property will trigger replacement. Boolean
Boolean value that determines to create device with or without default password. Use this field to let Equinix know if you want your new device to be create with default admin password. This field is only meaningful for C8000V Autonomous(single/ha) and Fortinet Firewall devices(single/ha/cluster). If not specified, by default device is created with admin password.
hostname Changes to this property will trigger replacement. String
Device hostname prefix.
ibx String
Device location Equinix Business Exchange name.
interfaceCount Changes to this property will trigger replacement. Number
Number of network interfaces on a device. If not specified, default number for a given device type will be used.
interfaces List<Property Map>
List of device interfaces. See Interface Attribute below for more details.
licenseFile Changes to this property will trigger replacement. String
Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. String
Identifier of a license file that will be applied on the device.
licenseStatus String
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
licenseToken Changes to this property will trigger replacement. String
License Token applicable for some device types in BYOL licensing mode.
metroCode Changes to this property will trigger replacement. String
Device location metro code.
mgmtAclTemplateUuid String
Identifier of an MGMT interface ACL template that will be applied on the device.
name String
Device name.
notifications List<String>
List of email addresses that will receive device status notifications.
orderReference Changes to this property will trigger replacement. String
Name/number used to identify device order on the invoice.
packageCode Changes to this property will trigger replacement. String
Device software package code.
projectId Changes to this property will trigger replacement. String
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
purchaseOrderNumber Changes to this property will trigger replacement. String
Purchase order number associated with a device order.
redundancyType String
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId String
Unique identifier for a redundant device applicable for HA devices.
region String
Device location region.
secondaryDevice Changes to this property will trigger replacement. Property Map
Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
selfManaged Changes to this property will trigger replacement. Boolean
Boolean value that determines device management mode, i.e., self-managed or Equinix-managed (default).
sshIpAddress String
IP address of SSH enabled interface on the device.
sshIpFqdn String
FQDN of SSH enabled interface on the device.
sshKey Changes to this property will trigger replacement. Property Map
Definition of SSH key that will be provisioned on a device
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
termLength Number
Device term length.
throughput Changes to this property will trigger replacement. Number
Device license throughput.
throughputUnit Changes to this property will trigger replacement. String | "Mbps" | "Gbps"
License throughput unit. One of Mbps or Gbps.
tier Changes to this property will trigger replacement. Number
Select bandwidth tier for your own license, i.e., 0 or 1 or 2 or 3. Tiers applicable only for C8000V Autonomous or C8000V SDWAN (controller) device types. If not provided, tier is defaulted to '2'.
typeCode Changes to this property will trigger replacement. String
Device type code.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. Map<String>
Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress, provisioningKey)

  • ssh-key - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See SSH Key below for more details.
version Changes to this property will trigger replacement. String
Device software software version.
wanInterfaceId Changes to this property will trigger replacement. String
device interface id picked for WAN
zoneCode String
Device location zone code.

Supporting Types

DeviceClusterDetails
, DeviceClusterDetailsArgs

ClusterName This property is required. string
The name of the cluster device
Node0 This property is required. DeviceClusterDetailsNode0
An object that has node0 configuration. See Cluster Details - Nodes below for more details.
Node1 This property is required. DeviceClusterDetailsNode1
An object that has node1 configuration. See Cluster Details - Nodes below for more details.
ClusterId string
The ID of the cluster.
NumOfNodes int
The number of nodes in the cluster.
ClusterName This property is required. string
The name of the cluster device
Node0 This property is required. DeviceClusterDetailsNode0
An object that has node0 configuration. See Cluster Details - Nodes below for more details.
Node1 This property is required. DeviceClusterDetailsNode1
An object that has node1 configuration. See Cluster Details - Nodes below for more details.
ClusterId string
The ID of the cluster.
NumOfNodes int
The number of nodes in the cluster.
clusterName This property is required. String
The name of the cluster device
node0 This property is required. DeviceClusterDetailsNode0
An object that has node0 configuration. See Cluster Details - Nodes below for more details.
node1 This property is required. DeviceClusterDetailsNode1
An object that has node1 configuration. See Cluster Details - Nodes below for more details.
clusterId String
The ID of the cluster.
numOfNodes Integer
The number of nodes in the cluster.
clusterName This property is required. string
The name of the cluster device
node0 This property is required. DeviceClusterDetailsNode0
An object that has node0 configuration. See Cluster Details - Nodes below for more details.
node1 This property is required. DeviceClusterDetailsNode1
An object that has node1 configuration. See Cluster Details - Nodes below for more details.
clusterId string
The ID of the cluster.
numOfNodes number
The number of nodes in the cluster.
cluster_name This property is required. str
The name of the cluster device
node0 This property is required. DeviceClusterDetailsNode0
An object that has node0 configuration. See Cluster Details - Nodes below for more details.
node1 This property is required. DeviceClusterDetailsNode1
An object that has node1 configuration. See Cluster Details - Nodes below for more details.
cluster_id str
The ID of the cluster.
num_of_nodes int
The number of nodes in the cluster.
clusterName This property is required. String
The name of the cluster device
node0 This property is required. Property Map
An object that has node0 configuration. See Cluster Details - Nodes below for more details.
node1 This property is required. Property Map
An object that has node1 configuration. See Cluster Details - Nodes below for more details.
clusterId String
The ID of the cluster.
numOfNodes Number
The number of nodes in the cluster.

DeviceClusterDetailsNode0
, DeviceClusterDetailsNode0Args

LicenseFileId Changes to this property will trigger replacement. string
License file id. This is necessary for Fortinet and Juniper clusters.
LicenseToken Changes to this property will trigger replacement. string
License token. This is necessary for Palo Alto clusters.
Name string
Device name.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode0VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
LicenseFileId Changes to this property will trigger replacement. string
License file id. This is necessary for Fortinet and Juniper clusters.
LicenseToken Changes to this property will trigger replacement. string
License token. This is necessary for Palo Alto clusters.
Name string
Device name.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode0VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
licenseFileId Changes to this property will trigger replacement. String
License file id. This is necessary for Fortinet and Juniper clusters.
licenseToken Changes to this property will trigger replacement. String
License token. This is necessary for Palo Alto clusters.
name String
Device name.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode0VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
licenseFileId Changes to this property will trigger replacement. string
License file id. This is necessary for Fortinet and Juniper clusters.
licenseToken Changes to this property will trigger replacement. string
License token. This is necessary for Palo Alto clusters.
name string
Device name.
uuid string
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode0VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
license_file_id Changes to this property will trigger replacement. str
License file id. This is necessary for Fortinet and Juniper clusters.
license_token Changes to this property will trigger replacement. str
License token. This is necessary for Palo Alto clusters.
name str
Device name.
uuid str
Device unique identifier.
vendor_configuration Changes to this property will trigger replacement. DeviceClusterDetailsNode0VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
licenseFileId Changes to this property will trigger replacement. String
License file id. This is necessary for Fortinet and Juniper clusters.
licenseToken Changes to this property will trigger replacement. String
License token. This is necessary for Palo Alto clusters.
name String
Device name.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. Property Map
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.

DeviceClusterDetailsNode0VendorConfiguration
, DeviceClusterDetailsNode0VendorConfigurationArgs

ActivationKey Changes to this property will trigger replacement. string
Activation key. This is required for Velocloud clusters.
AdminPassword Changes to this property will trigger replacement. string
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
Controller1 Changes to this property will trigger replacement. string
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
ControllerFqdn Changes to this property will trigger replacement. string
Controller fqdn. This is required for Velocloud clusters.
Hostname Changes to this property will trigger replacement. string
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
LicenseId Changes to this property will trigger replacement. string
License id. This field is relevant only for the BlueCat DNS and DHCP Server
LicenseKey Changes to this property will trigger replacement. string
License key. This field is relevant only for the BlueCat DNS and DHCP Server
PanoramaAuthKey Changes to this property will trigger replacement. string
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PanoramaIpAddress Changes to this property will trigger replacement. string
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PrivateAddress Changes to this property will trigger replacement. string
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateCidrMask Changes to this property will trigger replacement. string
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateGateway Changes to this property will trigger replacement. string
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
RootPassword Changes to this property will trigger replacement. string
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
ActivationKey Changes to this property will trigger replacement. string
Activation key. This is required for Velocloud clusters.
AdminPassword Changes to this property will trigger replacement. string
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
Controller1 Changes to this property will trigger replacement. string
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
ControllerFqdn Changes to this property will trigger replacement. string
Controller fqdn. This is required for Velocloud clusters.
Hostname Changes to this property will trigger replacement. string
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
LicenseId Changes to this property will trigger replacement. string
License id. This field is relevant only for the BlueCat DNS and DHCP Server
LicenseKey Changes to this property will trigger replacement. string
License key. This field is relevant only for the BlueCat DNS and DHCP Server
PanoramaAuthKey Changes to this property will trigger replacement. string
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PanoramaIpAddress Changes to this property will trigger replacement. string
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PrivateAddress Changes to this property will trigger replacement. string
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateCidrMask Changes to this property will trigger replacement. string
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateGateway Changes to this property will trigger replacement. string
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
RootPassword Changes to this property will trigger replacement. string
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activationKey Changes to this property will trigger replacement. String
Activation key. This is required for Velocloud clusters.
adminPassword Changes to this property will trigger replacement. String
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. String
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controllerFqdn Changes to this property will trigger replacement. String
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. String
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
licenseId Changes to this property will trigger replacement. String
License id. This field is relevant only for the BlueCat DNS and DHCP Server
licenseKey Changes to this property will trigger replacement. String
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panoramaAuthKey Changes to this property will trigger replacement. String
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panoramaIpAddress Changes to this property will trigger replacement. String
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
privateAddress Changes to this property will trigger replacement. String
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
privateCidrMask Changes to this property will trigger replacement. String
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
privateGateway Changes to this property will trigger replacement. String
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
rootPassword Changes to this property will trigger replacement. String
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activationKey Changes to this property will trigger replacement. string
Activation key. This is required for Velocloud clusters.
adminPassword Changes to this property will trigger replacement. string
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. string
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controllerFqdn Changes to this property will trigger replacement. string
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. string
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
licenseId Changes to this property will trigger replacement. string
License id. This field is relevant only for the BlueCat DNS and DHCP Server
licenseKey Changes to this property will trigger replacement. string
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panoramaAuthKey Changes to this property will trigger replacement. string
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panoramaIpAddress Changes to this property will trigger replacement. string
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
privateAddress Changes to this property will trigger replacement. string
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
privateCidrMask Changes to this property will trigger replacement. string
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
privateGateway Changes to this property will trigger replacement. string
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
rootPassword Changes to this property will trigger replacement. string
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activation_key Changes to this property will trigger replacement. str
Activation key. This is required for Velocloud clusters.
admin_password Changes to this property will trigger replacement. str
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. str
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controller_fqdn Changes to this property will trigger replacement. str
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. str
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
license_id Changes to this property will trigger replacement. str
License id. This field is relevant only for the BlueCat DNS and DHCP Server
license_key Changes to this property will trigger replacement. str
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panorama_auth_key Changes to this property will trigger replacement. str
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panorama_ip_address Changes to this property will trigger replacement. str
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
private_address Changes to this property will trigger replacement. str
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
private_cidr_mask Changes to this property will trigger replacement. str
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
private_gateway Changes to this property will trigger replacement. str
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
root_password Changes to this property will trigger replacement. str
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activationKey Changes to this property will trigger replacement. String
Activation key. This is required for Velocloud clusters.
adminPassword Changes to this property will trigger replacement. String
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. String
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controllerFqdn Changes to this property will trigger replacement. String
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. String
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
licenseId Changes to this property will trigger replacement. String
License id. This field is relevant only for the BlueCat DNS and DHCP Server
licenseKey Changes to this property will trigger replacement. String
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panoramaAuthKey Changes to this property will trigger replacement. String
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panoramaIpAddress Changes to this property will trigger replacement. String
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
privateAddress Changes to this property will trigger replacement. String
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
privateCidrMask Changes to this property will trigger replacement. String
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
privateGateway Changes to this property will trigger replacement. String
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
rootPassword Changes to this property will trigger replacement. String
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.

DeviceClusterDetailsNode1
, DeviceClusterDetailsNode1Args

LicenseFileId Changes to this property will trigger replacement. string
License file id. This is necessary for Fortinet and Juniper clusters.
LicenseToken Changes to this property will trigger replacement. string
License token. This is necessary for Palo Alto clusters.
Name string
Device name.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode1VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
LicenseFileId Changes to this property will trigger replacement. string
License file id. This is necessary for Fortinet and Juniper clusters.
LicenseToken Changes to this property will trigger replacement. string
License token. This is necessary for Palo Alto clusters.
Name string
Device name.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode1VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
licenseFileId Changes to this property will trigger replacement. String
License file id. This is necessary for Fortinet and Juniper clusters.
licenseToken Changes to this property will trigger replacement. String
License token. This is necessary for Palo Alto clusters.
name String
Device name.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode1VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
licenseFileId Changes to this property will trigger replacement. string
License file id. This is necessary for Fortinet and Juniper clusters.
licenseToken Changes to this property will trigger replacement. string
License token. This is necessary for Palo Alto clusters.
name string
Device name.
uuid string
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. DeviceClusterDetailsNode1VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
license_file_id Changes to this property will trigger replacement. str
License file id. This is necessary for Fortinet and Juniper clusters.
license_token Changes to this property will trigger replacement. str
License token. This is necessary for Palo Alto clusters.
name str
Device name.
uuid str
Device unique identifier.
vendor_configuration Changes to this property will trigger replacement. DeviceClusterDetailsNode1VendorConfiguration
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.
licenseFileId Changes to this property will trigger replacement. String
License file id. This is necessary for Fortinet and Juniper clusters.
licenseToken Changes to this property will trigger replacement. String
License token. This is necessary for Palo Alto clusters.
name String
Device name.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. Property Map
An object that has fields relevant to the vendor of the cluster device. See Cluster Details - Nodes - Vendor Configuration below for more details.

DeviceClusterDetailsNode1VendorConfiguration
, DeviceClusterDetailsNode1VendorConfigurationArgs

ActivationKey Changes to this property will trigger replacement. string
Activation key. This is required for Velocloud clusters.
AdminPassword Changes to this property will trigger replacement. string
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
Controller1 Changes to this property will trigger replacement. string
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
ControllerFqdn Changes to this property will trigger replacement. string
Controller fqdn. This is required for Velocloud clusters.
Hostname Changes to this property will trigger replacement. string
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
LicenseId Changes to this property will trigger replacement. string
License id. This field is relevant only for the BlueCat DNS and DHCP Server
LicenseKey Changes to this property will trigger replacement. string
License key. This field is relevant only for the BlueCat DNS and DHCP Server
PanoramaAuthKey Changes to this property will trigger replacement. string
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PanoramaIpAddress Changes to this property will trigger replacement. string
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PrivateAddress Changes to this property will trigger replacement. string
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateCidrMask Changes to this property will trigger replacement. string
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateGateway Changes to this property will trigger replacement. string
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
RootPassword Changes to this property will trigger replacement. string
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
ActivationKey Changes to this property will trigger replacement. string
Activation key. This is required for Velocloud clusters.
AdminPassword Changes to this property will trigger replacement. string
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
Controller1 Changes to this property will trigger replacement. string
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
ControllerFqdn Changes to this property will trigger replacement. string
Controller fqdn. This is required for Velocloud clusters.
Hostname Changes to this property will trigger replacement. string
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
LicenseId Changes to this property will trigger replacement. string
License id. This field is relevant only for the BlueCat DNS and DHCP Server
LicenseKey Changes to this property will trigger replacement. string
License key. This field is relevant only for the BlueCat DNS and DHCP Server
PanoramaAuthKey Changes to this property will trigger replacement. string
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PanoramaIpAddress Changes to this property will trigger replacement. string
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
PrivateAddress Changes to this property will trigger replacement. string
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateCidrMask Changes to this property will trigger replacement. string
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
PrivateGateway Changes to this property will trigger replacement. string
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
RootPassword Changes to this property will trigger replacement. string
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activationKey Changes to this property will trigger replacement. String
Activation key. This is required for Velocloud clusters.
adminPassword Changes to this property will trigger replacement. String
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. String
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controllerFqdn Changes to this property will trigger replacement. String
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. String
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
licenseId Changes to this property will trigger replacement. String
License id. This field is relevant only for the BlueCat DNS and DHCP Server
licenseKey Changes to this property will trigger replacement. String
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panoramaAuthKey Changes to this property will trigger replacement. String
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panoramaIpAddress Changes to this property will trigger replacement. String
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
privateAddress Changes to this property will trigger replacement. String
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
privateCidrMask Changes to this property will trigger replacement. String
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
privateGateway Changes to this property will trigger replacement. String
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
rootPassword Changes to this property will trigger replacement. String
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activationKey Changes to this property will trigger replacement. string
Activation key. This is required for Velocloud clusters.
adminPassword Changes to this property will trigger replacement. string
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. string
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controllerFqdn Changes to this property will trigger replacement. string
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. string
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
licenseId Changes to this property will trigger replacement. string
License id. This field is relevant only for the BlueCat DNS and DHCP Server
licenseKey Changes to this property will trigger replacement. string
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panoramaAuthKey Changes to this property will trigger replacement. string
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panoramaIpAddress Changes to this property will trigger replacement. string
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
privateAddress Changes to this property will trigger replacement. string
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
privateCidrMask Changes to this property will trigger replacement. string
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
privateGateway Changes to this property will trigger replacement. string
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
rootPassword Changes to this property will trigger replacement. string
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activation_key Changes to this property will trigger replacement. str
Activation key. This is required for Velocloud clusters.
admin_password Changes to this property will trigger replacement. str
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. str
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controller_fqdn Changes to this property will trigger replacement. str
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. str
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
license_id Changes to this property will trigger replacement. str
License id. This field is relevant only for the BlueCat DNS and DHCP Server
license_key Changes to this property will trigger replacement. str
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panorama_auth_key Changes to this property will trigger replacement. str
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panorama_ip_address Changes to this property will trigger replacement. str
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
private_address Changes to this property will trigger replacement. str
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
private_cidr_mask Changes to this property will trigger replacement. str
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
private_gateway Changes to this property will trigger replacement. str
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
root_password Changes to this property will trigger replacement. str
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
activationKey Changes to this property will trigger replacement. String
Activation key. This is required for Velocloud clusters.
adminPassword Changes to this property will trigger replacement. String
The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
controller1 Changes to this property will trigger replacement. String
System IP Address. Mandatory for the Fortinet SDWAN cluster device.
controllerFqdn Changes to this property will trigger replacement. String
Controller fqdn. This is required for Velocloud clusters.
hostname Changes to this property will trigger replacement. String
Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
licenseId Changes to this property will trigger replacement. String
License id. This field is relevant only for the BlueCat DNS and DHCP Server
licenseKey Changes to this property will trigger replacement. String
License key. This field is relevant only for the BlueCat DNS and DHCP Server
panoramaAuthKey Changes to this property will trigger replacement. String
Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
panoramaIpAddress Changes to this property will trigger replacement. String
Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server.
privateAddress Changes to this property will trigger replacement. String
Private address. This field is relevant only for the BlueCat DNS and DHCP Server
privateCidrMask Changes to this property will trigger replacement. String
Private CIDR Mask. This field is relevant only for the BlueCat DNS and DHCP Server
privateGateway Changes to this property will trigger replacement. String
Private gateway. This field is relevant only for the BlueCat DNS and DHCP Server
rootPassword Changes to this property will trigger replacement. String
The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.

DeviceInterface
, DeviceInterfaceArgs

AssignedType string
interface management type (Equinix Managed or empty).
Id int
interface identifier.
IpAddress string
interface IP address.
MacAddress string
interface MAC address.
Name string
Device name.
OperationalStatus string
interface operational status. One of up, down.
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Type string
interface type.
AssignedType string
interface management type (Equinix Managed or empty).
Id int
interface identifier.
IpAddress string
interface IP address.
MacAddress string
interface MAC address.
Name string
Device name.
OperationalStatus string
interface operational status. One of up, down.
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Type string
interface type.
assignedType String
interface management type (Equinix Managed or empty).
id Integer
interface identifier.
ipAddress String
interface IP address.
macAddress String
interface MAC address.
name String
Device name.
operationalStatus String
interface operational status. One of up, down.
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type String
interface type.
assignedType string
interface management type (Equinix Managed or empty).
id number
interface identifier.
ipAddress string
interface IP address.
macAddress string
interface MAC address.
name string
Device name.
operationalStatus string
interface operational status. One of up, down.
status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type string
interface type.
assigned_type str
interface management type (Equinix Managed or empty).
id int
interface identifier.
ip_address str
interface IP address.
mac_address str
interface MAC address.
name str
Device name.
operational_status str
interface operational status. One of up, down.
status str
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type str
interface type.
assignedType String
interface management type (Equinix Managed or empty).
id Number
interface identifier.
ipAddress String
interface IP address.
macAddress String
interface MAC address.
name String
Device name.
operationalStatus String
interface operational status. One of up, down.
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type String
interface type.

DeviceSecondaryDevice
, DeviceSecondaryDeviceArgs

AccountNumber
This property is required.
Changes to this property will trigger replacement.
string
Billing account number for secondary device.
MetroCode
This property is required.
Changes to this property will trigger replacement.
string
Metro location of a secondary device.
Name This property is required. string
Secondary device name.
Notifications This property is required. List<string>
List of email addresses that will receive notifications about secondary device.
AclTemplateId string
Identifier of a WAN interface ACL template that will be applied on a secondary device.
AdditionalBandwidth int
Additional Internet bandwidth, in Mbps, for a secondary device.
Asn int
(Autonomous System Number) Unique identifier for a network on the internet.
CloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on a secondary device.
Hostname Changes to this property will trigger replacement. string
Secondary device hostname.
Ibx string
Device location Equinix Business Exchange name.
Interfaces List<DeviceSecondaryDeviceInterface>
List of device interfaces. See Interface Attribute below for more details.
LicenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
LicenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on a secondary device.
LicenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
LicenseToken Changes to this property will trigger replacement. string
License Token can be provided for some device types o the device.
MgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on a secondary device.

  • ssh-key - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
ProjectId string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
RedundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
RedundantId string
Unique identifier for a redundant device applicable for HA devices.
Region string
Device location region.
SshIpAddress string
IP address of SSH enabled interface on the device.
SshIpFqdn string
FQDN of SSH enabled interface on the device.
SshKey Changes to this property will trigger replacement. DeviceSecondaryDeviceSshKey
Definition of SSH key that will be provisioned on a device
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. Dictionary<string, string>
Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress.
WanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
ZoneCode string
Device location zone code.
AccountNumber
This property is required.
Changes to this property will trigger replacement.
string
Billing account number for secondary device.
MetroCode
This property is required.
Changes to this property will trigger replacement.
string
Metro location of a secondary device.
Name This property is required. string
Secondary device name.
Notifications This property is required. []string
List of email addresses that will receive notifications about secondary device.
AclTemplateId string
Identifier of a WAN interface ACL template that will be applied on a secondary device.
AdditionalBandwidth int
Additional Internet bandwidth, in Mbps, for a secondary device.
Asn int
(Autonomous System Number) Unique identifier for a network on the internet.
CloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on a secondary device.
Hostname Changes to this property will trigger replacement. string
Secondary device hostname.
Ibx string
Device location Equinix Business Exchange name.
Interfaces []DeviceSecondaryDeviceInterface
List of device interfaces. See Interface Attribute below for more details.
LicenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
LicenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on a secondary device.
LicenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
LicenseToken Changes to this property will trigger replacement. string
License Token can be provided for some device types o the device.
MgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on a secondary device.

  • ssh-key - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
ProjectId string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
RedundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
RedundantId string
Unique identifier for a redundant device applicable for HA devices.
Region string
Device location region.
SshIpAddress string
IP address of SSH enabled interface on the device.
SshIpFqdn string
FQDN of SSH enabled interface on the device.
SshKey Changes to this property will trigger replacement. DeviceSecondaryDeviceSshKey
Definition of SSH key that will be provisioned on a device
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Uuid string
Device unique identifier.
VendorConfiguration Changes to this property will trigger replacement. map[string]string
Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress.
WanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
ZoneCode string
Device location zone code.
accountNumber
This property is required.
Changes to this property will trigger replacement.
String
Billing account number for secondary device.
metroCode
This property is required.
Changes to this property will trigger replacement.
String
Metro location of a secondary device.
name This property is required. String
Secondary device name.
notifications This property is required. List<String>
List of email addresses that will receive notifications about secondary device.
aclTemplateId String
Identifier of a WAN interface ACL template that will be applied on a secondary device.
additionalBandwidth Integer
Additional Internet bandwidth, in Mbps, for a secondary device.
asn Integer
(Autonomous System Number) Unique identifier for a network on the internet.
cloudInitFileId Changes to this property will trigger replacement. String
Identifier of a cloud init file that will be applied on a secondary device.
hostname Changes to this property will trigger replacement. String
Secondary device hostname.
ibx String
Device location Equinix Business Exchange name.
interfaces List<DeviceSecondaryDeviceInterface>
List of device interfaces. See Interface Attribute below for more details.
licenseFile Changes to this property will trigger replacement. String
Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. String
Identifier of a license file that will be applied on a secondary device.
licenseStatus String
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
licenseToken Changes to this property will trigger replacement. String
License Token can be provided for some device types o the device.
mgmtAclTemplateUuid String
Identifier of an MGMT interface ACL template that will be applied on a secondary device.

  • ssh-key - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
projectId String
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
redundancyType String
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId String
Unique identifier for a redundant device applicable for HA devices.
region String
Device location region.
sshIpAddress String
IP address of SSH enabled interface on the device.
sshIpFqdn String
FQDN of SSH enabled interface on the device.
sshKey Changes to this property will trigger replacement. DeviceSecondaryDeviceSshKey
Definition of SSH key that will be provisioned on a device
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. Map<String,String>
Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress.
wanInterfaceId Changes to this property will trigger replacement. String
device interface id picked for WAN
zoneCode String
Device location zone code.
accountNumber
This property is required.
Changes to this property will trigger replacement.
string
Billing account number for secondary device.
metroCode
This property is required.
Changes to this property will trigger replacement.
string
Metro location of a secondary device.
name This property is required. string
Secondary device name.
notifications This property is required. string[]
List of email addresses that will receive notifications about secondary device.
aclTemplateId string
Identifier of a WAN interface ACL template that will be applied on a secondary device.
additionalBandwidth number
Additional Internet bandwidth, in Mbps, for a secondary device.
asn number
(Autonomous System Number) Unique identifier for a network on the internet.
cloudInitFileId Changes to this property will trigger replacement. string
Identifier of a cloud init file that will be applied on a secondary device.
hostname Changes to this property will trigger replacement. string
Secondary device hostname.
ibx string
Device location Equinix Business Exchange name.
interfaces DeviceSecondaryDeviceInterface[]
List of device interfaces. See Interface Attribute below for more details.
licenseFile Changes to this property will trigger replacement. string
Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. string
Identifier of a license file that will be applied on a secondary device.
licenseStatus string
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
licenseToken Changes to this property will trigger replacement. string
License Token can be provided for some device types o the device.
mgmtAclTemplateUuid string
Identifier of an MGMT interface ACL template that will be applied on a secondary device.

  • ssh-key - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
projectId string
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
redundancyType string
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId string
Unique identifier for a redundant device applicable for HA devices.
region string
Device location region.
sshIpAddress string
IP address of SSH enabled interface on the device.
sshIpFqdn string
FQDN of SSH enabled interface on the device.
sshKey Changes to this property will trigger replacement. DeviceSecondaryDeviceSshKey
Definition of SSH key that will be provisioned on a device
status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid string
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. {[key: string]: string}
Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress.
wanInterfaceId Changes to this property will trigger replacement. string
device interface id picked for WAN
zoneCode string
Device location zone code.
account_number
This property is required.
Changes to this property will trigger replacement.
str
Billing account number for secondary device.
metro_code
This property is required.
Changes to this property will trigger replacement.
str
Metro location of a secondary device.
name This property is required. str
Secondary device name.
notifications This property is required. Sequence[str]
List of email addresses that will receive notifications about secondary device.
acl_template_id str
Identifier of a WAN interface ACL template that will be applied on a secondary device.
additional_bandwidth int
Additional Internet bandwidth, in Mbps, for a secondary device.
asn int
(Autonomous System Number) Unique identifier for a network on the internet.
cloud_init_file_id Changes to this property will trigger replacement. str
Identifier of a cloud init file that will be applied on a secondary device.
hostname Changes to this property will trigger replacement. str
Secondary device hostname.
ibx str
Device location Equinix Business Exchange name.
interfaces Sequence[DeviceSecondaryDeviceInterface]
List of device interfaces. See Interface Attribute below for more details.
license_file Changes to this property will trigger replacement. str
Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
license_file_id Changes to this property will trigger replacement. str
Identifier of a license file that will be applied on a secondary device.
license_status str
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
license_token Changes to this property will trigger replacement. str
License Token can be provided for some device types o the device.
mgmt_acl_template_uuid str
Identifier of an MGMT interface ACL template that will be applied on a secondary device.

  • ssh-key - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
project_id str
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
redundancy_type str
Device redundancy type applicable for HA devices, either primary or secondary.
redundant_id str
Unique identifier for a redundant device applicable for HA devices.
region str
Device location region.
ssh_ip_address str
IP address of SSH enabled interface on the device.
ssh_ip_fqdn str
FQDN of SSH enabled interface on the device.
ssh_key Changes to this property will trigger replacement. DeviceSecondaryDeviceSshKey
Definition of SSH key that will be provisioned on a device
status str
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid str
Device unique identifier.
vendor_configuration Changes to this property will trigger replacement. Mapping[str, str]
Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress.
wan_interface_id Changes to this property will trigger replacement. str
device interface id picked for WAN
zone_code str
Device location zone code.
accountNumber
This property is required.
Changes to this property will trigger replacement.
String
Billing account number for secondary device.
metroCode
This property is required.
Changes to this property will trigger replacement.
String
Metro location of a secondary device.
name This property is required. String
Secondary device name.
notifications This property is required. List<String>
List of email addresses that will receive notifications about secondary device.
aclTemplateId String
Identifier of a WAN interface ACL template that will be applied on a secondary device.
additionalBandwidth Number
Additional Internet bandwidth, in Mbps, for a secondary device.
asn Number
(Autonomous System Number) Unique identifier for a network on the internet.
cloudInitFileId Changes to this property will trigger replacement. String
Identifier of a cloud init file that will be applied on a secondary device.
hostname Changes to this property will trigger replacement. String
Secondary device hostname.
ibx String
Device location Equinix Business Exchange name.
interfaces List<Property Map>
List of device interfaces. See Interface Attribute below for more details.
licenseFile Changes to this property will trigger replacement. String
Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
licenseFileId Changes to this property will trigger replacement. String
Identifier of a license file that will be applied on a secondary device.
licenseStatus String
Device license registration status. Possible values are APPLYING_LICENSE, REGISTERED, APPLIED, WAITING_FOR_CLUSTER_SETUP, REGISTRATION_FAILED.
licenseToken Changes to this property will trigger replacement. String
License Token can be provided for some device types o the device.
mgmtAclTemplateUuid String
Identifier of an MGMT interface ACL template that will be applied on a secondary device.

  • ssh-key - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
projectId String
Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
redundancyType String
Device redundancy type applicable for HA devices, either primary or secondary.
redundantId String
Unique identifier for a redundant device applicable for HA devices.
region String
Device location region.
sshIpAddress String
IP address of SSH enabled interface on the device.
sshIpFqdn String
FQDN of SSH enabled interface on the device.
sshKey Changes to this property will trigger replacement. Property Map
Definition of SSH key that will be provisioned on a device
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
uuid String
Device unique identifier.
vendorConfiguration Changes to this property will trigger replacement. Map<String>
Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress.
wanInterfaceId Changes to this property will trigger replacement. String
device interface id picked for WAN
zoneCode String
Device location zone code.

DeviceSecondaryDeviceInterface
, DeviceSecondaryDeviceInterfaceArgs

AssignedType string
interface management type (Equinix Managed or empty).
Id int
interface identifier.
IpAddress string
interface IP address.
MacAddress string
interface MAC address.
Name string
Device name.
OperationalStatus string
interface operational status. One of up, down.
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Type string
interface type.
AssignedType string
interface management type (Equinix Managed or empty).
Id int
interface identifier.
IpAddress string
interface IP address.
MacAddress string
interface MAC address.
Name string
Device name.
OperationalStatus string
interface operational status. One of up, down.
Status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
Type string
interface type.
assignedType String
interface management type (Equinix Managed or empty).
id Integer
interface identifier.
ipAddress String
interface IP address.
macAddress String
interface MAC address.
name String
Device name.
operationalStatus String
interface operational status. One of up, down.
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type String
interface type.
assignedType string
interface management type (Equinix Managed or empty).
id number
interface identifier.
ipAddress string
interface IP address.
macAddress string
interface MAC address.
name string
Device name.
operationalStatus string
interface operational status. One of up, down.
status string
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type string
interface type.
assigned_type str
interface management type (Equinix Managed or empty).
id int
interface identifier.
ip_address str
interface IP address.
mac_address str
interface MAC address.
name str
Device name.
operational_status str
interface operational status. One of up, down.
status str
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type str
interface type.
assignedType String
interface management type (Equinix Managed or empty).
id Number
interface identifier.
ipAddress String
interface IP address.
macAddress String
interface MAC address.
name String
Device name.
operationalStatus String
interface operational status. One of up, down.
status String
interface status. One of AVAILABLE, RESERVED, ASSIGNED.
type String
interface type.

DeviceSecondaryDeviceSshKey
, DeviceSecondaryDeviceSshKeyArgs

Username This property is required. string
username associated with given key.
KeyName string
Reference by name to previously provisioned public SSH key
Username This property is required. string
username associated with given key.
KeyName string
Reference by name to previously provisioned public SSH key
username This property is required. String
username associated with given key.
keyName String
Reference by name to previously provisioned public SSH key
username This property is required. string
username associated with given key.
keyName string
Reference by name to previously provisioned public SSH key
username This property is required. str
username associated with given key.
key_name str
Reference by name to previously provisioned public SSH key
username This property is required. String
username associated with given key.
keyName String
Reference by name to previously provisioned public SSH key

DeviceSshKey
, DeviceSshKeyArgs

Username This property is required. string
username associated with given key.
KeyName string
Reference by name to previously provisioned public SSH key
Username This property is required. string
username associated with given key.
KeyName string
Reference by name to previously provisioned public SSH key
username This property is required. String
username associated with given key.
keyName String
Reference by name to previously provisioned public SSH key
username This property is required. string
username associated with given key.
keyName string
Reference by name to previously provisioned public SSH key
username This property is required. str
username associated with given key.
key_name str
Reference by name to previously provisioned public SSH key
username This property is required. String
username associated with given key.
keyName String
Reference by name to previously provisioned public SSH key

ThroughputUnit
, ThroughputUnitArgs

Mbps
Mbps
Gbps
Gbps
ThroughputUnitMbps
Mbps
ThroughputUnitGbps
Gbps
Mbps
Mbps
Gbps
Gbps
Mbps
Mbps
Gbps
Gbps
MBPS
Mbps
GBPS
Gbps
"Mbps"
Mbps
"Gbps"
Gbps

Package Details

Repository
equinix equinix/pulumi-equinix
License
Apache-2.0
Notes
This Pulumi package is based on the equinix Terraform Provider.