Skip to content
Beginner - Solutions Architect - Sales 15 minutes

Resource Types

A visual guide to every resource the Megaport CLI manages — Ports, VXCs, MCRs, MVEs, IX, and more

The Megaport CLI manages eight resource types that together form a software-defined network. Understanding how they relate to each other is the foundation for everything else.

How resources connect

Every connection on the Megaport fabric flows through a VXC. A VXC is a virtual circuit that links two endpoints — those endpoints can be Ports, MCRs, MVEs, or cloud partners.

Example connections:

  • Port Sydney ⚡ VXC → MCR (Cloud Router)
  • MCR ⚡ VXC → AWS Direct Connect
  • MCR ⚡ VXC → Azure ExpressRoute
  • Port Sydney ⚡ VXC → Port Melbourne (site-to-site)
  • MVE (SD-WAN) ⚡ VXC → MCR

Resource lifecycle states

All resources move through a common set of states:

StateMeaning
CONFIGUREDOrdered and provisioning — not yet active
LIVEActive and billable
DECOMMISSIONINGDeletion requested — in progress
DECOMMISSIONEDFully removed
CANCELLEDCancelled before going live

By default, list commands only show CONFIGURED and LIVE resources. To include decommissioned or cancelled ones:

bash
megaport-cli ports list --include-inactive
megaport-cli mcr list --include-inactive
megaport-cli mve list --include-inactive

Port

ℹ️

Port

A Port is a physical connection from your data centre equipment into the Megaport fabric. It's your entry point — everything else connects through it.

Speeds: 1G (1000 Mbps), 10G (10000 Mbps), 100G (100000 Mbps)

Key attributes:

  • Location (data centre ID)
  • Speed in Mbps
  • Contract term (1, 12, 24, or 36 months)
  • LAG (Link Aggregation Group) for bonded ports
  • Market code (determines billing currency)
bash
# Browse available locations first
megaport-cli locations list --metro Sydney

# List your ports
megaport-cli ports list

# Filter by name or location
megaport-cli ports list --port-name "Sydney"
megaport-cli ports list --location-id 3

# Get full details on a port
megaport-cli ports get <PORT-UID>

# Buy a port
megaport-cli ports buy \
  --name "Sydney Primary" \
  --location-id 3 \
  --port-speed 10000 \
  --term 12 \
  --marketplace-visibility false

VXC

ℹ️

VXC

A VXC is a layer 2 virtual circuit connecting two endpoints. It's the fundamental building block of any Megaport connection — every link between resources is a VXC.

The A-End/B-End model: Every VXC has two endpoints. The A-End is the resource you own (your Port, MCR, or MVE). The B-End is the other endpoint — another Port, an MCR, or a cloud provider partner configuration.

Key attributes:

  • A-End UID and VLAN (0–4093)
  • B-End UID and VLAN (0–4093)
  • Rate limit in Mbps (bandwidth)
  • Inner VLANs for QinQ stacking
bash
# List all your VXCs
megaport-cli vxc list

# Get details on a specific VXC
megaport-cli vxc get <VXC-UID>

# Buy a VXC between two ports
megaport-cli vxc buy \
  --name "Sydney to Melbourne" \
  --a-end-uid <PORT-A-UID> \
  --b-end-uid <PORT-B-UID> \
  --a-end-vlan 100 \
  --b-end-vlan 200 \
  --rate-limit 1000

# Buy a cloud VXC (to AWS Direct Connect)
megaport-cli vxc buy \
  --name "AWS Direct Connect" \
  --a-end-uid <PORT-UID> \
  --a-end-vlan 100 \
  --rate-limit 1000 \
  --b-end-partner-config '{"connectType":"AWS","ownerAccount":"123456789012","type":"private","asn":65000}'

MCR

ℹ️

MCR

An MCR is a virtual layer 3 router hosted in the Megaport fabric. Use it for BGP routing between clouds, prefix filtering, NAT, and multi-cloud hub-and-spoke topologies — without needing physical router hardware.

Speeds: 1G, 2.5G, 5G, 10G, 25G, 50G, 100G

Key attributes:

  • Port speed (determines total throughput)
  • BGP sessions via attached VXCs
  • Prefix filter lists (control route advertisement)
  • ASN (assigned by Megaport)
bash
# List your MCRs
megaport-cli mcr list

# Get MCR details including BGP sessions
megaport-cli mcr get <MCR-UID>

