IpsecTunnelArgs

data class IpsecTunnelArgs(val accountId: Output<String>? = null, val allowNullCipher: Output<Boolean>? = null, val cloudflareEndpoint: Output<String>? = null, val customerEndpoint: Output<String>? = null, val description: Output<String>? = null, val fqdnId: Output<String>? = null, val healthCheckDirection: Output<String>? = null, val healthCheckEnabled: Output<Boolean>? = null, val healthCheckRate: Output<String>? = null, val healthCheckTarget: Output<String>? = null, val healthCheckType: Output<String>? = null, val hexId: Output<String>? = null, val interfaceAddress: Output<String>? = null, val name: Output<String>? = null, val psk: Output<String>? = null, val remoteId: Output<String>? = null, val replayProtection: Output<Boolean>? = null, val userId: Output<String>? = null) : ConvertibleToJava<IpsecTunnelArgs>

Provides a resource, that manages IPsec tunnels for Magic Transit.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const example = new cloudflare.IpsecTunnel("example", {
accountId: "f037e56e89293a057740de681ac9abbe",
name: "IPsec_1",
customerEndpoint: "203.0.113.1",
cloudflareEndpoint: "203.0.113.1",
interfaceAddress: "192.0.2.0/31",
description: "Tunnel for ISP X",
healthCheckEnabled: true,
healthCheckTarget: "203.0.113.1",
healthCheckType: "reply",
psk: "asdf12341234",
allowNullCipher: false,
});
import pulumi
import pulumi_cloudflare as cloudflare
example = cloudflare.IpsecTunnel("example",
account_id="f037e56e89293a057740de681ac9abbe",
name="IPsec_1",
customer_endpoint="203.0.113.1",
cloudflare_endpoint="203.0.113.1",
interface_address="192.0.2.0/31",
description="Tunnel for ISP X",
health_check_enabled=True,
health_check_target="203.0.113.1",
health_check_type="reply",
psk="asdf12341234",
allow_null_cipher=False)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var example = new Cloudflare.IpsecTunnel("example", new()
{
AccountId = "f037e56e89293a057740de681ac9abbe",
Name = "IPsec_1",
CustomerEndpoint = "203.0.113.1",
CloudflareEndpoint = "203.0.113.1",
InterfaceAddress = "192.0.2.0/31",
Description = "Tunnel for ISP X",
HealthCheckEnabled = true,
HealthCheckTarget = "203.0.113.1",
HealthCheckType = "reply",
Psk = "asdf12341234",
AllowNullCipher = false,
});
});
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudflare.NewIpsecTunnel(ctx, "example", &cloudflare.IpsecTunnelArgs{
AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
Name: pulumi.String("IPsec_1"),
CustomerEndpoint: pulumi.String("203.0.113.1"),
CloudflareEndpoint: pulumi.String("203.0.113.1"),
InterfaceAddress: pulumi.String("192.0.2.0/31"),
Description: pulumi.String("Tunnel for ISP X"),
HealthCheckEnabled: pulumi.Bool(true),
HealthCheckTarget: pulumi.String("203.0.113.1"),
HealthCheckType: pulumi.String("reply"),
Psk: pulumi.String("asdf12341234"),
AllowNullCipher: pulumi.Bool(false),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.IpsecTunnel;
import com.pulumi.cloudflare.IpsecTunnelArgs;
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 example = new IpsecTunnel("example", IpsecTunnelArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.name("IPsec_1")
.customerEndpoint("203.0.113.1")
.cloudflareEndpoint("203.0.113.1")
.interfaceAddress("192.0.2.0/31")
.description("Tunnel for ISP X")
.healthCheckEnabled(true)
.healthCheckTarget("203.0.113.1")
.healthCheckType("reply")
.psk("asdf12341234")
.allowNullCipher(false)
.build());
}
}
resources:
example:
type: cloudflare:IpsecTunnel
properties:
accountId: f037e56e89293a057740de681ac9abbe
name: IPsec_1
customerEndpoint: 203.0.113.1
cloudflareEndpoint: 203.0.113.1
interfaceAddress: 192.0.2.0/31
description: Tunnel for ISP X
healthCheckEnabled: true
healthCheckTarget: 203.0.113.1
healthCheckType: reply
psk: asdf12341234
allowNullCipher: false

