equinix.metal.Interconnection
Explore with Pulumi AI
Use this resource to request the creation an Interconnection asset to connect with other parties using Equinix Fabric - software-defined interconnections.
Example Usage
example fabric billed metal from fabric port
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
return await Deployment.RunAsync(() => 
{
    var aSide = Equinix.Fabric.GetPorts.Invoke(new()
    {
        Filter = new Equinix.Fabric.Inputs.GetPortsFilterInputArgs
        {
            Name = "<name_of_port||port_prefix>",
        },
    });
    var example = new Equinix.Metal.Vlan("example", new()
    {
        ProjectId = "<metal_project_id>",
        Metro = "FR",
    });
    var exampleInterconnection = new Equinix.Metal.Interconnection("exampleInterconnection", new()
    {
        Name = "tf-metal-from-port",
        ProjectId = "<metal_project_id>",
        Type = "shared",
        Redundancy = "primary",
        Metro = "FR",
        Speed = "200Mbps",
        ServiceTokenType = "z_side",
        ContactEmail = "username@example.com",
        Vlans = new[]
        {
            example.Vxlan,
        },
    });
    var exampleConnection = new Equinix.Fabric.Connection("exampleConnection", new()
    {
        Name = "tf-metal-from-port",
        Type = Equinix.Fabric.ConnectionType.EVPL,
        Bandwidth = 200,
        Notifications = new[]
        {
            new Equinix.Fabric.Inputs.ConnectionNotificationArgs
            {
                Type = Equinix.Fabric.NotificationsType.All,
                Emails = new[]
                {
                    "username@example.com",
                },
            },
        },
        Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs
        {
            PurchaseOrderNumber = "1-323292",
        },
        Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs
        {
            ProjectId = "<fabric_project_id>",
        },
        ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs
        {
            AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs
            {
                Type = Equinix.Fabric.AccessPointType.Colo,
                Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs
                {
                    Uuid = aSide.Apply(getPortsResult => getPortsResult.Data[0]?.Uuid),
                },
                LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs
                {
                    Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,
                    VlanTag = 1234,
                },
            },
        },
        ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs
        {
            ServiceToken = new Equinix.Fabric.Inputs.ConnectionZSideServiceTokenArgs
            {
                Uuid = exampleInterconnection.ServiceTokens.Apply(serviceTokens => serviceTokens[0].Id),
            },
        },
    });
});
package main
import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		aSide := fabric.GetPortsOutput(ctx, fabric.GetPortsOutputArgs{
			Filter: &fabric.GetPortsFilterArgs{
				Name: pulumi.String("<name_of_port||port_prefix>"),
			},
		}, nil)
		example, err := metal.NewVlan(ctx, "example", &metal.VlanArgs{
			ProjectId: pulumi.String("<metal_project_id>"),
			Metro:     pulumi.String("FR"),
		})
		if err != nil {
			return err
		}
		exampleInterconnection, err := metal.NewInterconnection(ctx, "exampleInterconnection", &metal.InterconnectionArgs{
			Name:             pulumi.String("tf-metal-from-port"),
			ProjectId:        pulumi.String("<metal_project_id>"),
			Type:             pulumi.String("shared"),
			Redundancy:       pulumi.String("primary"),
			Metro:            pulumi.String("FR"),
			Speed:            pulumi.String("200Mbps"),
			ServiceTokenType: pulumi.String("z_side"),
			ContactEmail:     pulumi.String("username@example.com"),
			Vlans: pulumi.IntArray{
				example.Vxlan,
			},
		})
		if err != nil {
			return err
		}
		_, err = fabric.NewConnection(ctx, "exampleConnection", &fabric.ConnectionArgs{
			Name:      pulumi.String("tf-metal-from-port"),
			Type:      pulumi.String(fabric.ConnectionTypeEVPL),
			Bandwidth: pulumi.Int(200),
			Notifications: fabric.ConnectionNotificationArray{
				&fabric.ConnectionNotificationArgs{
					Type: pulumi.String(fabric.NotificationsTypeAll),
					Emails: pulumi.StringArray{
						pulumi.String("username@example.com"),
					},
				},
			},
			Order: &fabric.ConnectionOrderArgs{
				PurchaseOrderNumber: pulumi.String("1-323292"),
			},
			Project: &fabric.ConnectionProjectArgs{
				ProjectId: pulumi.String("<fabric_project_id>"),
			},
			ASide: &fabric.ConnectionASideArgs{
				AccessPoint: &fabric.ConnectionASideAccessPointArgs{
					Type: pulumi.String(fabric.AccessPointTypeColo),
					Port: &fabric.ConnectionASideAccessPointPortArgs{
						Uuid: aSide.ApplyT(func(aSide fabric.GetPortsResult) (*string, error) {
							return &aSide.Data[0].Uuid, nil
						}).(pulumi.StringPtrOutput),
					},
					LinkProtocol: &fabric.ConnectionASideAccessPointLinkProtocolArgs{
						Type:    pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),
						VlanTag: pulumi.Int(1234),
					},
				},
			},
			ZSide: &fabric.ConnectionZSideArgs{
				ServiceToken: &fabric.ConnectionZSideServiceTokenArgs{
					Uuid: exampleInterconnection.ServiceTokens.ApplyT(func(serviceTokens []metal.InterconnectionServiceToken) (*string, error) {
						return &serviceTokens[0].Id, nil
					}).(pulumi.StringPtrOutput),
				},
			},
		})
		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.fabric.FabricFunctions;
