Skip to content

equinix-labs/terraform-equinix-fabric-connection-ibm

Repository files navigation

Equinix Fabric L2 Connection To IBM Direct Link 2.0 Terraform module

Experimental terraform

terraform-equinix-fabric-connection-ibm is a Terraform module that utilizes Terraform provider for Equinix and Terraform provider for IBM to set up an Equinix Fabric L2 connection to IBM Direct Link 2.0.

As part of Platform Equinix, your infrastructure can connect with other parties, such as public cloud providers, network service providers, or your own colocation cages in Equinix by defining an Equinix Fabric - software-defined interconnection.

This module creates the l2 connection in Equinix Fabric, approves the request in your account on the IBM Cloud platform, and optionally creates a IBM Direct Link virtual connection. BGP in Equinix side can also be configured if Network Edge device is used.

     Origin                                              Destination
    (A-side)                                              (Z-side)

┌────────────────┐
│ Equinix Fabric │         Equinix Fabric          ┌────────────────────┐       ┌───────────────────────┐
│ Port / Network ├─────    l2 connection   ───────►│        IBM         │──────►│      DL Gateway ─►    │
│ Edge Device /  │      (50 Mbps - 10 Gbps)        │   Direc Link 2.0   │       │ DL Virtual Connection │
│ Service Token  │                                 └────────────────────┘       │   (IBM Cloud Region)  │
└────────────────┘                                                              └───────────────────────┘
         │                                                                           │
         └ - - - - - - - - - - Network Edge Device - - - - - - - - - - - - - - - - - ┘
                                   BGP peering

Usage

This project is experimental and supported by the user community. Equinix does not provide support for this project.

Install Terraform using the official guides at https://learn.hashicorp.com/tutorials/terraform/install-cli.

This project may be forked, cloned, or downloaded and modified as needed as the base in your integrations and deployments.

This project may also be used as a Terraform module.

To use this module in a new project, create a file such as:

# main.tf
provider "equinix" {
}

provider "ibm" { 
  region = "eu-de" 
}

module "equinix-fabric-connection-ibm" {
  source = "equinix-labs/fabric-connection-ibm/equinix"

  # required variables
  fabric_notification_users = ["example@equinix.com"]
  ibm_account_id            = var.ibm_account_id

  # optional variables
  fabric_port_name              = var.port_name
  fabric_vlan_stag              = 1010
  fabric_destination_metro_code = "FR"
}

Run terraform init -upgrade and terraform apply.

Variables

See https://registry.terraform.io/modules/equinix-labs/fabric-connection-ibm/equinix/latest?tab=inputs for a description of all variables.

Outputs

See https://registry.terraform.io/modules/equinix-labs/fabric-connection-ibm/equinix/latest?tab=outputs for a description of all outputs.

Resources

Name Type
random_string.this resource
equinix-fabric-connection module
equinix_network_bgp.this resource
ibm_resource_group.this data source
ibm_resource_group.this resource
ibm_dl_gateways.this data source
ibm_dl_virtual_connection.this data source
null_resource.confirm_direct_link_gateway_creation resource
null_resource.confirm_direct_link_gateway_deletion resource
external.os data source

Examples