Import

$ pulumi import cloudflare:index/ipsecTunnel:IpsecTunnel example <account_id>/<tunnel_id>

Constructors

Link copied to clipboard
constructor(accountId: Output<String>? = null, allowNullCipher: Output<Boolean>? = null, cloudflareEndpoint: Output<String>? = null, customerEndpoint: Output<String>? = null, description: Output<String>? = null, fqdnId: Output<String>? = null, healthCheckDirection: Output<String>? = null, healthCheckEnabled: Output<Boolean>? = null, healthCheckRate: Output<String>? = null, healthCheckTarget: Output<String>? = null, healthCheckType: Output<String>? = null, hexId: Output<String>? = null, interfaceAddress: Output<String>? = null, name: Output<String>? = null, psk: Output<String>? = null, remoteId: Output<String>? = null, replayProtection: Output<Boolean>? = null, userId: Output<String>? = null)

Properties

Link copied to clipboard
val accountId: Output<String>? = null

The account identifier to target for the resource. Modifying this attribute will force creation of a new resource.

Link copied to clipboard
val allowNullCipher: Output<Boolean>? = null

Specifies if this tunnel may use a null cipher (ENCR_NULL) in Phase 2. Defaults to false.

Link copied to clipboard
val cloudflareEndpoint: Output<String>? = null

IP address assigned to the Cloudflare side of the IPsec tunnel.

Link copied to clipboard
val customerEndpoint: Output<String>? = null

IP address assigned to the customer side of the IPsec tunnel.

Link copied to clipboard
val description: Output<String>? = null

An optional description of the IPsec tunnel.

Link copied to clipboard
val fqdnId: Output<String>? = null

remote_id in the form of a fqdn. This value is generated by cloudflare.

Link copied to clipboard
val healthCheckDirection: Output<String>? = null

Specifies the direction for the health check. Available values: unidirectional, bidirectional Default: unidirectional.

Link copied to clipboard
val healthCheckEnabled: Output<Boolean>? = null

Specifies if ICMP tunnel health checks are enabled. Default: true.

Link copied to clipboard
val healthCheckRate: Output<String>? = null

Specifies the ICMP rate for the health check. Available values: low, mid, high Default: mid.

Link copied to clipboard
val healthCheckTarget: Output<String>? = null

The IP address of the customer endpoint that will receive tunnel health checks. Default: <customer_gre_endpoint>.

Link copied to clipboard
val healthCheckType: Output<String>? = null

Specifies the ICMP echo type for the health check (request or reply). Available values: request, reply Default: reply.

Link copied to clipboard
val hexId: Output<String>? = null

remote_id as a hex string. This value is generated by cloudflare.

Link copied to clipboard
val interfaceAddress: Output<String>? = null

31-bit prefix (/31 in CIDR notation) supporting 2 hosts, one for each side of the tunnel.

Link copied to clipboard
val name: Output<String>? = null

Name of the IPsec tunnel.

Link copied to clipboard
val psk: Output<String>? = null

Pre shared key to be used with the IPsec tunnel. If left unset, it will be autogenerated.

Link copied to clipboard
val remoteId: Output<String>? = null

ID to be used while setting up the IPsec tunnel. This value is generated by cloudflare.

Link copied to clipboard
val replayProtection: Output<Boolean>? = null

Specifies if replay protection is enabled. Defaults to false.

Link copied to clipboard
val userId: Output<String>? = null

remote_id in the form of an email address. This value is generated by cloudflare.

Functions

Link copied to clipboard
open override fun toJava(): IpsecTunnelArgs