Magic Transit
Magic TransitGRE Tunnels
resource cloudflare_magic_wan_gre_tunnel
required
optional
A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127
cloudflare_magic_wan_gre_tunnel
resource "cloudflare_magic_wan_gre_tunnel" "example_magic_wan_gre_tunnel" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
cloudflare_gre_endpoint = "203.0.113.1"
customer_gre_endpoint = "203.0.113.1"
interface_address = "192.0.2.0/31"
name = "GRE_1"
automatic_return_routing = true
bgp = {
customer_asn = 0
extra_prefixes = ["string"]
md5_key = "md5_key"
}
description = "Tunnel for ISP X"
health_check = {
direction = "bidirectional"
enabled = true
rate = "low"
target = {
saved = "203.0.113.1"
}
type = "request"
}
interface_address6 = "2606:54c1:7:0:a9fe:12d2:1:200/127"
mtu = 0
ttl = 0
}
data cloudflare_magic_wan_gre_tunnel
cloudflare_magic_wan_gre_tunnel
data "cloudflare_magic_wan_gre_tunnel" "example_magic_wan_gre_tunnel" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
gre_tunnel_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitIPSEC Tunnels
resource cloudflare_magic_wan_ipsec_tunnel
required
optional
The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.
A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127
True if automatic stateful return routing should be enabled for a tunnel, false otherwise.
cloudflare_magic_wan_ipsec_tunnel
resource "cloudflare_magic_wan_ipsec_tunnel" "example_magic_wan_ipsec_tunnel" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
cloudflare_endpoint = "203.0.113.1"
interface_address = "192.0.2.0/31"
name = "IPsec_1"
automatic_return_routing = true
bgp = {
customer_asn = 0
extra_prefixes = ["string"]
md5_key = "md5_key"
}
custom_remote_identities = {
fqdn_id = "fqdn_id"
}
customer_endpoint = "203.0.113.1"
description = "Tunnel for ISP X"
health_check = {
direction = "bidirectional"
enabled = true
rate = "low"
target = {
saved = "203.0.113.1"
}
type = "request"
}
interface_address6 = "2606:54c1:7:0:a9fe:12d2:1:200/127"
psk = "O3bwKSjnaoCxDoUxjcq4Rk8ZKkezQUiy"
replay_protection = false
}
data cloudflare_magic_wan_ipsec_tunnel
cloudflare_magic_wan_ipsec_tunnel
data "cloudflare_magic_wan_ipsec_tunnel" "example_magic_wan_ipsec_tunnel" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
ipsec_tunnel_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitRoutes
resource cloudflare_magic_wan_static_route
required
optional
cloudflare_magic_wan_static_route
resource "cloudflare_magic_wan_static_route" "example_magic_wan_static_route" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
nexthop = "203.0.113.1"
prefix = "192.0.2.0/24"
priority = 0
description = "New route for new prefix 203.0.113.1"
scope = {
colo_names = ["den01"]
colo_regions = ["APAC"]
}
weight = 0
}
data cloudflare_magic_wan_static_route
cloudflare_magic_wan_static_route
data "cloudflare_magic_wan_static_route" "example_magic_wan_static_route" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
route_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitSites
resource cloudflare_magic_transit_site
cloudflare_magic_transit_site
resource "cloudflare_magic_transit_site" "example_magic_transit_site" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
name = "site_1"
connector_id = "ac60d3d0435248289d446cedd870bcf4"
description = "description"
ha_mode = true
location = {
lat = "37.6192"
lon = "122.3816"
}
secondary_connector_id = "8d67040d3835dbcf46ce29da440dc482"
}
data cloudflare_magic_transit_site
cloudflare_magic_transit_site
data "cloudflare_magic_transit_site" "example_magic_transit_site" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
data cloudflare_magic_transit_sites
cloudflare_magic_transit_sites
data "cloudflare_magic_transit_sites" "example_magic_transit_sites" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
connectorid = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitSitesACLs
resource cloudflare_magic_transit_site_acl
optional
The desired forwarding action for this ACL policy. If set to "false", the policy will forward traffic to Cloudflare. If set to "true", the policy will forward traffic locally on the Magic Connector. If not included in request, will default to false.
cloudflare_magic_transit_site_acl
resource "cloudflare_magic_transit_site_acl" "example_magic_transit_site_acl" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
lan_1 = {
lan_id = "lan_id"
lan_name = "lan_name"
port_ranges = ["8080-9000"]
ports = [1]
subnets = ["192.0.2.1"]
}
lan_2 = {
lan_id = "lan_id"
lan_name = "lan_name"
port_ranges = ["8080-9000"]
ports = [1]
subnets = ["192.0.2.1"]
}
name = "PIN Pad - Cash Register"
description = "Allows local traffic between PIN pads and cash register."
forward_locally = true
protocols = ["tcp"]
unidirectional = true
}
data cloudflare_magic_transit_site_acl
computed
The desired forwarding action for this ACL policy. If set to "false", the policy will forward traffic to Cloudflare. If set to "true", the policy will forward traffic locally on the Magic Connector. If not included in request, will default to false.
cloudflare_magic_transit_site_acl
data "cloudflare_magic_transit_site_acl" "example_magic_transit_site_acl" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
acl_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
data cloudflare_magic_transit_site_acls
cloudflare_magic_transit_site_acls
data "cloudflare_magic_transit_site_acls" "example_magic_transit_site_acls" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitSitesLANs
resource cloudflare_magic_transit_site_lan
cloudflare_magic_transit_site_lan
resource "cloudflare_magic_transit_site_lan" "example_magic_transit_site_lan" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
bond_id = 2
ha_link = true
is_breakout = true
is_prioritized = true
name = "name"
nat = {
static_prefix = "192.0.2.0/24"
}
physport = 1
routed_subnets = [{
next_hop = "192.0.2.1"
prefix = "192.0.2.0/24"
nat = {
static_prefix = "192.0.2.0/24"
}
}]
static_addressing = {
address = "192.0.2.0/24"
dhcp_relay = {
server_addresses = ["192.0.2.1"]
}
dhcp_server = {
dhcp_pool_end = "192.0.2.1"
dhcp_pool_start = "192.0.2.1"
dns_server = "192.0.2.1"
dns_servers = ["192.0.2.1"]
reservations = {
"00:11:22:33:44:55" = "192.0.2.100"
"AA:BB:CC:DD:EE:FF" = "192.168.1.101"
}
}
secondary_address = "192.0.2.0/24"
virtual_address = "192.0.2.0/24"
}
vlan_tag = 42
}
data cloudflare_magic_transit_site_lan
cloudflare_magic_transit_site_lan
data "cloudflare_magic_transit_site_lan" "example_magic_transit_site_lan" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
lan_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
data cloudflare_magic_transit_site_lans
cloudflare_magic_transit_site_lans
data "cloudflare_magic_transit_site_lans" "example_magic_transit_site_lans" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitSitesWANs
resource cloudflare_magic_transit_site_wan
cloudflare_magic_transit_site_wan
resource "cloudflare_magic_transit_site_wan" "example_magic_transit_site_wan" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
physport = 1
name = "name"
priority = 0
static_addressing = {
address = "192.0.2.0/24"
gateway_address = "192.0.2.1"
secondary_address = "192.0.2.0/24"
}
vlan_tag = 42
}
data cloudflare_magic_transit_site_wan
cloudflare_magic_transit_site_wan
data "cloudflare_magic_transit_site_wan" "example_magic_transit_site_wan" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
wan_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
data cloudflare_magic_transit_site_wans
cloudflare_magic_transit_site_wans
data "cloudflare_magic_transit_site_wans" "example_magic_transit_site_wans" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
Magic TransitConnectors
resource cloudflare_magic_transit_connector
cloudflare_magic_transit_connector
resource "cloudflare_magic_transit_connector" "example_magic_transit_connector" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
device = {
id = "id"
provision_license = true
serial_number = "serial_number"
}
activated = true
interrupt_window_days_of_week = ["Sunday"]
interrupt_window_duration_hours = 1
interrupt_window_embargo_dates = ["string"]
interrupt_window_hour_of_day = 0
notes = "notes"
timezone = "timezone"
}
data cloudflare_magic_transit_connector
cloudflare_magic_transit_connector
data "cloudflare_magic_transit_connector" "example_magic_transit_connector" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
connector_id = "connector_id"
}
data cloudflare_magic_transit_connectors
cloudflare_magic_transit_connectors
data "cloudflare_magic_transit_connectors" "example_magic_transit_connectors" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
}