Devices
DevicesDEX Tests
resource cloudflare_zero_trust_dex_test
required
cloudflare_zero_trust_dex_test
resource "cloudflare_zero_trust_dex_test" "example_zero_trust_dex_test" {
account_id = "01a7362d577a6c3019a474fd6f485823"
data = {
host = "https://dash.cloudflare.com"
kind = "http"
method = "GET"
}
enabled = true
interval = "30m"
name = "HTTP dash health check"
description = "Checks the dash endpoint every 30 minutes"
target_policies = [{
id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
default = true
name = "name"
}]
}
data cloudflare_zero_trust_dex_test
computed
cloudflare_zero_trust_dex_test
data "cloudflare_zero_trust_dex_test" "example_zero_trust_dex_test" {
account_id = "01a7362d577a6c3019a474fd6f485823"
dex_test_id = "372e67954025e0ba6aaa6d586b9e0b59"
}
data cloudflare_zero_trust_dex_tests
optional
cloudflare_zero_trust_dex_tests
data "cloudflare_zero_trust_dex_tests" "example_zero_trust_dex_tests" {
account_id = "01a7362d577a6c3019a474fd6f485823"
kind = "http"
test_name = "testName"
}
DevicesIP Profiles
resource cloudflare_zero_trust_device_ip_profile
required
The wirefilter expression to match registrations. Available values: "identity.name", "identity.email", "identity.groups.id", "identity.groups.name", "identity.groups.email", "identity.saml_attributes".
optional
cloudflare_zero_trust_device_ip_profile
resource "cloudflare_zero_trust_device_ip_profile" "example_zero_trust_device_ip_profile" {
account_id = "account_id"
match = "identity.email == \"test@cloudflare.com\""
name = "IPv4 Cloudflare Source IPs"
precedence = 100
subnet_id = "b70ff985-a4ef-4643-bbbc-4a0ed4fc8415"
description = "example comment"
enabled = true
}
data cloudflare_zero_trust_device_ip_profile
computed
The wirefilter expression to match registrations. Available values: "identity.name", "identity.email", "identity.groups.id", "identity.groups.name", "identity.groups.email", "identity.saml_attributes".
cloudflare_zero_trust_device_ip_profile
data "cloudflare_zero_trust_device_ip_profile" "example_zero_trust_device_ip_profile" {
account_id = "account_id"
profile_id = "profile_id"
}
data cloudflare_zero_trust_device_ip_profiles
optional
cloudflare_zero_trust_device_ip_profiles
data "cloudflare_zero_trust_device_ip_profiles" "example_zero_trust_device_ip_profiles" {
account_id = "account_id"
}
DevicesNetworks
resource cloudflare_zero_trust_device_managed_networks
required
cloudflare_zero_trust_device_managed_networks
resource "cloudflare_zero_trust_device_managed_networks" "example_zero_trust_device_managed_networks" {
account_id = "699d98642c564d2e855e9661899b7252"
config = {
tls_sockaddr = "foo.bar:1234"
sha256 = "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c"
}
name = "managed-network-1"
type = "tls"
}
data cloudflare_zero_trust_device_managed_networks
cloudflare_zero_trust_device_managed_networks
data "cloudflare_zero_trust_device_managed_networks" "example_zero_trust_device_managed_networks" {
account_id = "699d98642c564d2e855e9661899b7252"
network_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
data cloudflare_zero_trust_device_managed_networks_list
cloudflare_zero_trust_device_managed_networks_list
data "cloudflare_zero_trust_device_managed_networks_list" "example_zero_trust_device_managed_networks_list" {
account_id = "699d98642c564d2e855e9661899b7252"
}
DevicesPoliciesDefault
resource cloudflare_zero_trust_device_default_profile
optional
The amount of time in minutes a user is allowed access to their LAN. A value of 0 will allow LAN access until the next WARP reconnection, such as a reboot or a laptop waking from sleep. Note that this field is omitted from the response if null or unset.
The size of the subnet for the local access network. Note that this field is omitted from the response if null or unset.
Whether to receive update notifications when a new version of the client is available.
If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.
Determines if the operating system will register WARP's local interface IP with your on-premises DNS server.
Determines whether the WARP client indicates to SCCM that it is inside a VPN boundary. (Windows only).
cloudflare_zero_trust_device_default_profile
resource "cloudflare_zero_trust_device_default_profile" "example_zero_trust_device_default_profile" {
account_id = "699d98642c564d2e855e9661899b7252"
allow_mode_switch = true
allow_updates = true
allowed_to_leave = true
auto_connect = 0
captive_portal = 180
disable_auto_fallback = true
exclude = [{
address = "192.0.2.0/24"
description = "Exclude testing domains from the tunnel"
}]
exclude_office_ips = true
include = [{
address = "192.0.2.0/24"
description = "Include testing domains in the tunnel"
}]
lan_allow_minutes = 30
lan_allow_subnet_size = 24
register_interface_ip_with_dns = true
sccm_vpn_boundary_support = false
service_mode_v2 = {
mode = "proxy"
port = 3000
}
support_url = "https://1.1.1.1/help"
switch_locked = true
tunnel_protocol = "wireguard"
}
data cloudflare_zero_trust_device_default_profile
computed
Whether to receive update notifications when a new version of the client is available.
If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.
Determines if the operating system will register WARP's local interface IP with your on-premises DNS server.
cloudflare_zero_trust_device_default_profile
data "cloudflare_zero_trust_device_default_profile" "example_zero_trust_device_default_profile" {
account_id = "699d98642c564d2e855e9661899b7252"
}
DevicesPoliciesDefaultFallback Domains
resource cloudflare_zero_trust_device_default_profile_local_domain_fallback
cloudflare_zero_trust_device_default_profile_local_domain_fallback
resource "cloudflare_zero_trust_device_default_profile_local_domain_fallback" "example_zero_trust_device_default_profile_local_domain_fallback" {
account_id = "699d98642c564d2e855e9661899b7252"
domains = [{
suffix = "example.com"
description = "Domain bypass for local development"
dns_server = ["1.1.1.1"]
}]
}
data cloudflare_zero_trust_device_default_profile_local_domain_fallback
cloudflare_zero_trust_device_default_profile_local_domain_fallback
data "cloudflare_zero_trust_device_default_profile_local_domain_fallback" "example_zero_trust_device_default_profile_local_domain_fallback" {
account_id = "699d98642c564d2e855e9661899b7252"
}
DevicesPoliciesDefaultCertificates
resource cloudflare_zero_trust_device_default_profile_certificates
cloudflare_zero_trust_device_default_profile_certificates
resource "cloudflare_zero_trust_device_default_profile_certificates" "example_zero_trust_device_default_profile_certificates" {
zone_id = "699d98642c564d2e855e9661899b7252"
enabled = true
}
data cloudflare_zero_trust_device_default_profile_certificates
cloudflare_zero_trust_device_default_profile_certificates
data "cloudflare_zero_trust_device_default_profile_certificates" "example_zero_trust_device_default_profile_certificates" {
zone_id = "699d98642c564d2e855e9661899b7252"
}
DevicesPoliciesCustom
resource cloudflare_zero_trust_device_custom_profile
required
optional
The amount of time in minutes a user is allowed access to their LAN. A value of 0 will allow LAN access until the next WARP reconnection, such as a reboot or a laptop waking from sleep. Note that this field is omitted from the response if null or unset.
The size of the subnet for the local access network. Note that this field is omitted from the response if null or unset.
Whether to receive update notifications when a new version of the client is available.
If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.
Determines if the operating system will register WARP's local interface IP with your on-premises DNS server.
Determines whether the WARP client indicates to SCCM that it is inside a VPN boundary. (Windows only).
cloudflare_zero_trust_device_custom_profile
resource "cloudflare_zero_trust_device_custom_profile" "example_zero_trust_device_custom_profile" {
account_id = "699d98642c564d2e855e9661899b7252"
match = "identity.email == \"test@cloudflare.com\""
name = "Allow Developers"
precedence = 100
allow_mode_switch = true
allow_updates = true
allowed_to_leave = true
auto_connect = 0
captive_portal = 180
description = "Policy for test teams."
disable_auto_fallback = true
enabled = true
exclude = [{
address = "192.0.2.0/24"
description = "Exclude testing domains from the tunnel"
}]
exclude_office_ips = true
include = [{
address = "192.0.2.0/24"
description = "Include testing domains in the tunnel"
}]
lan_allow_minutes = 30
lan_allow_subnet_size = 24
register_interface_ip_with_dns = true
sccm_vpn_boundary_support = false
service_mode_v2 = {
mode = "proxy"
port = 3000
}
support_url = "https://1.1.1.1/help"
switch_locked = true
tunnel_protocol = "wireguard"
}
data cloudflare_zero_trust_device_custom_profile
computed
Whether to receive update notifications when a new version of the client is available.
If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.
The amount of time in minutes a user is allowed access to their LAN. A value of 0 will allow LAN access until the next WARP reconnection, such as a reboot or a laptop waking from sleep. Note that this field is omitted from the response if null or unset.
The size of the subnet for the local access network. Note that this field is omitted from the response if null or unset.
The wirefilter expression to match devices. Available values: "identity.email", "identity.groups.id", "identity.groups.name", "identity.groups.email", "identity.service_token_uuid", "identity.saml_attributes", "network", "os.name", "os.version".
The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.
Determines if the operating system will register WARP's local interface IP with your on-premises DNS server.
cloudflare_zero_trust_device_custom_profile
data "cloudflare_zero_trust_device_custom_profile" "example_zero_trust_device_custom_profile" {
account_id = "699d98642c564d2e855e9661899b7252"
policy_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
data cloudflare_zero_trust_device_custom_profiles
cloudflare_zero_trust_device_custom_profiles
data "cloudflare_zero_trust_device_custom_profiles" "example_zero_trust_device_custom_profiles" {
account_id = "699d98642c564d2e855e9661899b7252"
}
DevicesPoliciesCustomFallback Domains
resource cloudflare_zero_trust_device_custom_profile_local_domain_fallback
cloudflare_zero_trust_device_custom_profile_local_domain_fallback
resource "cloudflare_zero_trust_device_custom_profile_local_domain_fallback" "example_zero_trust_device_custom_profile_local_domain_fallback" {
account_id = "699d98642c564d2e855e9661899b7252"
policy_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
domains = [{
suffix = "example.com"
description = "Domain bypass for local development"
dns_server = ["1.1.1.1"]
}]
}
data cloudflare_zero_trust_device_custom_profile_local_domain_fallback
cloudflare_zero_trust_device_custom_profile_local_domain_fallback
data "cloudflare_zero_trust_device_custom_profile_local_domain_fallback" "example_zero_trust_device_custom_profile_local_domain_fallback" {
account_id = "699d98642c564d2e855e9661899b7252"
policy_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
DevicesPosture
resource cloudflare_zero_trust_device_posture_rule
required
cloudflare_zero_trust_device_posture_rule
resource "cloudflare_zero_trust_device_posture_rule" "example_zero_trust_device_posture_rule" {
account_id = "699d98642c564d2e855e9661899b7252"
name = "Admin Serial Numbers"
type = "file"
description = "The rule for admin serial numbers"
expiration = "1h"
input = {
operating_system = "linux"
path = "/bin/cat"
exists = true
sha256 = "https://api.us-2.crowdstrike.com"
thumbprint = "0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e"
}
match = [{
platform = "windows"
}]
schedule = "1h"
}
data cloudflare_zero_trust_device_posture_rule
cloudflare_zero_trust_device_posture_rule
data "cloudflare_zero_trust_device_posture_rule" "example_zero_trust_device_posture_rule" {
account_id = "699d98642c564d2e855e9661899b7252"
rule_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
data cloudflare_zero_trust_device_posture_rules
cloudflare_zero_trust_device_posture_rules
data "cloudflare_zero_trust_device_posture_rules" "example_zero_trust_device_posture_rules" {
account_id = "699d98642c564d2e855e9661899b7252"
}
DevicesPostureIntegrations
resource cloudflare_zero_trust_device_posture_integration
required
cloudflare_zero_trust_device_posture_integration
resource "cloudflare_zero_trust_device_posture_integration" "example_zero_trust_device_posture_integration" {
account_id = "699d98642c564d2e855e9661899b7252"
config = {
api_url = "https://as123.awmdm.com/API"
auth_url = "https://na.uemauth.workspaceone.com/connect/token"
client_id = "example client id"
client_secret = "example client secret"
}
interval = "10m"
name = "My Workspace One Integration"
type = "workspace_one"
}
data cloudflare_zero_trust_device_posture_integration
cloudflare_zero_trust_device_posture_integration
data "cloudflare_zero_trust_device_posture_integration" "example_zero_trust_device_posture_integration" {
account_id = "699d98642c564d2e855e9661899b7252"
integration_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
data cloudflare_zero_trust_device_posture_integrations
cloudflare_zero_trust_device_posture_integrations
data "cloudflare_zero_trust_device_posture_integrations" "example_zero_trust_device_posture_integrations" {
account_id = "699d98642c564d2e855e9661899b7252"
}
DevicesSettings
resource cloudflare_zero_trust_device_settings
optional
Sets the time limit, in seconds, that a user can use an override code to bypass WARP.
Controls whether the external emergency disconnect feature is enabled.
The SHA256 fingerprint (64 hexadecimal characters) of the HTTPS server certificate for the external_emergency_signal_url. If provided, the WARP client will use this value to verify the server's identity. The device will ignore any response if the server's certificate fingerprint does not exactly match this value.
The interval at which the WARP client fetches the emergency disconnect signal, formatted as a duration string (e.g., "5m", "2m30s", "1h"). Minimum 30 seconds.
The HTTPS URL from which to fetch the emergency disconnect signal. Must use HTTPS and have an IPv4 or IPv6 address as the host.
cloudflare_zero_trust_device_settings
resource "cloudflare_zero_trust_device_settings" "example_zero_trust_device_settings" {
account_id = "699d98642c564d2e855e9661899b7252"
disable_for_time = 0
external_emergency_signal_enabled = true
external_emergency_signal_fingerprint = "abcd1234567890abcd1234567890abcd1234567890abcd1234567890abcd1234"
external_emergency_signal_interval = "5m"
external_emergency_signal_url = "https://192.0.2.1/signal"
gateway_proxy_enabled = true
gateway_udp_proxy_enabled = true
root_certificate_installation_enabled = true
use_zt_virtual_ip = true
}
data cloudflare_zero_trust_device_settings
computed
Sets the time limit, in seconds, that a user can use an override code to bypass WARP.
Controls whether the external emergency disconnect feature is enabled.
The SHA256 fingerprint (64 hexadecimal characters) of the HTTPS server certificate for the external_emergency_signal_url. If provided, the WARP client will use this value to verify the server's identity. The device will ignore any response if the server's certificate fingerprint does not exactly match this value.
The interval at which the WARP client fetches the emergency disconnect signal, formatted as a duration string (e.g., "5m", "2m30s", "1h"). Minimum 30 seconds.
The HTTPS URL from which to fetch the emergency disconnect signal. Must use HTTPS and have an IPv4 or IPv6 address as the host.
cloudflare_zero_trust_device_settings
data "cloudflare_zero_trust_device_settings" "example_zero_trust_device_settings" {
account_id = "699d98642c564d2e855e9661899b7252"
}