# Buy an MCR
megaport-cli mcr buy \
  --name "AU Cloud Hub" \
  --location-id 3 \
  --port-speed 10000 \
  --term 12

# Manage prefix filter lists (BGP route filtering)
megaport-cli mcr list-prefix-filter-lists <MCR-UID>
megaport-cli mcr create-prefix-filter-list <MCR-UID> \
  --description "Allow RFC1918" \
  --address-family IPv4

# Add IPSec tunnel capability
megaport-cli mcr add-ipsec-addon <MCR-UID> --tunnel-count 10

MVE

ℹ️

MVE

An MVE is a vendor-specific virtual network appliance hosted in the Megaport fabric. Run SD-WAN, firewall, or routing software without deploying physical hardware at a data centre.

Supported vendors:

VendorProduct
arubaAruba EdgeConnect SD-WAN
ciscoCisco Catalyst SD-WAN (vManage)
fortinetFortiGate-VM NGFW
versaVersa FlexVNF
vmwareVMware SD-WAN (VeloCloud)
merakiCisco Meraki vMX
palo_altoPalo Alto Networks VM-Series
prismaPalo Alto Prisma SD-WAN
aviatrixAviatrix Transit Gateway
6wind6WIND VSR

Sizes:

SizevCPURAM
SMALL28 GB
MEDIUM416 GB
LARGE832 GB
X_LARGE_121248 GB
bash
# Browse available MVE images (vendor + version options)
megaport-cli mve list-images

# List your MVEs
megaport-cli mve list

# Buy an MVE (interactive for vendor config)
megaport-cli mve buy --interactive

# List available MVE sizes
megaport-cli mve list-sizes

# Buy with JSON vendor config
megaport-cli mve buy \
  --name "AU SD-WAN Hub" \
  --location-id 3 \
  --term 12 \
  --vendor-config '{"vendor":"cisco","imageId":123,"productSize":"MEDIUM","mveLabel":"hub-01"}' \
  --vnics '[{"description":"Data Plane","vlan":100}]'

IX

ℹ️

IX

An IX connection gives you access to a MegaIX Internet Exchange peering point hosted at a Megaport location. Use it to establish BGP sessions with other networks and reduce transit costs.

Key attributes:

  • ASN (your Autonomous System Number)
  • Peering VLAN
  • BGP session configuration

Location

ℹ️

Location

A Location is a data centre on the Megaport fabric where you can deploy Ports, MCRs, and MVEs. There are 700+ locations across 23 countries.

bash
# Browse all locations
megaport-cli locations list

# Filter by country or metro
megaport-cli locations list --country AU
megaport-cli locations list --metro Sydney

# Only show locations with MCR support
megaport-cli locations list --mcr-available

# Filter by data centre name
megaport-cli locations list --name "Equinix"

# Get a specific location by ID
megaport-cli locations get 3

Partner

ℹ️

Partner

A Partner represents a cloud provider or network operator with a presence on the Megaport fabric. Partner configs are the B-End target when buying a cloud VXC.

Partners include AWS, Azure, Google Cloud, Oracle, IBM, Salesforce, and hundreds more.

bash
# Browse all partners
megaport-cli partners list

# Filter by cloud provider
megaport-cli partners list --company-name "Amazon Web Services"
megaport-cli partners list --product-name "Azure"

# Filter by location
megaport-cli partners list --location-id 3

# Filter by connection type
megaport-cli partners list --connect-type AWS

Service Key

ℹ️

Service Key

A Service Key is a pre-authorised credential that lets a third party provision a VXC to one of your resources without needing your account credentials. Useful for partner connectivity and self-service provisioning.

bash
# List all service keys
megaport-cli servicekeys list

# Filter by associated resource
megaport-cli servicekeys list --product-uid <PORT-UID>

# Create a service key
megaport-cli servicekeys create \
  --product-uid <PORT-UID> \
  --description "Partner provisioning key" \
  --single-use \
  --max-speed 1000

# Create a time-limited key
megaport-cli servicekeys create \
  --product-uid <PORT-UID> \
  --description "30-day POC key" \
  --start-date "2024-01-01" \
  --end-date "2024-01-31" \
  --max-speed 500

# Get details on a key
megaport-cli servicekeys get <KEY-ID>

# Deactivate a key
megaport-cli servicekeys update <KEY-ID> --active=false

What's next?

Now that you know the resources, learn how to work with them effectively: