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
export_filter_id = "a1b2c3d4e5f647890a1b2c3d4e5f6789"
extra_prefixes = ["string"]
import_filter_id = "a1b2c3d4e5f647890a1b2c3d4e5f6789"
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. Requires the coupler_integration account flag to be enabled; requests setting this to true without that flag will be rejected.
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
export_filter_id = "a1b2c3d4e5f647890a1b2c3d4e5f6789"
extra_prefixes = ["string"]
import_filter_id = "a1b2c3d4e5f647890a1b2c3d4e5f6789"
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 TransitBGP Filter Profiles
resource cloudflare_magic_wan_bgp_filter_profile
required
List of CIDR prefixes. Each entry may carry an optional suffix that specifies which prefix lengths to match relative to the prefix length N: ‘{X,Y}’ matches prefix lengths in the inclusive range [X, Y] where N <= X <= Y <= max (max is 32 for IPv4, 128 for IPv6), ‘{X}’ matches exactly length X (equivalent to {X,X}), ’+’ is shorthand for {N, max} (the prefix and all more-specific subnets, including at length N itself; valid even when N is the maximum length). Omit the suffix to match the prefix exactly at length N.
cloudflare_magic_wan_bgp_filter_profile
resource "cloudflare_magic_wan_bgp_filter_profile" "example_magic_wan_bgp_filter_profile" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
match_action = "allow"
name = "Allowed On-Prem Imports"
targets = ["10.0.0.0/8{8,32}"]
description = "Allowed corporate subnets from on-premises"
}
data cloudflare_magic_wan_bgp_filter_profile
computed
List of CIDR prefixes. Each entry may carry an optional suffix that specifies which prefix lengths to match relative to the prefix length N: ‘{X,Y}’ matches prefix lengths in the inclusive range [X, Y] where N <= X <= Y <= max (max is 32 for IPv4, 128 for IPv6), ‘{X}’ matches exactly length X (equivalent to {X,X}), ’+’ is shorthand for {N, max} (the prefix and all more-specific subnets, including at length N itself; valid even when N is the maximum length). Omit the suffix to match the prefix exactly at length N.
cloudflare_magic_wan_bgp_filter_profile
data "cloudflare_magic_wan_bgp_filter_profile" "example_magic_wan_bgp_filter_profile" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
profile_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
data cloudflare_magic_wan_bgp_filter_profiles
cloudflare_magic_wan_bgp_filter_profiles
data "cloudflare_magic_wan_bgp_filter_profiles" "example_magic_wan_bgp_filter_profiles" {
account_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_options = [{
code = 66
type = "ip"
value = "10.20.30.40"
}]
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
optional
cloudflare_magic_transit_site_wan
resource "cloudflare_magic_transit_site_wan" "example_magic_transit_site_wan" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
site_id = "023e105f4ecef8ad9ca31a8372d0c353"
physport = 1
health_check_rate = "low"
load_balance_inner_flows = true
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
computed
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
optional
cloudflare_magic_transit_connectors
data "cloudflare_magic_transit_connectors" "example_magic_transit_connectors" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
device_type = "MANAGED"
}
Magic TransitCf1 Sites
resource cloudflare_magic_transit_cf1_site
optional
cloudflare_magic_transit_cf1_site
resource "cloudflare_magic_transit_cf1_site" "example_magic_transit_cf1_site" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
body = [{
name = "Pad 34"
description = "Launch Pad 34"
location = {
lat = 28.521339842093845
long = -80.56092644815843
name = "Cape Canaveral"
}
}]
}
data cloudflare_magic_transit_cf1_site
cloudflare_magic_transit_cf1_site
data "cloudflare_magic_transit_cf1_site" "example_magic_transit_cf1_site" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
cf1_site_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
data cloudflare_magic_transit_cf1_sites
cloudflare_magic_transit_cf1_sites
data "cloudflare_magic_transit_cf1_sites" "example_magic_transit_cf1_sites" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
}