IpsecTunnel

class IpsecTunnel : KotlinCustomResource

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>

Properties

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

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>?

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

Link copied to clipboard

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

Link copied to clipboard

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

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

An optional description of the IPsec tunnel.

Link copied to clipboard
val fqdnId: Output<String>

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard
val healthCheckRate: Output<String>

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

Link copied to clipboard

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>

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>

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

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

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>

Name of the IPsec tunnel.

Link copied to clipboard
val psk: Output<String>

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val remoteId: Output<String>

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

Link copied to clipboard

Specifies if replay protection is enabled. Defaults to false.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val userId: Output<String>

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