SplitTunnel

class SplitTunnel : KotlinCustomResource

Provides a Cloudflare Split Tunnel resource. Split tunnels are used to either include or exclude lists of routes from the WARP client's tunnel.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.SplitTunnel;
import com.pulumi.cloudflare.SplitTunnelArgs;
import com.pulumi.cloudflare.inputs.SplitTunnelTunnelArgs;
import com.pulumi.cloudflare.DeviceSettingsPolicy;
import com.pulumi.cloudflare.DeviceSettingsPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleSplitTunnelExclude = new SplitTunnel("exampleSplitTunnelExclude", SplitTunnelArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.mode("exclude")
.tunnels(SplitTunnelTunnelArgs.builder()
.host("*.example.com")
.description("example domain")
.build())
.build());
var exampleSplitTunnelIncludeSplitTunnel = new SplitTunnel("exampleSplitTunnelIncludeSplitTunnel", SplitTunnelArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.mode("include")
.tunnels(SplitTunnelTunnelArgs.builder()
.host("*.example.com")
.description("example domain")
.build())
.build());
var developerWarpPolicy = new DeviceSettingsPolicy("developerWarpPolicy", DeviceSettingsPolicyArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.name("Developers")
.precedence(10)
.match("any(identity.groups.name[*] in {\"Developers\"})")
.switchLocked(true)
.build());
var exampleDeviceSettingsPolicySplitTunnelExclude = new SplitTunnel("exampleDeviceSettingsPolicySplitTunnelExclude", SplitTunnelArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.policyId(developerWarpPolicy.id())
.mode("exclude")
.tunnels(SplitTunnelTunnelArgs.builder()
.host("*.example.com")
.description("example domain")
.build())
.build());
var exampleSplitTunnelIncludeIndex_splitTunnelSplitTunnel = new SplitTunnel("exampleSplitTunnelIncludeIndex/splitTunnelSplitTunnel", SplitTunnelArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.policyId(cloudflare_device_policy.developer_warp_policy().id())
.mode("include")
.tunnels(SplitTunnelTunnelArgs.builder()
.host("*.example.com")
.description("example domain")
.build())
.build());
}
}

Import

Split Tunnels for default device policies must use "default" as the policy ID.

$ pulumi import cloudflare:index/splitTunnel:SplitTunnel example <account_id>/<policy_id>/<mode>

Properties

Link copied to clipboard
val accountId: Output<String>

The account identifier to target for the resource.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val mode: Output<String>

The mode of the split tunnel policy. Available values: include, exclude.

Link copied to clipboard
val policyId: Output<String>?

The settings policy for which to configure this split tunnel policy.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The value of the tunnel attributes.

Link copied to clipboard
val urn: Output<String>