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),
},
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
MetroCode: "DC",
}, nil)
if err != nil {
return err
}
sv, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
_, 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.MetroCode),
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.Number),
Version: pulumi.String("16.09.05"),
CoreCount: pulumi.Int(2),
SecondaryDevice: &networkedge.DeviceSecondaryDeviceArgs{
Name: pulumi.String("tf-csr1000v-s"),
MetroCode: pulumi.String(sv.MetroCode),
Hostname: pulumi.String("csr1000v-s"),
Notifications: pulumi.StringArray{
pulumi.String("john@equinix.com"),
pulumi.String("marry@equinix.com"),
},
AccountNumber: pulumi.String(sv.Number),
},
})
if err != nil {
return err
}
return nil
})
}
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(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.number()))
.version("16.09.05")
.coreCount(2)
.secondaryDevice(DeviceSecondaryDeviceArgs.builder()
.name("tf-csr1000v-s")
.metroCode(sv.applyValue(getAccountResult -> getAccountResult.metroCode()))
.hostname("csr1000v-s")
.notifications(
"john@equinix.com",
"marry@equinix.com")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.number()))
.build())
.build());
}
}
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,
})
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),
},
});
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
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",
},
},
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
_, err = networkedge.NewDevice(ctx, "panwCluster", &networkedge.DeviceArgs{
Name: pulumi.String("tf-panw"),
MetroCode: pulumi.String(sv.MetroCode),
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.Number),
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
})
}
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(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.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());
}
}
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",
},
})
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",
},
},
});
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
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",
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: filepath,
}, nil)
if err != nil {
return err
}
aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{
FileName: pulumi.String("TF-AVX-cloud-init-file.txt"),
Content: pulumi.String(invokeFile.Result),
MetroCode: sv.MetroCode.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.MetroCode),
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.Number),
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
})
}
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.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()).result())
.metroCode(sv.applyValue(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("AVIATRIX_EDGE")
.selfManaged(true)
.byol(true)
.packageCode("STD")
.notifications("john@equinix.com")
.termLength(12)
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.number()))
.version("6.9")
.coreCount(2)
.cloudInitFileId(aviatrixCloudinitFile.uuid())
.aclTemplateId("c06150ea-b604-4ad1-832a-d63936e9b938")
.build());
}
}
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")
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",
});
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
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",
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
Name: pulumi.StringRef("account-name"),
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
_, err = networkedge.NewDevice(ctx, "c8kvSingle", &networkedge.DeviceArgs{
Name: pulumi.String("tf-c8kv"),
MetroCode: pulumi.String(sv.MetroCode),
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.Number),
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
})
}
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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("C8000V")
.selfManaged(true)
.byol(true)
.packageCode("network-essentials")
.notifications("test@equinix.com")
.hostname("C8KV")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.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());
}
}
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")
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",
});
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
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",
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
Name: pulumi.StringRef("account-name"),
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
_, err = networkedge.NewDevice(ctx, "vsrxSingle", &networkedge.DeviceArgs{
Name: pulumi.String("tf-c8kv-sdwan"),
MetroCode: pulumi.String(sv.MetroCode),
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.Number),
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
})
}
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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("VSRX")
.selfManaged(true)
.byol(true)
.packageCode("STD")
.notifications("test@equinix.com")
.hostname("VSRX")
.accountNumber(sv.applyValue(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(DeviceSshKeyArgs.builder()
.username("test-username")
.keyName("valid-key-name")
.build())
.aclTemplateId("3e548c02-9164-4197-aa23-05b1f644883c")
.build());
}
}
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")
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",
});
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
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",
},
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
Name: pulumi.StringRef("account-name"),
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
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.MetroCode),
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.Number),
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: pulumi.String(sv.MetroCode),
Hostname: pulumi.String("arista-s"),
Notifications: pulumi.StringArray{
pulumi.String("test@eq.com"),
},
AccountNumber: pulumi.String(sv.Number),
AclTemplateId: pulumi.String("fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138"),
},
})
if err != nil {
return err
}
return nil
})
}
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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("ARISTA-ROUTER")
.selfManaged(true)
.connectivity("PRIVATE")
.byol(true)
.packageCode("CloudEOS")
.notifications("test@equinix.com")
.hostname("arista-p")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.metroCode()))
.hostname("arista-s")
.notifications("test@eq.com")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.number()))
.aclTemplateId("fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138")
.build())
.build());
}
}
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",
})
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",
},
});
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
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" },
},
},
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
Name: pulumi.StringRef("account-name"),
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
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.MetroCode),
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.Number),
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: pulumi.String(sv.MetroCode),
Notifications: pulumi.StringArray{
pulumi.String("test@eq.com"),
},
AccountNumber: pulumi.String(sv.Number),
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
})
}
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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("BLUECAT")
.selfManaged(true)
.connectivity("PRIVATE")
.byol(true)
.packageCode("STD")
.notifications("test@equinix.com")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.metroCode()))
.notifications("test@eq.com")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.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());
}
}
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",
"private_address": "x.x.x.x",
"private_cidr_mask": "24",
"private_gateway": "x.x.x.x",
"license_key": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx",
"license_id": "xxxxxxxxxxxxxxx",
},
})
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",
},
},
});
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
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,
},
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
Name: pulumi.StringRef("account-name"),
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: filepath,
}, nil)
if err != nil {
return err
}
bluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitPrimaryFile", &networkedge.NetworkFileArgs{
FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"),
Content: pulumi.String(invokeFile.Result),
MetroCode: sv.MetroCode.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
}
invokeFile1, err := std.File(ctx, &std.FileArgs{
Input: filepath,
}, nil)
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(invokeFile1.Result),
MetroCode: sv.MetroCode.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.MetroCode),
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.Number),
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: pulumi.String(sv.MetroCode),
Notifications: pulumi.StringArray{
pulumi.String("test@eq.com"),
},
AccountNumber: pulumi.String(sv.Number),
CloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,
},
})
if err != nil {
return err
}
return nil
})
}
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.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()).result())
.metroCode(sv.applyValue(getAccountResult -> getAccountResult.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()).result())
.metroCode(sv.applyValue(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("BLUECAT-EDGE-SERVICE-POINT")
.selfManaged(true)
.connectivity("PRIVATE")
.byol(true)
.packageCode("STD")
.notifications("test@equinix.com")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.metroCode()))
.notifications("test@eq.com")
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.number()))
.cloudInitFileId(bluecatEdgeServicePointCloudinitSecondaryFile.uuid())
.build())
.build());
}
}
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,
})
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,
},
});
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
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",
},
},
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
_, err = networkedge.NewDevice(ctx, "panwCluster", &networkedge.DeviceArgs{
Name: pulumi.String("tf-panw"),
MetroCode: pulumi.String(sv.MetroCode),
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.Number),
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
})
}
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(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.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());
}
}
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",
},
})
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",
},
},
});
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
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",
});
});
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, err := networkedge.GetAccount(ctx, &networkedge.GetAccountArgs{
MetroCode: "SV",
}, nil)
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: filepath,
}, nil)
if err != nil {
return err
}
aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{
FileName: pulumi.String("TF-AVX-cloud-init-file.txt"),
Content: pulumi.String(invokeFile.Result),
MetroCode: sv.MetroCode.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.MetroCode),
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.Number),
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
})
}
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.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()).result())
.metroCode(sv.applyValue(getAccountResult -> getAccountResult.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(getAccountResult -> getAccountResult.metroCode()))
.typeCode("AVIATRIX_TRANSIT_EDGE")
.selfManaged(true)
.byol(true)
.packageCode("STD")
.notifications("john@equinix.com")
.termLength(12)
.accountNumber(sv.applyValue(getAccountResult -> getAccountResult.number()))
.version("7.2.a")
.coreCount(2)
.cloudInitFileId(aviatrixCloudinitFile.uuid())
.aclTemplateId("c06150ea-b604-4ad1-832a-d63936e9b938")
.build());
}
}
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")
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",
});
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
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,
name: Optional[str] = None,
cloud_init_file_id: 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,
mgmt_acl_template_uuid: Optional[str] = None,
connectivity: Optional[str] = None,
cluster_details: Optional[DeviceClusterDetailsArgs] = None,
order_reference: Optional[str] = None,
hostname: Optional[str] = None,
project_id: Optional[str] = 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,
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 string
- The unique name of the resource.
- args DeviceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args DeviceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DeviceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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,
Name = "string",
CloudInitFileId = "string",
InterfaceCount = 0,
LicenseFile = "string",
LicenseFileId = "string",
LicenseToken = "string",
DiverseDeviceId = "string",
MgmtAclTemplateUuid = "string",
Connectivity = "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",
Hostname = "string",
ProjectId = "string",
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",
AdditionalBandwidth = 0,
VendorConfiguration =
{
{ "string", "string" },
},
AclTemplateId = "string",
WanInterfaceId = "string",
});
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),
Name: pulumi.String("string"),
CloudInitFileId: pulumi.String("string"),
InterfaceCount: pulumi.Int(0),
LicenseFile: pulumi.String("string"),
LicenseFileId: pulumi.String("string"),
LicenseToken: pulumi.String("string"),
DiverseDeviceId: pulumi.String("string"),
MgmtAclTemplateUuid: pulumi.String("string"),
Connectivity: 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"),
Hostname: pulumi.String("string"),
ProjectId: pulumi.String("string"),
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"),
AdditionalBandwidth: pulumi.Int(0),
VendorConfiguration: pulumi.StringMap{
"string": pulumi.String("string"),
},
AclTemplateId: pulumi.String("string"),
WanInterfaceId: pulumi.String("string"),
})
var equinixDeviceResource = new Device("equinixDeviceResource", DeviceArgs.builder()
.metroCode("string")
.version("string")
.typeCode("string")
.termLength(0)
.packageCode("string")
.notifications("string")
.accountNumber("string")
.coreCount(0)
.name("string")
.cloudInitFileId("string")
.interfaceCount(0)
.licenseFile("string")
.licenseFileId("string")
.licenseToken("string")
.diverseDeviceId("string")
.mgmtAclTemplateUuid("string")
.connectivity("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")
.hostname("string")
.projectId("string")
.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")
.additionalBandwidth(0)
.vendorConfiguration(Map.of("string", "string"))
.aclTemplateId("string")
.wanInterfaceId("string")
.build());
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,
name="string",
cloud_init_file_id="string",
interface_count=0,
license_file="string",
license_file_id="string",
license_token="string",
diverse_device_id="string",
mgmt_acl_template_uuid="string",
connectivity="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",
hostname="string",
project_id="string",
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",
additional_bandwidth=0,
vendor_configuration={
"string": "string",
},
acl_template_id="string",
wan_interface_id="string")
const equinixDeviceResource = new equinix.networkedge.Device("equinixDeviceResource", {
metroCode: "string",
version: "string",
typeCode: "string",
termLength: 0,
packageCode: "string",
notifications: ["string"],
accountNumber: "string",
coreCount: 0,
name: "string",
cloudInitFileId: "string",
interfaceCount: 0,
licenseFile: "string",
licenseFileId: "string",
licenseToken: "string",
diverseDeviceId: "string",
mgmtAclTemplateUuid: "string",
connectivity: "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",
hostname: "string",
projectId: "string",
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",
additionalBandwidth: 0,
vendorConfiguration: {
string: "string",
},
aclTemplateId: "string",
wanInterfaceId: "string",
});
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
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
typeCode: string
vendorConfiguration:
string: string
version: string
wanInterfaceId: string
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:
- Account
Number string - Billing account number for a device.
- 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.)
- Metro
Code string - Device location metro code.
- Notifications List<string>
- List of email addresses that will receive device status notifications.
- Package
Code string - Device software package code.
- Term
Length int - Device term length.
- Type
Code string - Device type code.
- Version string
- Device software software version.
- Acl
Template stringId - 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 bool
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - Cloud
Init stringFile Id - Identifier of a cloud init file that will be applied on the device.
- Cluster
Details DeviceCluster Details - An object that has the cluster details. See Cluster Details below for more details.
- Connectivity string
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- Diverse
Device stringId - 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.
- Hostname string
- Device hostname prefix.
- Interface
Count int - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- License
File string - 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 stringId - Identifier of a license file that will be applied on the device.
- License
Token string - License Token applicable for some device types in BYOL licensing mode.
- Mgmt
Acl stringTemplate Uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- Name string
- Device name.
- Order
Reference string - Name/number used to identify device order on the invoice.
- Project
Id 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.
- Purchase
Order stringNumber - Purchase order number associated with a device order.
- Secondary
Device DeviceSecondary Device - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- Self
Managed bool - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - Ssh
Key DeviceSsh Key - Definition of SSH key that will be provisioned on a device
- Throughput int
- Device license throughput.
- Throughput
Unit string | Pulumi.Equinix. Network Edge. Throughput Unit - License throughput unit. One of
Mbps
orGbps
. - Vendor
Configuration Dictionary<string, string> - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 stringId - device interface id picked for WAN
- Account
Number string - Billing account number for a device.
- 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.)
- Metro
Code string - Device location metro code.
- Notifications []string
- List of email addresses that will receive device status notifications.
- Package
Code string - Device software package code.
- Term
Length int - Device term length.
- Type
Code string - Device type code.
- Version string
- Device software software version.
- Acl
Template stringId - 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 bool
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - Cloud
Init stringFile Id - Identifier of a cloud init file that will be applied on the device.
- Cluster
Details DeviceCluster Details Args - An object that has the cluster details. See Cluster Details below for more details.
- Connectivity string
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- Diverse
Device stringId - 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.
- Hostname string
- Device hostname prefix.
- Interface
Count int - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- License
File string - 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 stringId - Identifier of a license file that will be applied on the device.
- License
Token string - License Token applicable for some device types in BYOL licensing mode.
- Mgmt
Acl stringTemplate Uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- Name string
- Device name.
- Order
Reference string - Name/number used to identify device order on the invoice.
- Project
Id 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.
- Purchase
Order stringNumber - Purchase order number associated with a device order.
- Secondary
Device DeviceSecondary Device Args - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- Self
Managed bool - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - Ssh
Key DeviceSsh Key Args - Definition of SSH key that will be provisioned on a device
- Throughput int
- Device license throughput.
- Throughput
Unit string | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - Vendor
Configuration map[string]string - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 stringId - device interface id picked for WAN
- account
Number String - Billing account number for a device.
- core
Count 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.)
- metro
Code String - Device location metro code.
- notifications List<String>
- List of email addresses that will receive device status notifications.
- package
Code String - Device software package code.
- term
Length Integer - Device term length.
- type
Code String - Device type code.
- version String
- Device software software version.
- acl
Template StringId - Identifier of a WAN interface ACL template that will be applied on the device.
- additional
Bandwidth Integer - Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
- byol Boolean
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud
Init StringFile Id - Identifier of a cloud init file that will be applied on the device.
- cluster
Details DeviceCluster Details - An object that has the cluster details. See Cluster Details below for more details.
- connectivity String
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- diverse
Device StringId - 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.
- hostname String
- Device hostname prefix.
- interface
Count Integer - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- license
File String - 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 StringId - Identifier of a license file that will be applied on the device.
- license
Token String - License Token applicable for some device types in BYOL licensing mode.
- mgmt
Acl StringTemplate Uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- name String
- Device name.
- order
Reference String - Name/number used to identify device order on the invoice.
- project
Id 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.
- purchase
Order StringNumber - Purchase order number associated with a device order.
- secondary
Device DeviceSecondary Device - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self
Managed Boolean - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh
Key DeviceSsh Key - Definition of SSH key that will be provisioned on a device
- throughput Integer
- Device license throughput.
- throughput
Unit String | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - vendor
Configuration Map<String,String> - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 StringId - device interface id picked for WAN
- account
Number string - Billing account number for a device.
- core
Count 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.)
- metro
Code string - Device location metro code.
- notifications string[]
- List of email addresses that will receive device status notifications.
- package
Code string - Device software package code.
- term
Length number - Device term length.
- type
Code string - Device type code.
- version string
- Device software software version.
- acl
Template stringId - Identifier of a WAN interface ACL template that will be applied on the device.
- additional
Bandwidth number - Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
- byol boolean
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud
Init stringFile Id - Identifier of a cloud init file that will be applied on the device.
- cluster
Details DeviceCluster Details - An object that has the cluster details. See Cluster Details below for more details.
- connectivity string
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- diverse
Device stringId - 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.
- hostname string
- Device hostname prefix.
- interface
Count number - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- license
File string - 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 stringId - Identifier of a license file that will be applied on the device.
- license
Token string - License Token applicable for some device types in BYOL licensing mode.
- mgmt
Acl stringTemplate Uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- name string
- Device name.
- order
Reference string - Name/number used to identify device order on the invoice.
- project
Id 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.
- purchase
Order stringNumber - Purchase order number associated with a device order.
- secondary
Device DeviceSecondary Device - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self
Managed boolean - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh
Key DeviceSsh Key - Definition of SSH key that will be provisioned on a device
- throughput number
- Device license throughput.
- throughput
Unit string | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - vendor
Configuration {[key: string]: string} - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 stringId - device interface id picked for WAN
- account_
number str - Billing account number for a device.
- 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.)
- metro_
code str - Device location metro code.
- notifications Sequence[str]
- List of email addresses that will receive device status notifications.
- package_
code str - Device software package code.
- term_
length int - Device term length.
- type_
code str - Device type code.
- version str
- Device software software version.
- acl_
template_ strid - 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 bool
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud_
init_ strfile_ id - Identifier of a cloud init file that will be applied on the device.
- cluster_
details DeviceCluster Details Args - An object that has the cluster details. See Cluster Details below for more details.
- connectivity str
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- diverse_
device_ strid - 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.
- hostname str
- Device hostname prefix.
- interface_
count int - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- license_
file 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_ strid - Identifier of a license file that will be applied on the device.
- license_
token str - License Token applicable for some device types in BYOL licensing mode.
- mgmt_
acl_ strtemplate_ uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- name str
- Device name.
- order_
reference str - Name/number used to identify device order on the invoice.
- 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.
- purchase_
order_ strnumber - Purchase order number associated with a device order.
- secondary_
device DeviceSecondary Device Args - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self_
managed bool - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh_
key DeviceSsh Key Args - Definition of SSH key that will be provisioned on a device
- throughput int
- Device license throughput.
- throughput_
unit str | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - vendor_
configuration Mapping[str, str] - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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_ strid - device interface id picked for WAN
- account
Number String - Billing account number for a device.
- core
Count 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.)
- metro
Code String - Device location metro code.
- notifications List<String>
- List of email addresses that will receive device status notifications.
- package
Code String - Device software package code.
- term
Length Number - Device term length.
- type
Code String - Device type code.
- version String
- Device software software version.
- acl
Template StringId - Identifier of a WAN interface ACL template that will be applied on the device.
- additional
Bandwidth Number - Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
- byol Boolean
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud
Init StringFile Id - Identifier of a cloud init file that will be applied on the device.
- cluster
Details Property Map - An object that has the cluster details. See Cluster Details below for more details.
- connectivity String
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- diverse
Device StringId - 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.
- hostname String
- Device hostname prefix.
- interface
Count Number - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- license
File String - 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 StringId - Identifier of a license file that will be applied on the device.
- license
Token String - License Token applicable for some device types in BYOL licensing mode.
- mgmt
Acl StringTemplate Uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- name String
- Device name.
- order
Reference String - Name/number used to identify device order on the invoice.
- project
Id 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.
- purchase
Order StringNumber - Purchase order number associated with a device order.
- secondary
Device Property Map - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self
Managed Boolean - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh
Key Property Map - Definition of SSH key that will be provisioned on a device
- throughput Number
- Device license throughput.
- throughput
Unit String | "Mbps" | "Gbps" - License throughput unit. One of
Mbps
orGbps
. - vendor
Configuration Map<String> - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 StringId - 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.
- Diverse
Device stringName - 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<Device
Interface> - List of device interfaces. See Interface Attribute below for more details.
- License
Status string - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - Redundancy
Type string - Device redundancy type applicable for HA devices, either primary or secondary.
- Redundant
Id string - Unique identifier for a redundant device applicable for HA devices.
- Region string
- Device location region.
- Ssh
Ip stringAddress - IP address of SSH enabled interface on the device.
- Ssh
Ip stringFqdn - FQDN of SSH enabled interface on the device.
- Status string
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - Uuid string
- Device unique identifier.
- Zone
Code string - Device location zone code.
- Asn int
- (Autonomous System Number) Unique identifier for a network on the internet.
- Diverse
Device stringName - 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
[]Device
Interface - List of device interfaces. See Interface Attribute below for more details.
- License
Status string - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - Redundancy
Type string - Device redundancy type applicable for HA devices, either primary or secondary.
- Redundant
Id string - Unique identifier for a redundant device applicable for HA devices.
- Region string
- Device location region.
- Ssh
Ip stringAddress - IP address of SSH enabled interface on the device.
- Ssh
Ip stringFqdn - FQDN of SSH enabled interface on the device.
- Status string
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - Uuid string
- Device unique identifier.
- Zone
Code string - Device location zone code.
- asn Integer
- (Autonomous System Number) Unique identifier for a network on the internet.
- diverse
Device StringName - 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<Device
Interface> - List of device interfaces. See Interface Attribute below for more details.
- license
Status String - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - redundancy
Type String - Device redundancy type applicable for HA devices, either primary or secondary.
- redundant
Id String - Unique identifier for a redundant device applicable for HA devices.
- region String
- Device location region.
- ssh
Ip StringAddress - IP address of SSH enabled interface on the device.
- ssh
Ip StringFqdn - FQDN of SSH enabled interface on the device.
- status String
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - uuid String
- Device unique identifier.
- zone
Code String - Device location zone code.
- asn number
- (Autonomous System Number) Unique identifier for a network on the internet.
- diverse
Device stringName - 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
Device
Interface[] - List of device interfaces. See Interface Attribute below for more details.
- license
Status string - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - redundancy
Type string - Device redundancy type applicable for HA devices, either primary or secondary.
- redundant
Id string - Unique identifier for a redundant device applicable for HA devices.
- region string
- Device location region.
- ssh
Ip stringAddress - IP address of SSH enabled interface on the device.
- ssh
Ip stringFqdn - FQDN of SSH enabled interface on the device.
- status string
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - uuid string
- Device unique identifier.
- zone
Code string - Device location zone code.
- asn int
- (Autonomous System Number) Unique identifier for a network on the internet.
- diverse_
device_ strname - 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[Device
Interface] - 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_ straddress - IP address of SSH enabled interface on the device.
- ssh_
ip_ strfqdn - 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.
- diverse
Device StringName - 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.
- license
Status String - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - redundancy
Type String - Device redundancy type applicable for HA devices, either primary or secondary.
- redundant
Id String - Unique identifier for a redundant device applicable for HA devices.
- region String
- Device location region.
- ssh
Ip StringAddress - IP address of SSH enabled interface on the device.
- ssh
Ip StringFqdn - FQDN of SSH enabled interface on the device.
- status String
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - uuid String
- Device unique identifier.
- zone
Code 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,
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,
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)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- Account
Number string - Billing account number for a device.
- Acl
Template stringId - 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 bool
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - Cloud
Init stringFile Id - Identifier of a cloud init file that will be applied on the device.
- Cluster
Details DeviceCluster Details - An object that has the cluster details. See Cluster Details below for more details.
- Connectivity string
- 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 stringId - 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 stringName - 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.
- Hostname string
- Device hostname prefix.
- Ibx string
- Device location Equinix Business Exchange name.
- Interface
Count int - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- Interfaces
List<Device
Interface> - List of device interfaces. See Interface Attribute below for more details.
- License
File string - 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 stringId - Identifier of a license file that will be applied on the device.
- License
Status string - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - License
Token string - License Token applicable for some device types in BYOL licensing mode.
- Metro
Code string - Device location metro code.
- Mgmt
Acl stringTemplate Uuid - 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.
- Order
Reference string - Name/number used to identify device order on the invoice.
- Package
Code string - Device software package code.
- Project
Id 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.
- Purchase
Order stringNumber - Purchase order number associated with a device order.
- Redundancy
Type string - Device redundancy type applicable for HA devices, either primary or secondary.
- Redundant
Id string - Unique identifier for a redundant device applicable for HA devices.
- Region string
- Device location region.
- Secondary
Device DeviceSecondary Device - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- Self
Managed bool - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - Ssh
Ip stringAddress - IP address of SSH enabled interface on the device.
- Ssh
Ip stringFqdn - FQDN of SSH enabled interface on the device.
- Ssh
Key DeviceSsh Key - Definition of SSH key that will be provisioned on a device
- Status string
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - Term
Length int - Device term length.
- Throughput int
- Device license throughput.
- Throughput
Unit string | Pulumi.Equinix. Network Edge. Throughput Unit - License throughput unit. One of
Mbps
orGbps
. - Type
Code string - Device type code.
- Uuid string
- Device unique identifier.
- Vendor
Configuration Dictionary<string, string> - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 string
- Device software software version.
- Wan
Interface stringId - device interface id picked for WAN
- Zone
Code string - Device location zone code.
- Account
Number string - Billing account number for a device.
- Acl
Template stringId - 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 bool
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - Cloud
Init stringFile Id - Identifier of a cloud init file that will be applied on the device.
- Cluster
Details DeviceCluster Details Args - An object that has the cluster details. See Cluster Details below for more details.
- Connectivity string
- 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 stringId - 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 stringName - 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.
- Hostname string
- Device hostname prefix.
- Ibx string
- Device location Equinix Business Exchange name.
- Interface
Count int - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- Interfaces
[]Device
Interface Args - List of device interfaces. See Interface Attribute below for more details.
- License
File string - 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 stringId - Identifier of a license file that will be applied on the device.
- License
Status string - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - License
Token string - License Token applicable for some device types in BYOL licensing mode.
- Metro
Code string - Device location metro code.
- Mgmt
Acl stringTemplate Uuid - 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.
- Order
Reference string - Name/number used to identify device order on the invoice.
- Package
Code string - Device software package code.
- Project
Id 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.
- Purchase
Order stringNumber - Purchase order number associated with a device order.
- Redundancy
Type string - Device redundancy type applicable for HA devices, either primary or secondary.
- Redundant
Id string - Unique identifier for a redundant device applicable for HA devices.
- Region string
- Device location region.
- Secondary
Device DeviceSecondary Device Args - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- Self
Managed bool - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - Ssh
Ip stringAddress - IP address of SSH enabled interface on the device.
- Ssh
Ip stringFqdn - FQDN of SSH enabled interface on the device.
- Ssh
Key DeviceSsh Key Args - Definition of SSH key that will be provisioned on a device
- Status string
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - Term
Length int - Device term length.
- Throughput int
- Device license throughput.
- Throughput
Unit string | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - Type
Code string - Device type code.
- Uuid string
- Device unique identifier.
- Vendor
Configuration map[string]string - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 string
- Device software software version.
- Wan
Interface stringId - device interface id picked for WAN
- Zone
Code string - Device location zone code.
- account
Number String - Billing account number for a device.
- acl
Template StringId - Identifier of a WAN interface ACL template that will be applied on the device.
- additional
Bandwidth 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 Boolean
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud
Init StringFile Id - Identifier of a cloud init file that will be applied on the device.
- cluster
Details DeviceCluster Details - An object that has the cluster details. See Cluster Details below for more details.
- connectivity String
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- core
Count 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.)
- diverse
Device StringId - 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 StringName - 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.
- hostname String
- Device hostname prefix.
- ibx String
- Device location Equinix Business Exchange name.
- interface
Count Integer - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- interfaces
List<Device
Interface> - List of device interfaces. See Interface Attribute below for more details.
- license
File String - 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 StringId - Identifier of a license file that will be applied on the device.
- license
Status String - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - license
Token String - License Token applicable for some device types in BYOL licensing mode.
- metro
Code String - Device location metro code.
- mgmt
Acl StringTemplate Uuid - 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.
- order
Reference String - Name/number used to identify device order on the invoice.
- package
Code String - Device software package code.
- project
Id 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.
- purchase
Order StringNumber - Purchase order number associated with a device order.
- redundancy
Type String - Device redundancy type applicable for HA devices, either primary or secondary.
- redundant
Id String - Unique identifier for a redundant device applicable for HA devices.
- region String
- Device location region.
- secondary
Device DeviceSecondary Device - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self
Managed Boolean - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh
Ip StringAddress - IP address of SSH enabled interface on the device.
- ssh
Ip StringFqdn - FQDN of SSH enabled interface on the device.
- ssh
Key DeviceSsh Key - Definition of SSH key that will be provisioned on a device
- status String
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - term
Length Integer - Device term length.
- throughput Integer
- Device license throughput.
- throughput
Unit String | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - type
Code String - Device type code.
- uuid String
- Device unique identifier.
- vendor
Configuration Map<String,String> - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 String
- Device software software version.
- wan
Interface StringId - device interface id picked for WAN
- zone
Code String - Device location zone code.
- account
Number string - Billing account number for a device.
- acl
Template stringId - Identifier of a WAN interface ACL template that will be applied on the device.
- additional
Bandwidth 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 boolean
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud
Init stringFile Id - Identifier of a cloud init file that will be applied on the device.
- cluster
Details DeviceCluster Details - An object that has the cluster details. See Cluster Details below for more details.
- connectivity string
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- core
Count 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.)
- diverse
Device stringId - 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 stringName - 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.
- hostname string
- Device hostname prefix.
- ibx string
- Device location Equinix Business Exchange name.
- interface
Count number - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- interfaces
Device
Interface[] - List of device interfaces. See Interface Attribute below for more details.
- license
File string - 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 stringId - Identifier of a license file that will be applied on the device.
- license
Status string - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - license
Token string - License Token applicable for some device types in BYOL licensing mode.
- metro
Code string - Device location metro code.
- mgmt
Acl stringTemplate Uuid - 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.
- order
Reference string - Name/number used to identify device order on the invoice.
- package
Code string - Device software package code.
- project
Id 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.
- purchase
Order stringNumber - Purchase order number associated with a device order.
- redundancy
Type string - Device redundancy type applicable for HA devices, either primary or secondary.
- redundant
Id string - Unique identifier for a redundant device applicable for HA devices.
- region string
- Device location region.
- secondary
Device DeviceSecondary Device - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self
Managed boolean - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh
Ip stringAddress - IP address of SSH enabled interface on the device.
- ssh
Ip stringFqdn - FQDN of SSH enabled interface on the device.
- ssh
Key DeviceSsh Key - Definition of SSH key that will be provisioned on a device
- status string
- interface status. One of
AVAILABLE
,RESERVED
,ASSIGNED
. - term
Length number - Device term length.
- throughput number
- Device license throughput.
- throughput
Unit string | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - type
Code string - Device type code.
- uuid string
- Device unique identifier.
- vendor
Configuration {[key: string]: string} - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 string
- Device software software version.
- wan
Interface stringId - device interface id picked for WAN
- zone
Code string - Device location zone code.
- account_
number str - Billing account number for a device.
- acl_
template_ strid - 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 bool
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud_
init_ strfile_ id - Identifier of a cloud init file that will be applied on the device.
- cluster_
details DeviceCluster Details Args - An object that has the cluster details. See Cluster Details below for more details.
- connectivity 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_ strid - 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_ strname - 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.
- hostname str
- Device hostname prefix.
- ibx str
- Device location Equinix Business Exchange name.
- interface_
count int - Number of network interfaces on a device. If not specified, default number for a given device type will be used.
- interfaces
Sequence[Device
Interface Args] - List of device interfaces. See Interface Attribute below for more details.
- license_
file 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_ strid - 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 str - License Token applicable for some device types in BYOL licensing mode.
- metro_
code str - Device location metro code.
- mgmt_
acl_ strtemplate_ uuid - 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 str - Name/number used to identify device order on the invoice.
- package_
code str - Device software package code.
- 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.
- purchase_
order_ strnumber - 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 DeviceSecondary Device Args - Definition of secondary device for redundant device configurations. See Secondary Device below for more details.
- self_
managed bool - Boolean value that determines device management mode, i.e.,
self-managed
orEquinix-managed
(default). - ssh_
ip_ straddress - IP address of SSH enabled interface on the device.
- ssh_
ip_ strfqdn - FQDN of SSH enabled interface on the device.
- ssh_
key DeviceSsh Key Args - 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 int
- Device license throughput.
- throughput_
unit str | ThroughputUnit - License throughput unit. One of
Mbps
orGbps
. - type_
code str - Device type code.
- uuid str
- Device unique identifier.
- vendor_
configuration Mapping[str, str] - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, privateAddress, privateCidrMask, privateGateway, licenseKey, licenseId, panoramaAuthKey, panoramaIpAddress)
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 str
- Device software software version.
- wan_
interface_ strid - device interface id picked for WAN
- zone_
code str - Device location zone code.
- account
Number String - Billing account number for a device.
- acl
Template StringId - Identifier of a WAN interface ACL template that will be applied on the device.
- additional
Bandwidth 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 Boolean
- Boolean value that determines device licensing mode, i.e.,
bring your own license
orsubscription
(default). - cloud
Init StringFile Id - Identifier of a cloud init file that will be applied on the device.
- cluster
Details Property Map - An object that has the cluster details. See Cluster Details below for more details.
- connectivity String
- Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
- core
Count 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.)
- diverse
Device StringId - 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 StringName - 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.
- hostname String
- Device hostname prefix.
- ibx String
- Device location Equinix Business Exchange name.
- interface
Count 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.
- license
File String - 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 StringId - Identifier of a license file that will be applied on the device.
- license
Status String - Device license registration status. Possible values are
APPLYING_LICENSE
,REGISTERED
,APPLIED
,WAITING_FOR_CLUSTER_SETUP
,REGISTRATION_FAILED
. - license
Token String - License Token applicable for some device types in BYOL licensing mode.
- metro
Code String - Device location metro code.
- mgmt
Acl StringTemplate Uuid - Identifier of an MGMT interface ACL template that will be applied on the device.
- name String
- Device name.