import com.pulumi.equinix.fabric.inputs.GetPortsArgs;
import com.pulumi.equinix.fabric.inputs.GetPortsFilterArgs;
import com.pulumi.equinix.metal.Vlan;
import com.pulumi.equinix.metal.VlanArgs;
import com.pulumi.equinix.metal.Interconnection;
import com.pulumi.equinix.metal.InterconnectionArgs;
import com.pulumi.equinix.fabric.Connection;
import com.pulumi.equinix.fabric.ConnectionArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideServiceTokenArgs;
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 aSide = FabricFunctions.getPorts(GetPortsArgs.builder()
            .filter(GetPortsFilterArgs.builder()
                .name("<name_of_port||port_prefix>")
                .build())
            .build());
        var example = new Vlan("example", VlanArgs.builder()
            .projectId("<metal_project_id>")
            .metro("FR")
            .build());
        var exampleInterconnection = new Interconnection("exampleInterconnection", InterconnectionArgs.builder()
            .name("tf-metal-from-port")
            .projectId("<metal_project_id>")
            .type("shared")
            .redundancy("primary")
            .metro("FR")
            .speed("200Mbps")
            .serviceTokenType("z_side")
            .contactEmail("username@example.com")
            .vlans(example.vxlan())
            .build());
        var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
            .name("tf-metal-from-port")
            .type("EVPL_VC")
            .bandwidth(200)
            .notifications(ConnectionNotificationArgs.builder()
                .type("ALL")
                .emails("username@example.com")
                .build())
            .order(ConnectionOrderArgs.builder()
                .purchaseOrderNumber("1-323292")
                .build())
            .project(ConnectionProjectArgs.builder()
                .projectId("<fabric_project_id>")
                .build())
            .aSide(ConnectionASideArgs.builder()
                .accessPoint(ConnectionASideAccessPointArgs.builder()
                    .type("COLO")
                    .port(ConnectionASideAccessPointPortArgs.builder()
                        .uuid(aSide.applyValue(_aSide -> _aSide.data()[0].uuid()))
                        .build())
                    .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()
                        .type("DOT1Q")
                        .vlanTag(1234)
                        .build())
                    .build())
                .build())
            .zSide(ConnectionZSideArgs.builder()
                .serviceToken(ConnectionZSideServiceTokenArgs.builder()
                    .uuid(exampleInterconnection.serviceTokens().applyValue(_serviceTokens -> _serviceTokens[0].id()))
                    .build())
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";
const aSide = equinix.fabric.getPortsOutput({
    filter: {
        name: "<name_of_port||port_prefix>",
    },
});
const example = new equinix.metal.Vlan("example", {
    projectId: "<metal_project_id>",
    metro: "FR",
});
const exampleInterconnection = new equinix.metal.Interconnection("exampleInterconnection", {
    name: "tf-metal-from-port",
    projectId: "<metal_project_id>",
    type: "shared",
    redundancy: "primary",
    metro: "FR",
    speed: "200Mbps",
    serviceTokenType: "z_side",
    contactEmail: "username@example.com",
    vlans: [example.vxlan],
});
const exampleConnection = new equinix.fabric.Connection("exampleConnection", {
    name: "tf-metal-from-port",
    type: equinix.fabric.ConnectionType.EVPL,
    bandwidth: 200,
    notifications: [{
        type: equinix.fabric.NotificationsType.All,
        emails: ["username@example.com"],
    }],
    order: {
        purchaseOrderNumber: "1-323292",
    },
    project: {
        projectId: "<fabric_project_id>",
    },
    aSide: {
        accessPoint: {
            type: equinix.fabric.AccessPointType.Colo,
            port: {
                uuid: aSide.apply(aSide => aSide.data?.[0]?.uuid),
            },
            linkProtocol: {
                type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,
                vlanTag: 1234,
            },
        },
    },
    zSide: {
        serviceToken: {
            uuid: exampleInterconnection.serviceTokens.apply(serviceTokens => serviceTokens[0].id),
        },
    },
});
import pulumi
import pulumi_equinix as equinix
a_side = equinix.fabric.get_ports_output(filter={
    "name": "<name_of_port||port_prefix>",
})
example = equinix.metal.Vlan("example",
    project_id="<metal_project_id>",
    metro="FR")
example_interconnection = equinix.metal.Interconnection("exampleInterconnection",
    name="tf-metal-from-port",
    project_id="<metal_project_id>",
    type="shared",
    redundancy="primary",
    metro="FR",
    speed="200Mbps",
    service_token_type="z_side",
    contact_email="username@example.com",
    vlans=[example.vxlan])
example_connection = equinix.fabric.Connection("exampleConnection",
    name="tf-metal-from-port",
    type=equinix.fabric.ConnectionType.EVPL,
    bandwidth=200,
    notifications=[{
        "type": equinix.fabric.NotificationsType.ALL,
        "emails": ["username@example.com"],
    }],
    order={
        "purchase_order_number": "1-323292",
    },
    project={
        "project_id": "<fabric_project_id>",
    },
    a_side={
        "access_point": {
            "type": equinix.fabric.AccessPointType.COLO,
            "port": {
                "uuid": a_side.data[0].uuid,
            },
            "link_protocol": {
                "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q,
                "vlan_tag": 1234,
            },
        },
    },
    z_side={
        "service_token": {
            "uuid": example_interconnection.service_tokens[0].id,
        },
    })
resources:
  example:
    type: equinix:metal:Vlan
    properties:
      projectId: <metal_project_id>
      metro: FR
  exampleInterconnection:
    type: equinix:metal:Interconnection
    name: example
    properties:
      name: tf-metal-from-port
      projectId: <metal_project_id>
      type: shared
      redundancy: primary
      metro: FR
      speed: 200Mbps
      serviceTokenType: z_side
      contactEmail: username@example.com
      vlans:
        - ${example.vxlan}
  exampleConnection:
    type: equinix:fabric:Connection
    name: example
    properties:
      name: tf-metal-from-port
      type: EVPL_VC
      bandwidth: '200'
      notifications:
        - type: ALL
          emails:
            - username@example.com
      order:
        purchaseOrderNumber: 1-323292
      project:
        projectId: <fabric_project_id>
      aSide:
        accessPoint:
          type: COLO
          port:
            uuid: ${aSide.data[0].uuid}
          linkProtocol:
            type: DOT1Q
            vlanTag: 1234
      zSide:
        serviceToken:
          uuid: ${exampleInterconnection.serviceTokens[0].id}
variables:
  aSide:
    fn::invoke:
      function: equinix:fabric:getPorts
      arguments:
        filter:
          name: <name_of_port||port_prefix>
example fabric billed metal from fcr
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
return await Deployment.RunAsync(() => 
{
    var example1 = new Equinix.Metal.Vlan("example1", new()
    {
        ProjectId = "<metal_project_id>",
        Metro = "SV",
    });
    var example = new Equinix.Metal.Interconnection("example", new()
    {
        Name = "tf-metal-from-fcr",
        ProjectId = "<metal_project_id>",
        Metro = "SV",
        Redundancy = "primary",
        Type = "shared_port_vlan",
        ContactEmail = "username@example.com",
        Speed = "200Mbps",
        Vlans = new[]
        {
            example1.Vxlan,
        },
    });
    var exampleConnection = new Equinix.Fabric.Connection("exampleConnection", new()
    {
        Name = "tf-metal-from-fcr",
        Type = "IP_VC",
        Bandwidth = 200,
        Notifications = new[]
        {
            new Equinix.Fabric.Inputs.ConnectionNotificationArgs
            {
                Type = Equinix.Fabric.NotificationsType.All,
                Emails = new[]
                {
                    "username@example.com",
                },
            },
        },
        Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs
        {
            ProjectId = "<fabric_project_id>",
        },
        ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs
        {
            AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs
            {
                Type = "CLOUD_ROUTER",
                Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs
                {
                    Uuid = exampleEquinixFabricCloudRouter.Id,
                },
            },
        },
        ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs
        {
            AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs
            {
                Type = "METAL_NETWORK",
                AuthenticationKey = example.AuthorizationCode,
            },
        },
    });
});
package main
import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example1, err := metal.NewVlan(ctx, "example1", &metal.VlanArgs{
			ProjectId: pulumi.String("<metal_project_id>"),
			Metro:     pulumi.String("SV"),
		})
		if err != nil {
			return err
		}
		example, err := metal.NewInterconnection(ctx, "example", &metal.InterconnectionArgs{
			Name:         pulumi.String("tf-metal-from-fcr"),
			ProjectId:    pulumi.String("<metal_project_id>"),
			Metro:        pulumi.String("SV"),
			Redundancy:   pulumi.String("primary"),
			Type:         pulumi.String("shared_port_vlan"),
			ContactEmail: pulumi.String("username@example.com"),
			Speed:        pulumi.String("200Mbps"),
			Vlans: pulumi.IntArray{
				example1.Vxlan,
			},
		})
		if err != nil {
			return err
		}
		_, err = fabric.NewConnection(ctx, "exampleConnection", &fabric.ConnectionArgs{
			Name:      pulumi.String("tf-metal-from-fcr"),
			Type:      pulumi.String("IP_VC"),
			Bandwidth: pulumi.Int(200),
			Notifications: fabric.ConnectionNotificationArray{
				&fabric.ConnectionNotificationArgs{
					Type: pulumi.String(fabric.NotificationsTypeAll),
					Emails: pulumi.StringArray{
						pulumi.String("username@example.com"),
					},
				},
			},
			Project: &fabric.ConnectionProjectArgs{
				ProjectId: pulumi.String("<fabric_project_id>"),
			},
			ASide: &fabric.ConnectionASideArgs{
				AccessPoint: &fabric.ConnectionASideAccessPointArgs{
					Type: pulumi.String("CLOUD_ROUTER"),
					Router: &fabric.ConnectionASideAccessPointRouterArgs{
						Uuid: pulumi.Any(exampleEquinixFabricCloudRouter.Id),
					},
				},
			},
			ZSide: &fabric.ConnectionZSideArgs{
				AccessPoint: &fabric.ConnectionZSideAccessPointArgs{
					Type:              pulumi.String("METAL_NETWORK"),
					AuthenticationKey: example.AuthorizationCode,
				},
			},
		})
		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.metal.Vlan;
import com.pulumi.equinix.metal.VlanArgs;
import com.pulumi.equinix.metal.Interconnection;
import com.pulumi.equinix.metal.InterconnectionArgs;
import com.pulumi.equinix.fabric.Connection;
import com.pulumi.equinix.fabric.ConnectionArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;
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) {
        var example1 = new Vlan("example1", VlanArgs.builder()
            .projectId("<metal_project_id>")
            .metro("SV")
            .build());
        var example = new Interconnection("example", InterconnectionArgs.builder()
            .name("tf-metal-from-fcr")
            .projectId("<metal_project_id>")
            .metro("SV")
            .redundancy("primary")
            .type("shared_port_vlan")
            .contactEmail("username@example.com")
            .speed("200Mbps")
            .vlans(example1.vxlan())
            .build());
        var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
            .name("tf-metal-from-fcr")
            .type("IP_VC")
            .bandwidth(200)
            .notifications(ConnectionNotificationArgs.builder()
                .type("ALL")
                .emails("username@example.com")
                .build())
            .project(ConnectionProjectArgs.builder()
                .projectId("<fabric_project_id>")
                .build())
            .aSide(ConnectionASideArgs.builder()
                .accessPoint(ConnectionASideAccessPointArgs.builder()
                    .type("CLOUD_ROUTER")
                    .router(ConnectionASideAccessPointRouterArgs.builder()
                        .uuid(exampleEquinixFabricCloudRouter.id())
                        .build())
                    .build())
                .build())
            .zSide(ConnectionZSideArgs.builder()
                .accessPoint(ConnectionZSideAccessPointArgs.builder()
                    .type("METAL_NETWORK")
                    .authenticationKey(example.authorizationCode())
                    .build())
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
const example1 = new equinix.metal.Vlan("example1", {
    projectId: "<metal_project_id>",
    metro: "SV",
});
const example = new equinix.metal.Interconnection("example", {
    name: "tf-metal-from-fcr",
    projectId: "<metal_project_id>",
    metro: "SV",
    redundancy: "primary",
    type: "shared_port_vlan",
    contactEmail: "username@example.com",
    speed: "200Mbps",
    vlans: [example1.vxlan],
});
const exampleConnection = new equinix.fabric.Connection("exampleConnection", {
    name: "tf-metal-from-fcr",
    type: "IP_VC",
    bandwidth: 200,
    notifications: [{
        type: equinix.fabric.NotificationsType.All,
        emails: ["username@example.com"],
    }],
    project: {
        projectId: "<fabric_project_id>",
    },
    aSide: {
        accessPoint: {
            type: "CLOUD_ROUTER",
            router: {
                uuid: exampleEquinixFabricCloudRouter.id,
            },
        },
    },
    zSide: {
        accessPoint: {
            type: "METAL_NETWORK",
            authenticationKey: example.authorizationCode,
        },
    },
});
import pulumi
import pulumi_equinix as equinix
example1 = equinix.metal.Vlan("example1",
    project_id="<metal_project_id>",
    metro="SV")
example = equinix.metal.Interconnection("example",
    name="tf-metal-from-fcr",
    project_id="<metal_project_id>",
    metro="SV",
    redundancy="primary",
    type="shared_port_vlan",
    contact_email="username@example.com",
    speed="200Mbps",
    vlans=[example1.vxlan])
example_connection = equinix.fabric.Connection("exampleConnection",
    name="tf-metal-from-fcr",
    type="IP_VC",
    bandwidth=200,
    notifications=[{
        "type": equinix.fabric.NotificationsType.ALL,
        "emails": ["username@example.com"],
    }],
    project={
        "project_id": "<fabric_project_id>",
    },
    a_side={
        "access_point": {
            "type": "CLOUD_ROUTER",
            "router": {
                "uuid": example_equinix_fabric_cloud_router["id"],
            },
        },
    },
    z_side={
        "access_point": {
            "type": "METAL_NETWORK",
            "authentication_key": example.authorization_code,
        },
    })
resources:
  example1:
    type: equinix:metal:Vlan
    properties:
      projectId: <metal_project_id>
      metro: SV
  example:
    type: equinix:metal:Interconnection
    properties:
      name: tf-metal-from-fcr
      projectId: <metal_project_id>
      metro: SV
      redundancy: primary
      type: shared_port_vlan
      contactEmail: username@example.com
      speed: 200Mbps
      vlans:
        - ${example1.vxlan}
  exampleConnection:
    type: equinix:fabric:Connection
    name: example
    properties:
      name: tf-metal-from-fcr
      type: IP_VC
      bandwidth: '200'
      notifications:
        - type: ALL
          emails:
            - username@example.com
      project:
        projectId: <fabric_project_id>
      aSide:
        accessPoint:
          type: CLOUD_ROUTER
          router:
            uuid: ${exampleEquinixFabricCloudRouter.id}
      zSide:
        accessPoint:
          type: METAL_NETWORK
          authenticationKey: ${example.authorizationCode}
example fabric billed metal from network edge
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
return await Deployment.RunAsync(() => 
{
    var example = new Equinix.Metal.Vrf("example", new()
    {
        Name = "tf-metal-from-ne",
        Metro = "FR",
        LocalAsn = 65001,
        IpRanges = new[]
        {
            "10.99.1.0/24",
        },
        ProjectId = test.Id,
    });
    var exampleInterconnection = new Equinix.Metal.Interconnection("exampleInterconnection", new()
    {
        Name = "tf-metal-from-ne",
        ProjectId = "<metal_project_id>",
        Type = "shared",
        Redundancy = "primary",
        Metro = "FR",
        Speed = "200Mbps",
        ServiceTokenType = "z_side",
        ContactEmail = "username@example.com",
        Vrfs = new[]
        {
            example.Vxlan,
        },
    });
    var exampleConnection = new Equinix.Fabric.Connection("exampleConnection", new()
    {
        Name = "tf-metal-from-ne",
        Type = Equinix.Fabric.ConnectionType.EVPL,
        Bandwidth = 200,
        Notifications = new[]
        {
            new Equinix.Fabric.Inputs.ConnectionNotificationArgs
            {
                Type = Equinix.Fabric.NotificationsType.All,
                Emails = new[]
                {
                    "username@example.com",
                },
            },
        },
        Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs
        {
            PurchaseOrderNumber = "1-323292",
        },
        Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs
        {
            ProjectId = "<fabric_project_id>",
        },
        ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs
        {
            AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs
            {
                Type = Equinix.Fabric.AccessPointType.VD,
                VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs
                {
                    Type = "EDGE",
                    Uuid = exampleEquinixNetworkDevice.Id,
                },
            },
        },
        ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs
        {
            ServiceToken = new Equinix.Fabric.Inputs.ConnectionZSideServiceTokenArgs
            {
                Uuid = exampleInterconnection.ServiceTokens.Apply(serviceTokens => serviceTokens[0].Id),
            },
        },
    });
});
package main
import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := metal.NewVrf(ctx, "example", &metal.VrfArgs{
			Name:     pulumi.String("tf-metal-from-ne"),
			Metro:    pulumi.String("FR"),
			LocalAsn: pulumi.Int(65001),
			IpRanges: pulumi.StringArray{
				pulumi.String("10.99.1.0/24"),
			},
			ProjectId: pulumi.Any(test.Id),
		})
		if err != nil {
			return err
		}
		exampleInterconnection, err := metal.NewInterconnection(ctx, "exampleInterconnection", &metal.InterconnectionArgs{
			Name:             pulumi.String("tf-metal-from-ne"),
			ProjectId:        pulumi.String("<metal_project_id>"),
			Type:             pulumi.String("shared"),
			Redundancy:       pulumi.String("primary"),
			Metro:            pulumi.String("FR"),
			Speed:            pulumi.String("200Mbps"),
			ServiceTokenType: pulumi.String("z_side"),
			ContactEmail:     pulumi.String("username@example.com"),
			Vrfs: pulumi.StringArray{
				example.Vxlan,
			},
		})
		if err != nil {
			return err
		}
		_, err = fabric.NewConnection(ctx, "exampleConnection", &fabric.ConnectionArgs{
			Name:      pulumi.String("tf-metal-from-ne"),
			Type:      pulumi.String(fabric.ConnectionTypeEVPL),
			Bandwidth: pulumi.Int(200),
			Notifications: fabric.ConnectionNotificationArray{
				&fabric.ConnectionNotificationArgs{
					Type: pulumi.String(fabric.NotificationsTypeAll),
					Emails: pulumi.StringArray{
						pulumi.String("username@example.com"),
					},
				},
			},
			Order: &fabric.ConnectionOrderArgs{
				PurchaseOrderNumber: pulumi.String("1-323292"),
			},
			Project: &fabric.ConnectionProjectArgs{
				ProjectId: pulumi.String("<fabric_project_id>"),
			},
			ASide: &fabric.ConnectionASideArgs{
				AccessPoint: &fabric.ConnectionASideAccessPointArgs{
					Type: pulumi.String(fabric.AccessPointTypeVD),
					VirtualDevice: &fabric.ConnectionASideAccessPointVirtualDeviceArgs{
						Type: pulumi.String("EDGE"),
						Uuid: pulumi.Any(exampleEquinixNetworkDevice.Id),
					},
				},
			},
			ZSide: &fabric.ConnectionZSideArgs{
				ServiceToken: &fabric.ConnectionZSideServiceTokenArgs{
					Uuid: exampleInterconnection.ServiceTokens.ApplyT(func(serviceTokens []metal.InterconnectionServiceToken) (*string, error) {
						return &serviceTokens[0].Id, nil
					}).(pulumi.StringPtrOutput),
				},
			},
		})
		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.metal.Vrf;
import com.pulumi.equinix.metal.VrfArgs;
import com.pulumi.equinix.metal.Interconnection;
import com.pulumi.equinix.metal.InterconnectionArgs;
import com.pulumi.equinix.fabric.Connection;
import com.pulumi.equinix.fabric.ConnectionArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideServiceTokenArgs;
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) {
        var example = new Vrf("example", VrfArgs.builder()
            .name("tf-metal-from-ne")
            .metro("FR")
            .localAsn(65001)
            .ipRanges("10.99.1.0/24")
            .projectId(test.id())
            .build());
        var exampleInterconnection = new Interconnection("exampleInterconnection", InterconnectionArgs.builder()
            .name("tf-metal-from-ne")
            .projectId("<metal_project_id>")
            .type("shared")
            .redundancy("primary")
            .metro("FR")
            .speed("200Mbps")
            .serviceTokenType("z_side")
            .contactEmail("username@example.com")
            .vrfs(example.vxlan())
            .build());
        var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
            .name("tf-metal-from-ne")
            .type("EVPL_VC")
            .bandwidth(200)
            .notifications(ConnectionNotificationArgs.builder()
                .type("ALL")
                .emails("username@example.com")
                .build())
            .order(ConnectionOrderArgs.builder()
                .purchaseOrderNumber("1-323292")
                .build())
            .project(ConnectionProjectArgs.builder()
                .projectId("<fabric_project_id>")
                .build())
            .aSide(ConnectionASideArgs.builder()
                .accessPoint(ConnectionASideAccessPointArgs.builder()
                    .type("VD")
                    .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()
                        .type("EDGE")
                        .uuid(exampleEquinixNetworkDevice.id())
                        .build())
                    .build())
                .build())
            .zSide(ConnectionZSideArgs.builder()
                .serviceToken(ConnectionZSideServiceTokenArgs.builder()
                    .uuid(exampleInterconnection.serviceTokens().applyValue(_serviceTokens -> _serviceTokens[0].id()))
                    .build())
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
const example = new equinix.metal.Vrf("example", {
    name: "tf-metal-from-ne",
    metro: "FR",
    localAsn: 65001,
    ipRanges: ["10.99.1.0/24"],
    projectId: test.id,
});
const exampleInterconnection = new equinix.metal.Interconnection("exampleInterconnection", {
    name: "tf-metal-from-ne",
    projectId: "<metal_project_id>",
    type: "shared",
    redundancy: "primary",
    metro: "FR",
    speed: "200Mbps",
    serviceTokenType: "z_side",
    contactEmail: "username@example.com",
    vrfs: [example.vxlan],
});
const exampleConnection = new equinix.fabric.Connection("exampleConnection", {
    name: "tf-metal-from-ne",
    type: equinix.fabric.ConnectionType.EVPL,
    bandwidth: 200,
    notifications: [{
        type: equinix.fabric.NotificationsType.All,
        emails: ["username@example.com"],
    }],
    order: {
        purchaseOrderNumber: "1-323292",
    },
    project: {
        projectId: "<fabric_project_id>",
    },
    aSide: {
        accessPoint: {
            type: equinix.fabric.AccessPointType.VD,
            virtualDevice: {
                type: "EDGE",
                uuid: exampleEquinixNetworkDevice.id,
            },
        },
    },
    zSide: {
        serviceToken: {
            uuid: exampleInterconnection.serviceTokens.apply(serviceTokens => serviceTokens[0].id),
        },
    },
});
import pulumi
import pulumi_equinix as equinix
example = equinix.metal.Vrf("example",
    name="tf-metal-from-ne",
    metro="FR",
    local_asn=65001,
    ip_ranges=["10.99.1.0/24"],
    project_id=test["id"])
example_interconnection = equinix.metal.Interconnection("exampleInterconnection",
    name="tf-metal-from-ne",
    project_id="<metal_project_id>",
    type="shared",
    redundancy="primary",
    metro="FR",
    speed="200Mbps",
    service_token_type="z_side",
    contact_email="username@example.com",
    vrfs=[example.vxlan])
example_connection = equinix.fabric.Connection("exampleConnection",
    name="tf-metal-from-ne",
    type=equinix.fabric.ConnectionType.EVPL,
    bandwidth=200,
    notifications=[{
        "type": equinix.fabric.NotificationsType.ALL,
        "emails": ["username@example.com"],
    }],
    order={
        "purchase_order_number": "1-323292",
    },
    project={
        "project_id": "<fabric_project_id>",
    },
    a_side={
        "access_point": {
            "type": equinix.fabric.AccessPointType.VD,
            "virtual_device": {
                "type": "EDGE",
                "uuid": example_equinix_network_device["id"],
            },
        },
    },
    z_side={
        "service_token": {
            "uuid": example_interconnection.service_tokens[0].id,
        },
    })
resources:
  example:
    type: equinix:metal:Vrf
    properties:
      name: tf-metal-from-ne
      metro: FR
      localAsn: '65001'
      ipRanges:
        - 10.99.1.0/24
      projectId: ${test.id}
  exampleInterconnection:
    type: equinix:metal:Interconnection
    name: example
    properties:
      name: tf-metal-from-ne
      projectId: <metal_project_id>
      type: shared
      redundancy: primary
      metro: FR
      speed: 200Mbps
      serviceTokenType: z_side
      contactEmail: username@example.com
      vrfs:
        - ${example.vxlan}
  exampleConnection:
    type: equinix:fabric:Connection
    name: example
    properties:
      name: tf-metal-from-ne
      type: EVPL_VC
      bandwidth: '200'
      notifications:
        - type: ALL
          emails:
            - username@example.com
      order:
        purchaseOrderNumber: 1-323292
      project:
        projectId: <fabric_project_id>
      aSide:
        accessPoint:
          type: VD
          virtualDevice:
            type: EDGE
            uuid: ${exampleEquinixNetworkDevice.id}
      zSide:
        serviceToken:
          uuid: ${exampleInterconnection.serviceTokens[0].id}
example metal billed metal to fabric port
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
return await Deployment.RunAsync(() => 
{
    var aSide = Equinix.Fabric.GetPorts.Invoke(new()
    {
        Filter = new Equinix.Fabric.Inputs.GetPortsFilterInputArgs
        {
            Name = "<name_of_port||port_prefix>",
        },
    });
    var example = new Equinix.Metal.Interconnection("example", new()
    {
        Name = "tf-metal-2-port",
        ProjectId = "<metal_project_id>",
        Type = "shared",
        Redundancy = "redundant",
        Metro = "FR",
        Speed = "1Gbps",
        ServiceTokenType = "a_side",
        ContactEmail = "username@example.com",
    });
    var exampleConnection = new Equinix.Fabric.Connection("exampleConnection", new()
    {
        Name = "tf-metal-2-port",
        Type = Equinix.Fabric.ConnectionType.EVPL,
        Notifications = new[]
        {
            new Equinix.Fabric.Inputs.ConnectionNotificationArgs
            {
                Type = Equinix.Fabric.NotificationsType.All,
                Emails = new[]
                {
                    "username@example.com",
                },
            },
        },
        Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs
        {
            ProjectId = "<fabric_project_id>",
        },
        Bandwidth = 100,
        Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs
        {
            PurchaseOrderNumber = "1-323292",
        },
        ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs
        {
            ServiceToken = new Equinix.Fabric.Inputs.ConnectionASideServiceTokenArgs
            {
                Uuid = example.ServiceTokens.Apply(serviceTokens => serviceTokens[0].Id),
            },
        },
        ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs
        {
            AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs
            {
                Type = Equinix.Fabric.AccessPointType.Colo,
                Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs
                {
                    Uuid = aSide.Apply(getPortsResult => getPortsResult.Data[0]?.Uuid),
                },
                LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs
                {
                    Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,
                    VlanTag = 1234,
                },
            },
        },
    });
});
package main
import (
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric"
	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		aSide := fabric.GetPortsOutput(ctx, fabric.GetPortsOutputArgs{
			Filter: &fabric.GetPortsFilterArgs{
				Name: pulumi.String("<name_of_port||port_prefix>"),
			},
		}, nil)
		example, err := metal.NewInterconnection(ctx, "example", &metal.InterconnectionArgs{
			Name:             pulumi.String("tf-metal-2-port"),
			ProjectId:        pulumi.String("<metal_project_id>"),
			Type:             pulumi.String("shared"),
			Redundancy:       pulumi.String("redundant"),
			Metro:            pulumi.String("FR"),
			Speed:            pulumi.String("1Gbps"),
			ServiceTokenType: pulumi.String("a_side"),
			ContactEmail:     pulumi.String("username@example.com"),
		})
		if err != nil {
			return err
		}
		_, err = fabric.NewConnection(ctx, "exampleConnection", &fabric.ConnectionArgs{
			Name: pulumi.String("tf-metal-2-port"),
			Type: pulumi.String(fabric.ConnectionTypeEVPL),
			Notifications: fabric.ConnectionNotificationArray{
				&fabric.ConnectionNotificationArgs{
					Type: pulumi.String(fabric.NotificationsTypeAll),
					Emails: pulumi.StringArray{
						pulumi.String("username@example.com"),
					},
				},
			},
			Project: &fabric.ConnectionProjectArgs{
				ProjectId: pulumi.String("<fabric_project_id>"),
			},
			Bandwidth: pulumi.Int(100),
			Order: &fabric.ConnectionOrderArgs{
				PurchaseOrderNumber: pulumi.String("1-323292"),
			},
			ASide: &fabric.ConnectionASideArgs{
				ServiceToken: &fabric.ConnectionASideServiceTokenArgs{
					Uuid: example.ServiceTokens.ApplyT(func(serviceTokens []metal.InterconnectionServiceToken) (*string, error) {
						return &serviceTokens[0].Id, nil
					}).(pulumi.StringPtrOutput),
				},
			},
			ZSide: &fabric.ConnectionZSideArgs{
				AccessPoint: &fabric.ConnectionZSideAccessPointArgs{
					Type: pulumi.String(fabric.AccessPointTypeColo),
					Port: &fabric.ConnectionZSideAccessPointPortArgs{
						Uuid: aSide.ApplyT(func(aSide fabric.GetPortsResult) (*string, error) {
							return &aSide.Data[0].Uuid, nil
						}).(pulumi.StringPtrOutput),
					},
					LinkProtocol: &fabric.ConnectionZSideAccessPointLinkProtocolArgs{
						Type:    pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),
						VlanTag: pulumi.Int(1234),
					},
				},
			},
		})
		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.fabric.FabricFunctions;
import com.pulumi.equinix.fabric.inputs.GetPortsArgs;
import com.pulumi.equinix.fabric.inputs.GetPortsFilterArgs;
import com.pulumi.equinix.metal.Interconnection;
import com.pulumi.equinix.metal.InterconnectionArgs;
import com.pulumi.equinix.fabric.Connection;
import com.pulumi.equinix.fabric.ConnectionArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionASideServiceTokenArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;
import com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;
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 aSide = FabricFunctions.getPorts(GetPortsArgs.builder()
            .filter(GetPortsFilterArgs.builder()
                .name("<name_of_port||port_prefix>")
                .build())
            .build());
        var example = new Interconnection("example", InterconnectionArgs.builder()
            .name("tf-metal-2-port")
            .projectId("<metal_project_id>")
            .type("shared")
            .redundancy("redundant")
            .metro("FR")
            .speed("1Gbps")
            .serviceTokenType("a_side")
            .contactEmail("username@example.com")
            .build());
        var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
            .name("tf-metal-2-port")
            .type("EVPL_VC")
            .notifications(ConnectionNotificationArgs.builder()
                .type("ALL")
                .emails("username@example.com")
                .build())
            .project(ConnectionProjectArgs.builder()
                .projectId("<fabric_project_id>")
                .build())
            .bandwidth(100)
            .order(ConnectionOrderArgs.builder()
                .purchaseOrderNumber("1-323292")
                .build())
            .aSide(ConnectionASideArgs.builder()
                .serviceToken(ConnectionASideServiceTokenArgs.builder()
                    .uuid(example.serviceTokens().applyValue(_serviceTokens -> _serviceTokens[0].id()))
                    .build())
                .build())
            .zSide(ConnectionZSideArgs.builder()
                .accessPoint(ConnectionZSideAccessPointArgs.builder()
                    .type("COLO")
                    .port(ConnectionZSideAccessPointPortArgs.builder()
                        .uuid(aSide.applyValue(_aSide -> _aSide.data()[0].uuid()))
                        .build())
                    .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()
                        .type("DOT1Q")
                        .vlanTag(1234)
                        .build())
                    .build())
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";
const aSide = equinix.fabric.getPortsOutput({
    filter: {
        name: "<name_of_port||port_prefix>",
    },
});
const example = new equinix.metal.Interconnection("example", {
    name: "tf-metal-2-port",
    projectId: "<metal_project_id>",
    type: "shared",
    redundancy: "redundant",
    metro: "FR",
    speed: "1Gbps",
    serviceTokenType: "a_side",
    contactEmail: "username@example.com",
});
const exampleConnection = new equinix.fabric.Connection("exampleConnection", {
    name: "tf-metal-2-port",
    type: equinix.fabric.ConnectionType.EVPL,
    notifications: [{
        type: equinix.fabric.NotificationsType.All,
        emails: ["username@example.com"],
    }],
    project: {
        projectId: "<fabric_project_id>",
    },
    bandwidth: 100,
    order: {
        purchaseOrderNumber: "1-323292",
    },
    aSide: {
        serviceToken: {
            uuid: example.serviceTokens.apply(serviceTokens => serviceTokens[0].id),
        },
    },
    zSide: {
        accessPoint: {
            type: equinix.fabric.AccessPointType.Colo,
            port: {
                uuid: aSide.apply(aSide => aSide.data?.[0]?.uuid),
            },
            linkProtocol: {
                type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,
                vlanTag: 1234,
            },
        },
    },
});
import pulumi
import pulumi_equinix as equinix
a_side = equinix.fabric.get_ports_output(filter={
    "name": "<name_of_port||port_prefix>",
})
example = equinix.metal.Interconnection("example",
    name="tf-metal-2-port",
    project_id="<metal_project_id>",
    type="shared",
    redundancy="redundant",
    metro="FR",
    speed="1Gbps",
    service_token_type="a_side",
    contact_email="username@example.com")
example_connection = equinix.fabric.Connection("exampleConnection",
    name="tf-metal-2-port",
    type=equinix.fabric.ConnectionType.EVPL,
    notifications=[{
        "type": equinix.fabric.NotificationsType.ALL,
        "emails": ["username@example.com"],
    }],
    project={
        "project_id": "<fabric_project_id>",
    },
    bandwidth=100,
    order={
        "purchase_order_number": "1-323292",
    },
    a_side={
        "service_token": {
            "uuid": example.service_tokens[0].id,
        },
    },
    z_side={
        "access_point": {
            "type": equinix.fabric.AccessPointType.COLO,
            "port": {
                "uuid": a_side.data[0].uuid,
            },
            "link_protocol": {
                "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q,
                "vlan_tag": 1234,
            },
        },
    })
resources:
  example:
    type: equinix:metal:Interconnection
    properties:
      name: tf-metal-2-port
      projectId: <metal_project_id>
      type: shared
      redundancy: redundant
      metro: FR
      speed: 1Gbps
      serviceTokenType: a_side
      contactEmail: username@example.com
  exampleConnection:
    type: equinix:fabric:Connection
    name: example
    properties:
      name: tf-metal-2-port
      type: EVPL_VC
      notifications:
        - type: ALL
          emails:
            - username@example.com
      project:
        projectId: <fabric_project_id>
      bandwidth: '100'
      order:
        purchaseOrderNumber: 1-323292
      aSide:
        serviceToken:
          uuid: ${example.serviceTokens[0].id}
      zSide:
        accessPoint:
          type: COLO
          port:
            uuid: ${aSide.data[0].uuid}
          linkProtocol:
            type: DOT1Q
            vlanTag: 1234
variables:
  aSide:
    fn::invoke:
      function: equinix:fabric:getPorts
      arguments:
        filter:
          name: <name_of_port||port_prefix>
Create Interconnection Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Interconnection(name: string, args: InterconnectionArgs, opts?: CustomResourceOptions);@overload
def Interconnection(resource_name: str,
                    args: InterconnectionArgs,
                    opts: Optional[ResourceOptions] = None)
@overload
def Interconnection(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    redundancy: Optional[str] = None,
                    type: Optional[str] = None,
                    organization_id: Optional[str] = None,
                    metro: Optional[str] = None,
                    mode: Optional[str] = None,
                    name: Optional[str] = None,
                    contact_email: Optional[str] = None,
                    project_id: Optional[str] = None,
                    facility: Optional[str] = None,
                    service_token_type: Optional[str] = None,
                    speed: Optional[str] = None,
                    tags: Optional[Sequence[str]] = None,
                    description: Optional[str] = None,
                    vlans: Optional[Sequence[int]] = None,
                    vrfs: Optional[Sequence[str]] = None)func NewInterconnection(ctx *Context, name string, args InterconnectionArgs, opts ...ResourceOption) (*Interconnection, error)public Interconnection(string name, InterconnectionArgs args, CustomResourceOptions? opts = null)
public Interconnection(String name, InterconnectionArgs args)
public Interconnection(String name, InterconnectionArgs args, CustomResourceOptions options)
type: equinix:metal:Interconnection
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 InterconnectionArgs
- 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 InterconnectionArgs
- 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 InterconnectionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InterconnectionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InterconnectionArgs
- 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 interconnectionResource = new Equinix.Metal.Interconnection("interconnectionResource", new()
{
    Redundancy = "string",
    Type = "string",
    OrganizationId = "string",
    Metro = "string",
    Mode = "string",
    Name = "string",
    ContactEmail = "string",
    ProjectId = "string",
    ServiceTokenType = "string",
    Speed = "string",
    Tags = new[]
    {
        "string",
    },
    Description = "string",
    Vlans = new[]
    {
        0,
    },
    Vrfs = new[]
    {
        "string",
    },
});
example, err := metal.NewInterconnection(ctx, "interconnectionResource", &metal.InterconnectionArgs{
	Redundancy:       pulumi.String("string"),
	Type:             pulumi.String("string"),
	OrganizationId:   pulumi.String("string"),
	Metro:            pulumi.String("string"),
	Mode:             pulumi.String("string"),
	Name:             pulumi.String("string"),
	ContactEmail:     pulumi.String("string"),
	ProjectId:        pulumi.String("string"),
	ServiceTokenType: pulumi.String("string"),
	Speed:            pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	Description: pulumi.String("string"),
	Vlans: pulumi.IntArray{
		pulumi.Int(0),
	},
	Vrfs: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var interconnectionResource = new Interconnection("interconnectionResource", InterconnectionArgs.builder()
    .redundancy("string")
    .type("string")
    .organizationId("string")
    .metro("string")
    .mode("string")
    .name("string")
    .contactEmail("string")
    .projectId("string")
    .serviceTokenType("string")
    .speed("string")
    .tags("string")
    .description("string")
    .vlans(0)
    .vrfs("string")
    .build());
interconnection_resource = equinix.metal.Interconnection("interconnectionResource",
    redundancy="string",
    type="string",
    organization_id="string",
    metro="string",
    mode="string",
    name="string",
    contact_email="string",
    project_id="string",
    service_token_type="string",
    speed="string",
    tags=["string"],
    description="string",
    vlans=[0],
    vrfs=["string"])
const interconnectionResource = new equinix.metal.Interconnection("interconnectionResource", {
    redundancy: "string",
    type: "string",
    organizationId: "string",
    metro: "string",
    mode: "string",
    name: "string",
    contactEmail: "string",
    projectId: "string",
    serviceTokenType: "string",
    speed: "string",
    tags: ["string"],
    description: "string",
    vlans: [0],
    vrfs: ["string"],
});
type: equinix:metal:Interconnection
properties:
    contactEmail: string
    description: string
    metro: string
    mode: string
    name: string
    organizationId: string
    projectId: string
    redundancy: string
    serviceTokenType: string
    speed: string
    tags:
        - string
    type: string
    vlans:
        - 0
    vrfs:
        - string
Interconnection 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 Interconnection resource accepts the following input properties:
- Redundancy string
- Connection redundancy - redundant or primary
- Type string
- Connection type - dedicated, shared or sharedportvlan
- ContactEmail string
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- Description string
- Description of the connection resource
- Facility string
- Facility where the connection will be created
- Metro string
- Metro where the connection will be created
- Mode string
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- Name string
- Name of the connection resource
- OrganizationId string
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- ProjectId string
- ID of the project where the connection is scoped to. Required with type "shared"
- ServiceToken stringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- Speed string
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- List<string>
- Tags attached to the connection
- Vlans List<int>
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- Vrfs List<string>
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- Redundancy string
- Connection redundancy - redundant or primary
- Type string
- Connection type - dedicated, shared or sharedportvlan
- ContactEmail string
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- Description string
- Description of the connection resource
- Facility string
- Facility where the connection will be created
- Metro string
- Metro where the connection will be created
- Mode string
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- Name string
- Name of the connection resource
- OrganizationId string
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- ProjectId string
- ID of the project where the connection is scoped to. Required with type "shared"
- ServiceToken stringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- Speed string
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- []string
- Tags attached to the connection
- Vlans []int
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- Vrfs []string
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- redundancy String
- Connection redundancy - redundant or primary
- type String
- Connection type - dedicated, shared or sharedportvlan
- contactEmail String
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description String
- Description of the connection resource
- facility String
- Facility where the connection will be created
- metro String
- Metro where the connection will be created
- mode String
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name String
- Name of the connection resource
- organizationId String
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- projectId String
- ID of the project where the connection is scoped to. Required with type "shared"
- serviceToken StringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- speed String
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- List<String>
- Tags attached to the connection
- vlans List<Integer>
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs List<String>
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- redundancy string
- Connection redundancy - redundant or primary
- type string
- Connection type - dedicated, shared or sharedportvlan
- contactEmail string
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description string
- Description of the connection resource
- facility string
- Facility where the connection will be created
- metro string
- Metro where the connection will be created
- mode string
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name string
- Name of the connection resource
- organizationId string
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- projectId string
- ID of the project where the connection is scoped to. Required with type "shared"
- serviceToken stringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- speed string
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- string[]
- Tags attached to the connection
- vlans number[]
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs string[]
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- redundancy str
- Connection redundancy - redundant or primary
- type str
- Connection type - dedicated, shared or sharedportvlan
- contact_email str
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description str
- Description of the connection resource
- facility str
- Facility where the connection will be created
- metro str
- Metro where the connection will be created
- mode str
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name str
- Name of the connection resource
- organization_id str
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- project_id str
- ID of the project where the connection is scoped to. Required with type "shared"
- service_token_ strtype 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- speed str
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- Sequence[str]
- Tags attached to the connection
- vlans Sequence[int]
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs Sequence[str]
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- redundancy String
- Connection redundancy - redundant or primary
- type String
- Connection type - dedicated, shared or sharedportvlan
- contactEmail String
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description String
- Description of the connection resource
- facility String
- Facility where the connection will be created
- metro String
- Metro where the connection will be created
- mode String
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name String
- Name of the connection resource
- organizationId String
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- projectId String
- ID of the project where the connection is scoped to. Required with type "shared"
- serviceToken StringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- speed String
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- List<String>
- Tags attached to the connection
- vlans List<Number>
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs List<String>
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
Outputs
All input properties are implicitly available as output properties. Additionally, the Interconnection resource produces the following output properties:
- string
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ports
List<InterconnectionPort> 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- ServiceTokens List<InterconnectionService Token> 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- Status string
- Status of the connection resource
- Token string
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- string
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ports
[]InterconnectionPort 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- ServiceTokens []InterconnectionService Token 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- Status string
- Status of the connection resource
- Token string
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- String
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- id String
- The provider-assigned unique ID for this managed resource.
- ports
List<InterconnectionPort> 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- serviceTokens List<InterconnectionService Token> 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- status String
- Status of the connection resource
- token String
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- string
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- id string
- The provider-assigned unique ID for this managed resource.
- ports
InterconnectionPort[] 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- serviceTokens InterconnectionService Token[] 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- status string
- Status of the connection resource
- token string
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- str
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- id str
- The provider-assigned unique ID for this managed resource.
- ports
Sequence[InterconnectionPort] 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- service_tokens Sequence[InterconnectionService Token] 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- status str
- Status of the connection resource
- token str
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- String
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- id String
- The provider-assigned unique ID for this managed resource.
- ports List<Property Map>
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- serviceTokens List<Property Map>
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- status String
- Status of the connection resource
- token String
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
Look up Existing Interconnection Resource
Get an existing Interconnection 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?: InterconnectionState, opts?: CustomResourceOptions): Interconnection@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        authorization_code: Optional[str] = None,
        contact_email: Optional[str] = None,
        description: Optional[str] = None,
        facility: Optional[str] = None,
        metro: Optional[str] = None,
        mode: Optional[str] = None,
        name: Optional[str] = None,
        organization_id: Optional[str] = None,
        ports: Optional[Sequence[InterconnectionPortArgs]] = None,
        project_id: Optional[str] = None,
        redundancy: Optional[str] = None,
        service_token_type: Optional[str] = None,
        service_tokens: Optional[Sequence[InterconnectionServiceTokenArgs]] = None,
        speed: Optional[str] = None,
        status: Optional[str] = None,
        tags: Optional[Sequence[str]] = None,
        token: Optional[str] = None,
        type: Optional[str] = None,
        vlans: Optional[Sequence[int]] = None,
        vrfs: Optional[Sequence[str]] = None) -> Interconnectionfunc GetInterconnection(ctx *Context, name string, id IDInput, state *InterconnectionState, opts ...ResourceOption) (*Interconnection, error)public static Interconnection Get(string name, Input<string> id, InterconnectionState? state, CustomResourceOptions? opts = null)public static Interconnection get(String name, Output<String> id, InterconnectionState state, CustomResourceOptions options)resources:  _:    type: equinix:metal:Interconnection    get:      id: ${id}- 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.
- string
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- ContactEmail string
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- Description string
- Description of the connection resource
- Facility string
- Facility where the connection will be created
- Metro string
- Metro where the connection will be created
- Mode string
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- Name string
- Name of the connection resource
- OrganizationId string
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- Ports
List<InterconnectionPort> 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- ProjectId string
- ID of the project where the connection is scoped to. Required with type "shared"
- Redundancy string
- Connection redundancy - redundant or primary
- ServiceToken stringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- ServiceTokens List<InterconnectionService Token> 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- Speed string
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- Status string
- Status of the connection resource
- List<string>
- Tags attached to the connection
- Token string
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- Type string
- Connection type - dedicated, shared or sharedportvlan
- Vlans List<int>
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- Vrfs List<string>
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- string
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- ContactEmail string
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- Description string
- Description of the connection resource
- Facility string
- Facility where the connection will be created
- Metro string
- Metro where the connection will be created
- Mode string
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- Name string
- Name of the connection resource
- OrganizationId string
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- Ports
[]InterconnectionPort Args 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- ProjectId string
- ID of the project where the connection is scoped to. Required with type "shared"
- Redundancy string
- Connection redundancy - redundant or primary
- ServiceToken stringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- ServiceTokens []InterconnectionService Token Args 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- Speed string
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- Status string
- Status of the connection resource
- []string
- Tags attached to the connection
- Token string
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- Type string
- Connection type - dedicated, shared or sharedportvlan
- Vlans []int
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- Vrfs []string
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- String
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- contactEmail String
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description String
- Description of the connection resource
- facility String
- Facility where the connection will be created
- metro String
- Metro where the connection will be created
- mode String
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name String
- Name of the connection resource
- organizationId String
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- ports
List<InterconnectionPort> 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- projectId String
- ID of the project where the connection is scoped to. Required with type "shared"
- redundancy String
- Connection redundancy - redundant or primary
- serviceToken StringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- serviceTokens List<InterconnectionService Token> 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- speed String
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- status String
- Status of the connection resource
- List<String>
- Tags attached to the connection
- token String
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- type String
- Connection type - dedicated, shared or sharedportvlan
- vlans List<Integer>
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs List<String>
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- string
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- contactEmail string
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description string
- Description of the connection resource
- facility string
- Facility where the connection will be created
- metro string
- Metro where the connection will be created
- mode string
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name string
- Name of the connection resource
- organizationId string
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- ports
InterconnectionPort[] 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- projectId string
- ID of the project where the connection is scoped to. Required with type "shared"
- redundancy string
- Connection redundancy - redundant or primary
- serviceToken stringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- serviceTokens InterconnectionService Token[] 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- speed string
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- status string
- Status of the connection resource
- string[]
- Tags attached to the connection
- token string
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- type string
- Connection type - dedicated, shared or sharedportvlan
- vlans number[]
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs string[]
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- str
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- contact_email str
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description str
- Description of the connection resource
- facility str
- Facility where the connection will be created
- metro str
- Metro where the connection will be created
- mode str
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name str
- Name of the connection resource
- organization_id str
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- ports
Sequence[InterconnectionPort Args] 
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- project_id str
- ID of the project where the connection is scoped to. Required with type "shared"
- redundancy str
- Connection redundancy - redundant or primary
- service_token_ strtype 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- service_tokens Sequence[InterconnectionService Token Args] 
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- speed str
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- status str
- Status of the connection resource
- Sequence[str]
- Tags attached to the connection
- token str
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- type str
- Connection type - dedicated, shared or sharedportvlan
- vlans Sequence[int]
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs Sequence[str]
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
- String
- Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
- contactEmail String
- The preferred email used for communication and notifications about the Equinix Fabric interconnection
- description String
- Description of the connection resource
- facility String
- Facility where the connection will be created
- metro String
- Metro where the connection will be created
- mode String
- Mode for connections in IBX facilities with the dedicated type - standard or tunnel
- name String
- Name of the connection resource
- organizationId String
- ID of the organization responsible for the connection. Applicable with type "dedicated"
- ports List<Property Map>
- List of connection ports - primary (ports[0]) and secondary (ports[1])
- projectId String
- ID of the project where the connection is scoped to. Required with type "shared"
- redundancy String
- Connection redundancy - redundant or primary
- serviceToken StringType 
- Only used with shared connection. Type of service token to use for the connection, aside or zside
- serviceTokens List<Property Map>
- Only used with shared connection. List of service tokens required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- speed String
- Connection speed - Values must be in the format '\n\nMbps' or '\n\nGpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
- status String
- Status of the connection resource
- List<String>
- Tags attached to the connection
- token String
- Only used with shared connection. Fabric Token required to continue the setup process with equinixfabricconnection or from the Equinix Fabric Portal
- type String
- Connection type - dedicated, shared or sharedportvlan
- vlans List<Number>
- Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
- vrfs List<String>
- Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
Supporting Types
InterconnectionPort, InterconnectionPortArgs    
- Id string
- LinkStatus string
- Name string
- Role string
- Speed int
- Status string
- VirtualCircuit List<string>Ids 
- Id string
- LinkStatus string
- Name string
- Role string
- Speed int
- Status string
- VirtualCircuit []stringIds 
- id String
- linkStatus String
- name String
- role String
- speed Integer
- status String
- virtualCircuit List<String>Ids 
- id string
- linkStatus string
- name string
- role string
- speed number
- status string
- virtualCircuit string[]Ids 
- id str
- link_status str
- name str
- role str
- speed int
- status str
- virtual_circuit_ Sequence[str]ids 
- id String
- linkStatus String
- name String
- role String
- speed Number
- status String
- virtualCircuit List<String>Ids 
InterconnectionServiceToken, InterconnectionServiceTokenArgs      
- expires_at str
- id str
- max_allowed_ strspeed 
- role str
- state str
- type str
Package Details
- Repository
- equinix equinix/pulumi-equinix
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the equinixTerraform Provider.
