ionoscloud.vpn.IpsecTunnel
Explore with Pulumi AI
An IPSec Gateway Tunnel resource manages the creation, management, and deletion of VPN IPSec Gateway Tunnels within the IONOS Cloud infrastructure. This resource facilitates the creation of VPN IPSec Gateway Tunnels, enabling secure connections between your network resources.
Usage example
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
// Basic example
const testDatacenter = new ionoscloud.compute.Datacenter("test_datacenter", {
name: "test_vpn_gateway_basic",
location: "de/fra",
});
const testLan = new ionoscloud.compute.Lan("test_lan", {
name: "test_lan_basic",
"public": false,
datacenterId: testDatacenter.id,
});
const testIpblock = new ionoscloud.compute.IPBlock("test_ipblock", {
name: "test_ipblock_basic",
location: "de/fra",
size: 1,
});
const example = new ionoscloud.vpn.IpsecGateway("example", {
name: "ipsec_gateway_basic",
location: "de/fra",
gatewayIp: testIpblock.ips[0],
version: "IKEv2",
description: "This gateway connects site A to VDC X.",
connections: [{
datacenterId: testDatacenter.id,
lanId: testLan.id,
ipv4Cidr: "192.168.100.10/24",
}],
});
const exampleIpsecTunnel = new ionoscloud.vpn.IpsecTunnel("example", {
location: "de/fra",
gatewayId: example.id,
name: "example-tunnel",
remoteHost: "vpn.mycompany.com",
description: "Allows local subnet X to connect to virtual network Y.",
auth: {
method: "PSK",
pskKey: "X2wosbaw74M8hQGbK3jCCaEusR6CCFRa",
},
ike: {
diffieHellmanGroup: "16-MODP4096",
encryptionAlgorithm: "AES256",
integrityAlgorithm: "SHA256",
lifetime: 86400,
},
esps: [{
diffieHellmanGroup: "16-MODP4096",
encryptionAlgorithm: "AES256",
integrityAlgorithm: "SHA256",
lifetime: 3600,
}],
cloudNetworkCidrs: ["0.0.0.0/0"],
peerNetworkCidrs: ["1.2.3.4/32"],
});
import pulumi
import pulumi_ionoscloud as ionoscloud
# Basic example
test_datacenter = ionoscloud.compute.Datacenter("test_datacenter",
name="test_vpn_gateway_basic",
location="de/fra")
test_lan = ionoscloud.compute.Lan("test_lan",
name="test_lan_basic",
public=False,
datacenter_id=test_datacenter.id)
test_ipblock = ionoscloud.compute.IPBlock("test_ipblock",
name="test_ipblock_basic",
location="de/fra",
size=1)
example = ionoscloud.vpn.IpsecGateway("example",
name="ipsec_gateway_basic",
location="de/fra",
gateway_ip=test_ipblock.ips[0],
version="IKEv2",
description="This gateway connects site A to VDC X.",
connections=[{
"datacenter_id": test_datacenter.id,
"lan_id": test_lan.id,
"ipv4_cidr": "192.168.100.10/24",
}])
example_ipsec_tunnel = ionoscloud.vpn.IpsecTunnel("example",
location="de/fra",
gateway_id=example.id,
name="example-tunnel",
remote_host="vpn.mycompany.com",
description="Allows local subnet X to connect to virtual network Y.",
auth={
"method": "PSK",
"psk_key": "X2wosbaw74M8hQGbK3jCCaEusR6CCFRa",
},
ike={
"diffie_hellman_group": "16-MODP4096",
"encryption_algorithm": "AES256",
"integrity_algorithm": "SHA256",
"lifetime": 86400,
},
esps=[{
"diffie_hellman_group": "16-MODP4096",
"encryption_algorithm": "AES256",
"integrity_algorithm": "SHA256",
"lifetime": 3600,
}],
cloud_network_cidrs=["0.0.0.0/0"],
peer_network_cidrs=["1.2.3.4/32"])
package main
import (
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Basic example
testDatacenter, err := compute.NewDatacenter(ctx, "test_datacenter", &compute.DatacenterArgs{
Name: pulumi.String("test_vpn_gateway_basic"),
Location: pulumi.String("de/fra"),
})
if err != nil {
return err
}
testLan, err := compute.NewLan(ctx, "test_lan", &compute.LanArgs{
Name: pulumi.String("test_lan_basic"),
Public: pulumi.Bool(false),
DatacenterId: testDatacenter.ID(),
})
if err != nil {
return err
}
testIpblock, err := compute.NewIPBlock(ctx, "test_ipblock", &compute.IPBlockArgs{
Name: pulumi.String("test_ipblock_basic"),
Location: pulumi.String("de/fra"),
Size: pulumi.Int(1),
})
if err != nil {
return err
}
example, err := vpn.NewIpsecGateway(ctx, "example", &vpn.IpsecGatewayArgs{
Name: pulumi.String("ipsec_gateway_basic"),
Location: pulumi.String("de/fra"),
GatewayIp: testIpblock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[0], nil
}).(pulumi.StringOutput),
Version: pulumi.String("IKEv2"),
Description: pulumi.String("This gateway connects site A to VDC X."),
Connections: vpn.IpsecGatewayConnectionArray{
&vpn.IpsecGatewayConnectionArgs{
DatacenterId: testDatacenter.ID(),
LanId: testLan.ID(),
Ipv4Cidr: pulumi.String("192.168.100.10/24"),
},
},
})
if err != nil {
return err
}
_, err = vpn.NewIpsecTunnel(ctx, "example", &vpn.IpsecTunnelArgs{
Location: pulumi.String("de/fra"),
GatewayId: example.ID(),
Name: pulumi.String("example-tunnel"),
RemoteHost: pulumi.String("vpn.mycompany.com"),
Description: pulumi.String("Allows local subnet X to connect to virtual network Y."),
Auth: &vpn.IpsecTunnelAuthArgs{
Method: pulumi.String("PSK"),
PskKey: pulumi.String("X2wosbaw74M8hQGbK3jCCaEusR6CCFRa"),
},
Ike: &vpn.IpsecTunnelIkeArgs{
DiffieHellmanGroup: pulumi.String("16-MODP4096"),
EncryptionAlgorithm: pulumi.String("AES256"),
IntegrityAlgorithm: pulumi.String("SHA256"),
Lifetime: pulumi.Int(86400),
},
Esps: vpn.IpsecTunnelEspArray{
&vpn.IpsecTunnelEspArgs{
DiffieHellmanGroup: pulumi.String("16-MODP4096"),
EncryptionAlgorithm: pulumi.String("AES256"),
IntegrityAlgorithm: pulumi.String("SHA256"),
Lifetime: pulumi.Int(3600),
},
},
CloudNetworkCidrs: pulumi.StringArray{
pulumi.String("0.0.0.0/0"),
},
PeerNetworkCidrs: pulumi.StringArray{
pulumi.String("1.2.3.4/32"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
return await Deployment.RunAsync(() =>
{
// Basic example
var testDatacenter = new Ionoscloud.Compute.Datacenter("test_datacenter", new()
{
Name = "test_vpn_gateway_basic",
Location = "de/fra",
});
var testLan = new Ionoscloud.Compute.Lan("test_lan", new()
{
Name = "test_lan_basic",
Public = false,
DatacenterId = testDatacenter.Id,
});
var testIpblock = new Ionoscloud.Compute.IPBlock("test_ipblock", new()
{
Name = "test_ipblock_basic",
Location = "de/fra",
Size = 1,
});
var example = new Ionoscloud.Vpn.IpsecGateway("example", new()
{
Name = "ipsec_gateway_basic",
Location = "de/fra",
GatewayIp = testIpblock.Ips.Apply(ips => ips[0]),
Version = "IKEv2",
Description = "This gateway connects site A to VDC X.",
Connections = new[]
{
new Ionoscloud.Vpn.Inputs.IpsecGatewayConnectionArgs
{
DatacenterId = testDatacenter.Id,
LanId = testLan.Id,
Ipv4Cidr = "192.168.100.10/24",
},
},
});
var exampleIpsecTunnel = new Ionoscloud.Vpn.IpsecTunnel("example", new()
{
Location = "de/fra",
GatewayId = example.Id,
Name = "example-tunnel",
RemoteHost = "vpn.mycompany.com",
Description = "Allows local subnet X to connect to virtual network Y.",
Auth = new Ionoscloud.Vpn.Inputs.IpsecTunnelAuthArgs
{
Method = "PSK",
PskKey = "X2wosbaw74M8hQGbK3jCCaEusR6CCFRa",
},
Ike = new Ionoscloud.Vpn.Inputs.IpsecTunnelIkeArgs
{
DiffieHellmanGroup = "16-MODP4096",
EncryptionAlgorithm = "AES256",
IntegrityAlgorithm = "SHA256",
Lifetime = 86400,
},
Esps = new[]
{
new Ionoscloud.Vpn.Inputs.IpsecTunnelEspArgs
{
DiffieHellmanGroup = "16-MODP4096",
EncryptionAlgorithm = "AES256",
IntegrityAlgorithm = "SHA256",
Lifetime = 3600,
},
},
CloudNetworkCidrs = new[]
{
"0.0.0.0/0",
},
PeerNetworkCidrs = new[]
{
"1.2.3.4/32",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.Datacenter;
import com.pulumi.ionoscloud.compute.DatacenterArgs;
import com.pulumi.ionoscloud.compute.Lan;
import com.pulumi.ionoscloud.compute.LanArgs;
import com.pulumi.ionoscloud.compute.IPBlock;
import com.pulumi.ionoscloud.compute.IPBlockArgs;
import com.pulumi.ionoscloud.vpn.IpsecGateway;
import com.pulumi.ionoscloud.vpn.IpsecGatewayArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecGatewayConnectionArgs;
import com.pulumi.ionoscloud.vpn.IpsecTunnel;
import com.pulumi.ionoscloud.vpn.IpsecTunnelArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecTunnelAuthArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecTunnelIkeArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecTunnelEspArgs;
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) {
// Basic example
var testDatacenter = new Datacenter("testDatacenter", DatacenterArgs.builder()
.name("test_vpn_gateway_basic")
.location("de/fra")
.build());
var testLan = new Lan("testLan", LanArgs.builder()
.name("test_lan_basic")
.public_(false)
.datacenterId(testDatacenter.id())
.build());
var testIpblock = new IPBlock("testIpblock", IPBlockArgs.builder()
.name("test_ipblock_basic")
.location("de/fra")
.size(1)
.build());
var example = new IpsecGateway("example", IpsecGatewayArgs.builder()
.name("ipsec_gateway_basic")
.location("de/fra")
.gatewayIp(testIpblock.ips().applyValue(ips -> ips[0]))
.version("IKEv2")
.description("This gateway connects site A to VDC X.")
.connections(IpsecGatewayConnectionArgs.builder()
.datacenterId(testDatacenter.id())
.lanId(testLan.id())
.ipv4Cidr("192.168.100.10/24")
.build())
.build());
var exampleIpsecTunnel = new IpsecTunnel("exampleIpsecTunnel", IpsecTunnelArgs.builder()
.location("de/fra")
.gatewayId(example.id())
.name("example-tunnel")
.remoteHost("vpn.mycompany.com")
.description("Allows local subnet X to connect to virtual network Y.")
.auth(IpsecTunnelAuthArgs.builder()
.method("PSK")
.pskKey("X2wosbaw74M8hQGbK3jCCaEusR6CCFRa")
.build())
.ike(IpsecTunnelIkeArgs.builder()
.diffieHellmanGroup("16-MODP4096")
.encryptionAlgorithm("AES256")
.integrityAlgorithm("SHA256")
.lifetime(86400)
.build())
.esps(IpsecTunnelEspArgs.builder()
.diffieHellmanGroup("16-MODP4096")
.encryptionAlgorithm("AES256")
.integrityAlgorithm("SHA256")
.lifetime(3600)
.build())
.cloudNetworkCidrs("0.0.0.0/0")
.peerNetworkCidrs("1.2.3.4/32")
.build());
}
}
resources:
# Basic example
testDatacenter:
type: ionoscloud:compute:Datacenter
name: test_datacenter
properties:
name: test_vpn_gateway_basic
location: de/fra
testLan:
type: ionoscloud:compute:Lan
name: test_lan
properties:
name: test_lan_basic
public: false
datacenterId: ${testDatacenter.id}
testIpblock:
type: ionoscloud:compute:IPBlock
name: test_ipblock
properties:
name: test_ipblock_basic
location: de/fra
size: 1
example:
type: ionoscloud:vpn:IpsecGateway
properties:
name: ipsec_gateway_basic
location: de/fra
gatewayIp: ${testIpblock.ips[0]}
version: IKEv2
description: This gateway connects site A to VDC X.
connections:
- datacenterId: ${testDatacenter.id}
lanId: ${testLan.id}
ipv4Cidr: 192.168.100.10/24
exampleIpsecTunnel:
type: ionoscloud:vpn:IpsecTunnel
name: example
properties:
location: de/fra
gatewayId: ${example.id}
name: example-tunnel
remoteHost: vpn.mycompany.com
description: Allows local subnet X to connect to virtual network Y.
auth:
method: PSK
pskKey: X2wosbaw74M8hQGbK3jCCaEusR6CCFRa
ike:
diffieHellmanGroup: 16-MODP4096
encryptionAlgorithm: AES256
integrityAlgorithm: SHA256
lifetime: 86400
esps:
- diffieHellmanGroup: 16-MODP4096
encryptionAlgorithm: AES256
integrityAlgorithm: SHA256
lifetime: 3600
cloudNetworkCidrs:
- 0.0.0.0/0
peerNetworkCidrs:
- 1.2.3.4/32
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
import * as random from "@pulumi/random";
// Complete example
const testDatacenter = new ionoscloud.compute.Datacenter("test_datacenter", {
name: "vpn_gateway_test",
location: "de/fra",
});
const testLan = new ionoscloud.compute.Lan("test_lan", {
name: "test_lan",
"public": false,
datacenterId: testDatacenter.id,
ipv6CidrBlock: lanIpv6CidrBlock,
});
const testIpblock = new ionoscloud.compute.IPBlock("test_ipblock", {
name: "test_ipblock",
location: "de/fra",
size: 1,
});
const serverImagePassword = new random.index.Password("server_image_password", {
length: 16,
special: false,
});
const testServer = new ionoscloud.compute.Server("test_server", {
name: "test_server",
datacenterId: testDatacenter.id,
cores: 1,
ram: 2048,
imageName: "ubuntu:latest",
imagePassword: serverImagePassword.result,
nic: {
lan: testLan.id,
name: "test_nic",
dhcp: true,
dhcpv6: false,
ipv6CidrBlock: ipv6CidrBlock,
firewallActive: false,
},
volume: {
name: "test_volume",
diskType: "HDD",
size: 10,
licenceType: "OTHER",
},
});
const example = new ionoscloud.vpn.IpsecGateway("example", {
name: "ipsec-gateway",
location: "de/fra",
gatewayIp: testIpblock.ips[0],
version: "IKEv2",
description: "This gateway connects site A to VDC X.",
connections: [{
datacenterId: testDatacenter.id,
lanId: testLan.id,
ipv4Cidr: "ipv4_cidr_block_from_nic",
ipv6Cidr: "ipv6_cidr_block_from_dc",
}],
});
const exampleIpsecTunnel = new ionoscloud.vpn.IpsecTunnel("example", {
location: "de/fra",
gatewayId: example.id,
name: "example-tunnel",
remoteHost: "vpn.mycompany.com",
description: "Allows local subnet X to connect to virtual network Y.",
auth: {
method: "PSK",
pskKey: "X2wosbaw74M8hQGbK3jCCaEusR6CCFRa",
},
ike: {
diffieHellmanGroup: "16-MODP4096",
encryptionAlgorithm: "AES256",
integrityAlgorithm: "SHA256",
lifetime: 86400,
},
esps: [{
diffieHellmanGroup: "16-MODP4096",
encryptionAlgorithm: "AES256",
integrityAlgorithm: "SHA256",
lifetime: 3600,
}],
cloudNetworkCidrs: ["0.0.0.0/0"],
peerNetworkCidrs: ["1.2.3.4/32"],
});
import pulumi
import pulumi_ionoscloud as ionoscloud
import pulumi_random as random
# Complete example
test_datacenter = ionoscloud.compute.Datacenter("test_datacenter",
name="vpn_gateway_test",
location="de/fra")
test_lan = ionoscloud.compute.Lan("test_lan",
name="test_lan",
public=False,
datacenter_id=test_datacenter.id,
ipv6_cidr_block=lan_ipv6_cidr_block)
test_ipblock = ionoscloud.compute.IPBlock("test_ipblock",
name="test_ipblock",
location="de/fra",
size=1)
server_image_password = random.index.Password("server_image_password",
length=16,
special=False)
test_server = ionoscloud.compute.Server("test_server",
name="test_server",
datacenter_id=test_datacenter.id,
cores=1,
ram=2048,
image_name="ubuntu:latest",
image_password=server_image_password["result"],
nic={
"lan": test_lan.id,
"name": "test_nic",
"dhcp": True,
"dhcpv6": False,
"ipv6_cidr_block": ipv6_cidr_block,
"firewall_active": False,
},
volume={
"name": "test_volume",
"disk_type": "HDD",
"size": 10,
"licence_type": "OTHER",
})
example = ionoscloud.vpn.IpsecGateway("example",
name="ipsec-gateway",
location="de/fra",
gateway_ip=test_ipblock.ips[0],
version="IKEv2",
description="This gateway connects site A to VDC X.",
connections=[{
"datacenter_id": test_datacenter.id,
"lan_id": test_lan.id,
"ipv4_cidr": "ipv4_cidr_block_from_nic",
"ipv6_cidr": "ipv6_cidr_block_from_dc",
}])
example_ipsec_tunnel = ionoscloud.vpn.IpsecTunnel("example",
location="de/fra",
gateway_id=example.id,
name="example-tunnel",
remote_host="vpn.mycompany.com",
description="Allows local subnet X to connect to virtual network Y.",
auth={
"method": "PSK",
"psk_key": "X2wosbaw74M8hQGbK3jCCaEusR6CCFRa",
},
ike={
"diffie_hellman_group": "16-MODP4096",
"encryption_algorithm": "AES256",
"integrity_algorithm": "SHA256",
"lifetime": 86400,
},
esps=[{
"diffie_hellman_group": "16-MODP4096",
"encryption_algorithm": "AES256",
"integrity_algorithm": "SHA256",
"lifetime": 3600,
}],
cloud_network_cidrs=["0.0.0.0/0"],
peer_network_cidrs=["1.2.3.4/32"])
package main
import (
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/vpn"
"github.com/pulumi/pulumi-random/sdk/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Complete example
testDatacenter, err := compute.NewDatacenter(ctx, "test_datacenter", &compute.DatacenterArgs{
Name: pulumi.String("vpn_gateway_test"),
Location: pulumi.String("de/fra"),
})
if err != nil {
return err
}
testLan, err := compute.NewLan(ctx, "test_lan", &compute.LanArgs{
Name: pulumi.String("test_lan"),
Public: pulumi.Bool(false),
DatacenterId: testDatacenter.ID(),
Ipv6CidrBlock: pulumi.Any(lanIpv6CidrBlock),
})
if err != nil {
return err
}
testIpblock, err := compute.NewIPBlock(ctx, "test_ipblock", &compute.IPBlockArgs{
Name: pulumi.String("test_ipblock"),
Location: pulumi.String("de/fra"),
Size: pulumi.Int(1),
})
if err != nil {
return err
}
serverImagePassword, err := random.NewPassword(ctx, "server_image_password", &random.PasswordArgs{
Length: 16,
Special: false,
})
if err != nil {
return err
}
_, err = compute.NewServer(ctx, "test_server", &compute.ServerArgs{
Name: pulumi.String("test_server"),
DatacenterId: testDatacenter.ID(),
Cores: pulumi.Int(1),
Ram: pulumi.Int(2048),
ImageName: pulumi.String("ubuntu:latest"),
ImagePassword: serverImagePassword.Result,
Nic: &compute.ServerNicArgs{
Lan: testLan.ID(),
Name: pulumi.String("test_nic"),
Dhcp: pulumi.Bool(true),
Dhcpv6: pulumi.Bool(false),
Ipv6CidrBlock: pulumi.Any(ipv6CidrBlock),
FirewallActive: pulumi.Bool(false),
},
Volume: &compute.ServerVolumeArgs{
Name: pulumi.String("test_volume"),
DiskType: pulumi.String("HDD"),
Size: pulumi.Int(10),
LicenceType: pulumi.String("OTHER"),
},
})
if err != nil {
return err
}
example, err := vpn.NewIpsecGateway(ctx, "example", &vpn.IpsecGatewayArgs{
Name: pulumi.String("ipsec-gateway"),
Location: pulumi.String("de/fra"),
GatewayIp: testIpblock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[0], nil
}).(pulumi.StringOutput),
Version: pulumi.String("IKEv2"),
Description: pulumi.String("This gateway connects site A to VDC X."),
Connections: vpn.IpsecGatewayConnectionArray{
&vpn.IpsecGatewayConnectionArgs{
DatacenterId: testDatacenter.ID(),
LanId: testLan.ID(),
Ipv4Cidr: pulumi.String("ipv4_cidr_block_from_nic"),
Ipv6Cidr: pulumi.String("ipv6_cidr_block_from_dc"),
},
},
})
if err != nil {
return err
}
_, err = vpn.NewIpsecTunnel(ctx, "example", &vpn.IpsecTunnelArgs{
Location: pulumi.String("de/fra"),
GatewayId: example.ID(),
Name: pulumi.String("example-tunnel"),
RemoteHost: pulumi.String("vpn.mycompany.com"),
Description: pulumi.String("Allows local subnet X to connect to virtual network Y."),
Auth: &vpn.IpsecTunnelAuthArgs{
Method: pulumi.String("PSK"),
PskKey: pulumi.String("X2wosbaw74M8hQGbK3jCCaEusR6CCFRa"),
},
Ike: &vpn.IpsecTunnelIkeArgs{
DiffieHellmanGroup: pulumi.String("16-MODP4096"),
EncryptionAlgorithm: pulumi.String("AES256"),
IntegrityAlgorithm: pulumi.String("SHA256"),
Lifetime: pulumi.Int(86400),
},
Esps: vpn.IpsecTunnelEspArray{
&vpn.IpsecTunnelEspArgs{
DiffieHellmanGroup: pulumi.String("16-MODP4096"),
EncryptionAlgorithm: pulumi.String("AES256"),
IntegrityAlgorithm: pulumi.String("SHA256"),
Lifetime: pulumi.Int(3600),
},
},
CloudNetworkCidrs: pulumi.StringArray{
pulumi.String("0.0.0.0/0"),
},
PeerNetworkCidrs: pulumi.StringArray{
pulumi.String("1.2.3.4/32"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
// Complete example
var testDatacenter = new Ionoscloud.Compute.Datacenter("test_datacenter", new()
{
Name = "vpn_gateway_test",
Location = "de/fra",
});
var testLan = new Ionoscloud.Compute.Lan("test_lan", new()
{
Name = "test_lan",
Public = false,
DatacenterId = testDatacenter.Id,
Ipv6CidrBlock = lanIpv6CidrBlock,
});
var testIpblock = new Ionoscloud.Compute.IPBlock("test_ipblock", new()
{
Name = "test_ipblock",
Location = "de/fra",
Size = 1,
});
var serverImagePassword = new Random.Index.Password("server_image_password", new()
{
Length = 16,
Special = false,
});
var testServer = new Ionoscloud.Compute.Server("test_server", new()
{
Name = "test_server",
DatacenterId = testDatacenter.Id,
Cores = 1,
Ram = 2048,
ImageName = "ubuntu:latest",
ImagePassword = serverImagePassword.Result,
Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
{
Lan = testLan.Id,
Name = "test_nic",
Dhcp = true,
Dhcpv6 = false,
Ipv6CidrBlock = ipv6CidrBlock,
FirewallActive = false,
},
Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
{
Name = "test_volume",
DiskType = "HDD",
Size = 10,
LicenceType = "OTHER",
},
});
var example = new Ionoscloud.Vpn.IpsecGateway("example", new()
{
Name = "ipsec-gateway",
Location = "de/fra",
GatewayIp = testIpblock.Ips.Apply(ips => ips[0]),
Version = "IKEv2",
Description = "This gateway connects site A to VDC X.",
Connections = new[]
{
new Ionoscloud.Vpn.Inputs.IpsecGatewayConnectionArgs
{
DatacenterId = testDatacenter.Id,
LanId = testLan.Id,
Ipv4Cidr = "ipv4_cidr_block_from_nic",
Ipv6Cidr = "ipv6_cidr_block_from_dc",
},
},
});
var exampleIpsecTunnel = new Ionoscloud.Vpn.IpsecTunnel("example", new()
{
Location = "de/fra",
GatewayId = example.Id,
Name = "example-tunnel",
RemoteHost = "vpn.mycompany.com",
Description = "Allows local subnet X to connect to virtual network Y.",
Auth = new Ionoscloud.Vpn.Inputs.IpsecTunnelAuthArgs
{
Method = "PSK",
PskKey = "X2wosbaw74M8hQGbK3jCCaEusR6CCFRa",
},
Ike = new Ionoscloud.Vpn.Inputs.IpsecTunnelIkeArgs
{
DiffieHellmanGroup = "16-MODP4096",
EncryptionAlgorithm = "AES256",
IntegrityAlgorithm = "SHA256",
Lifetime = 86400,
},
Esps = new[]
{
new Ionoscloud.Vpn.Inputs.IpsecTunnelEspArgs
{
DiffieHellmanGroup = "16-MODP4096",
EncryptionAlgorithm = "AES256",
IntegrityAlgorithm = "SHA256",
Lifetime = 3600,
},
},
CloudNetworkCidrs = new[]
{
"0.0.0.0/0",
},
PeerNetworkCidrs = new[]
{
"1.2.3.4/32",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.Datacenter;
import com.pulumi.ionoscloud.compute.DatacenterArgs;
import com.pulumi.ionoscloud.compute.Lan;
import com.pulumi.ionoscloud.compute.LanArgs;
import com.pulumi.ionoscloud.compute.IPBlock;
import com.pulumi.ionoscloud.compute.IPBlockArgs;
import com.pulumi.random.password;
import com.pulumi.random.PasswordArgs;
import com.pulumi.ionoscloud.compute.Server;
import com.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.vpn.IpsecGateway;
import com.pulumi.ionoscloud.vpn.IpsecGatewayArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecGatewayConnectionArgs;
import com.pulumi.ionoscloud.vpn.IpsecTunnel;
import com.pulumi.ionoscloud.vpn.IpsecTunnelArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecTunnelAuthArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecTunnelIkeArgs;
import com.pulumi.ionoscloud.vpn.inputs.IpsecTunnelEspArgs;
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) {
// Complete example
var testDatacenter = new Datacenter("testDatacenter", DatacenterArgs.builder()
.name("vpn_gateway_test")
.location("de/fra")
.build());
var testLan = new Lan("testLan", LanArgs.builder()
.name("test_lan")
.public_(false)
.datacenterId(testDatacenter.id())
.ipv6CidrBlock(lanIpv6CidrBlock)
.build());
var testIpblock = new IPBlock("testIpblock", IPBlockArgs.builder()
.name("test_ipblock")
.location("de/fra")
.size(1)
.build());
var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
.length(16)
.special(false)
.build());
var testServer = new Server("testServer", ServerArgs.builder()
.name("test_server")
.datacenterId(testDatacenter.id())
.cores(1)
.ram(2048)
.imageName("ubuntu:latest")
.imagePassword(serverImagePassword.result())
.nic(ServerNicArgs.builder()
.lan(testLan.id())
.name("test_nic")
.dhcp(true)
.dhcpv6(false)
.ipv6CidrBlock(ipv6CidrBlock)
.firewallActive(false)
.build())
.volume(ServerVolumeArgs.builder()
.name("test_volume")
.diskType("HDD")
.size(10)
.licenceType("OTHER")
.build())
.build());
var example = new IpsecGateway("example", IpsecGatewayArgs.builder()
.name("ipsec-gateway")
.location("de/fra")
.gatewayIp(testIpblock.ips().applyValue(ips -> ips[0]))
.version("IKEv2")
.description("This gateway connects site A to VDC X.")
.connections(IpsecGatewayConnectionArgs.builder()
.datacenterId(testDatacenter.id())
.lanId(testLan.id())
.ipv4Cidr("ipv4_cidr_block_from_nic")
.ipv6Cidr("ipv6_cidr_block_from_dc")
.build())
.build());
var exampleIpsecTunnel = new IpsecTunnel("exampleIpsecTunnel", IpsecTunnelArgs.builder()
.location("de/fra")
.gatewayId(example.id())
.name("example-tunnel")
.remoteHost("vpn.mycompany.com")
.description("Allows local subnet X to connect to virtual network Y.")
.auth(IpsecTunnelAuthArgs.builder()
.method("PSK")
.pskKey("X2wosbaw74M8hQGbK3jCCaEusR6CCFRa")
.build())
.ike(IpsecTunnelIkeArgs.builder()
.diffieHellmanGroup("16-MODP4096")
.encryptionAlgorithm("AES256")
.integrityAlgorithm("SHA256")
.lifetime(86400)
.build())
.esps(IpsecTunnelEspArgs.builder()
.diffieHellmanGroup("16-MODP4096")
.encryptionAlgorithm("AES256")
.integrityAlgorithm("SHA256")
.lifetime(3600)
.build())
.cloudNetworkCidrs("0.0.0.0/0")
.peerNetworkCidrs("1.2.3.4/32")
.build());
}
}
resources:
# Complete example
testDatacenter:
type: ionoscloud:compute:Datacenter
name: test_datacenter
properties:
name: vpn_gateway_test
location: de/fra
testLan:
type: ionoscloud:compute:Lan
name: test_lan
properties:
name: test_lan
public: false
datacenterId: ${testDatacenter.id}
ipv6CidrBlock: ${lanIpv6CidrBlock}
testIpblock:
type: ionoscloud:compute:IPBlock
name: test_ipblock
properties:
name: test_ipblock
location: de/fra
size: 1
testServer:
type: ionoscloud:compute:Server
name: test_server
properties:
name: test_server
datacenterId: ${testDatacenter.id}
cores: 1
ram: 2048
imageName: ubuntu:latest
imagePassword: ${serverImagePassword.result}
nic:
lan: ${testLan.id}
name: test_nic
dhcp: true
dhcpv6: false
ipv6CidrBlock: ${ipv6CidrBlock}
firewallActive: false
volume:
name: test_volume
diskType: HDD
size: 10
licenceType: OTHER
serverImagePassword:
type: random:password
name: server_image_password
properties:
length: 16
special: false
example:
type: ionoscloud:vpn:IpsecGateway
properties:
name: ipsec-gateway
location: de/fra
gatewayIp: ${testIpblock.ips[0]}
version: IKEv2
description: This gateway connects site A to VDC X.
connections:
- datacenterId: ${testDatacenter.id}
lanId: ${testLan.id}
ipv4Cidr: ipv4_cidr_block_from_nic
ipv6Cidr: ipv6_cidr_block_from_dc
exampleIpsecTunnel:
type: ionoscloud:vpn:IpsecTunnel
name: example
properties:
location: de/fra
gatewayId: ${example.id}
name: example-tunnel
remoteHost: vpn.mycompany.com
description: Allows local subnet X to connect to virtual network Y.
auth:
method: PSK
pskKey: X2wosbaw74M8hQGbK3jCCaEusR6CCFRa
ike:
diffieHellmanGroup: 16-MODP4096
encryptionAlgorithm: AES256
integrityAlgorithm: SHA256
lifetime: 86400
esps:
- diffieHellmanGroup: 16-MODP4096
encryptionAlgorithm: AES256
integrityAlgorithm: SHA256
lifetime: 3600
cloudNetworkCidrs:
- 0.0.0.0/0
peerNetworkCidrs:
- 1.2.3.4/32
Create IpsecTunnel Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new IpsecTunnel(name: string, args: IpsecTunnelArgs, opts?: CustomResourceOptions);
@overload
def IpsecTunnel(resource_name: str,
args: IpsecTunnelArgs,
opts: Optional[ResourceOptions] = None)
@overload
def IpsecTunnel(resource_name: str,
opts: Optional[ResourceOptions] = None,
auth: Optional[IpsecTunnelAuthArgs] = None,
cloud_network_cidrs: Optional[Sequence[str]] = None,
esps: Optional[Sequence[IpsecTunnelEspArgs]] = None,
gateway_id: Optional[str] = None,
ike: Optional[IpsecTunnelIkeArgs] = None,
peer_network_cidrs: Optional[Sequence[str]] = None,
remote_host: Optional[str] = None,
description: Optional[str] = None,
location: Optional[str] = None,
name: Optional[str] = None)
func NewIpsecTunnel(ctx *Context, name string, args IpsecTunnelArgs, opts ...ResourceOption) (*IpsecTunnel, error)
public IpsecTunnel(string name, IpsecTunnelArgs args, CustomResourceOptions? opts = null)
public IpsecTunnel(String name, IpsecTunnelArgs args)
public IpsecTunnel(String name, IpsecTunnelArgs args, CustomResourceOptions options)
type: ionoscloud:vpn:IpsecTunnel
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args IpsecTunnelArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args IpsecTunnelArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args IpsecTunnelArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args IpsecTunnelArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args IpsecTunnelArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var ipsecTunnelResource = new Ionoscloud.Vpn.IpsecTunnel("ipsecTunnelResource", new()
{
Auth = new Ionoscloud.Vpn.Inputs.IpsecTunnelAuthArgs
{
Method = "string",
PskKey = "string",
},
CloudNetworkCidrs = new[]
{
"string",
},
Esps = new[]
{
new Ionoscloud.Vpn.Inputs.IpsecTunnelEspArgs
{
DiffieHellmanGroup = "string",
EncryptionAlgorithm = "string",
IntegrityAlgorithm = "string",
Lifetime = 0,
},
},
GatewayId = "string",
Ike = new Ionoscloud.Vpn.Inputs.IpsecTunnelIkeArgs
{
DiffieHellmanGroup = "string",
EncryptionAlgorithm = "string",
IntegrityAlgorithm = "string",
Lifetime = 0,
},
PeerNetworkCidrs = new[]
{
"string",
},
RemoteHost = "string",
Description = "string",
Location = "string",
Name = "string",
});
example, err := vpn.NewIpsecTunnel(ctx, "ipsecTunnelResource", &vpn.IpsecTunnelArgs{
Auth: &vpn.IpsecTunnelAuthArgs{
Method: pulumi.String("string"),
PskKey: pulumi.String("string"),
},
CloudNetworkCidrs: pulumi.StringArray{
pulumi.String("string"),
},
Esps: vpn.IpsecTunnelEspArray{
&vpn.IpsecTunnelEspArgs{
DiffieHellmanGroup: pulumi.String("string"),
EncryptionAlgorithm: pulumi.String("string"),
IntegrityAlgorithm: pulumi.String("string"),
Lifetime: pulumi.Int(0),
},
},
GatewayId: pulumi.String("string"),
Ike: &vpn.IpsecTunnelIkeArgs{
DiffieHellmanGroup: pulumi.String("string"),
EncryptionAlgorithm: pulumi.String("string"),
IntegrityAlgorithm: pulumi.String("string"),
Lifetime: pulumi.Int(0),
},
PeerNetworkCidrs: pulumi.StringArray{
pulumi.String("string"),
},
RemoteHost: pulumi.String("string"),
Description: pulumi.String("string"),
Location: pulumi.String("string"),
Name: pulumi.String("string"),
})
var ipsecTunnelResource = new IpsecTunnel("ipsecTunnelResource", IpsecTunnelArgs.builder()
.auth(IpsecTunnelAuthArgs.builder()
.method("string")
.pskKey("string")
.build())
.cloudNetworkCidrs("string")
.esps(IpsecTunnelEspArgs.builder()
.diffieHellmanGroup("string")
.encryptionAlgorithm("string")
.integrityAlgorithm("string")
.lifetime(0)
.build())
.gatewayId("string")
.ike(IpsecTunnelIkeArgs.builder()
.diffieHellmanGroup("string")
.encryptionAlgorithm("string")
.integrityAlgorithm("string")
.lifetime(0)
.build())
.peerNetworkCidrs("string")
.remoteHost("string")
.description("string")
.location("string")
.name("string")
.build());
ipsec_tunnel_resource = ionoscloud.vpn.IpsecTunnel("ipsecTunnelResource",
auth={
"method": "string",
"psk_key": "string",
},
cloud_network_cidrs=["string"],
esps=[{
"diffie_hellman_group": "string",
"encryption_algorithm": "string",
"integrity_algorithm": "string",
"lifetime": 0,
}],
gateway_id="string",
ike={
"diffie_hellman_group": "string",
"encryption_algorithm": "string",
"integrity_algorithm": "string",
"lifetime": 0,
},
peer_network_cidrs=["string"],
remote_host="string",
description="string",
location="string",
name="string")
const ipsecTunnelResource = new ionoscloud.vpn.IpsecTunnel("ipsecTunnelResource", {
auth: {
method: "string",
pskKey: "string",
},
cloudNetworkCidrs: ["string"],
esps: [{
diffieHellmanGroup: "string",
encryptionAlgorithm: "string",
integrityAlgorithm: "string",
lifetime: 0,
}],
gatewayId: "string",
ike: {
diffieHellmanGroup: "string",
encryptionAlgorithm: "string",
integrityAlgorithm: "string",
lifetime: 0,
},
peerNetworkCidrs: ["string"],
remoteHost: "string",
description: "string",
location: "string",
name: "string",
});
type: ionoscloud:vpn:IpsecTunnel
properties:
auth:
method: string
pskKey: string
cloudNetworkCidrs:
- string
description: string
esps:
- diffieHellmanGroup: string
encryptionAlgorithm: string
integrityAlgorithm: string
lifetime: 0
gatewayId: string
ike:
diffieHellmanGroup: string
encryptionAlgorithm: string
integrityAlgorithm: string
lifetime: 0
location: string
name: string
peerNetworkCidrs:
- string
remoteHost: string
IpsecTunnel Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The IpsecTunnel resource accepts the following input properties:
- Auth
Ionoscloud.
Ipsec Tunnel Auth - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- Cloud
Network List<string>Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Esps
List<Ionoscloud.
Ipsec Tunnel Esp> - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- Gateway
Id string - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- Ike
Ionoscloud.
Ipsec Tunnel Ike - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- Peer
Network List<string>Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Remote
Host string - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- Description string
- [string] The human-readable description of your IPSec Gateway Tunnel.
- Location string
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- Name string
- [string] The name of the IPSec Gateway Tunnel.
- Auth
Ipsec
Tunnel Auth Args - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- Cloud
Network []stringCidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Esps
[]Ipsec
Tunnel Esp Args - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- Gateway
Id string - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- Ike
Ipsec
Tunnel Ike Args - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- Peer
Network []stringCidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Remote
Host string - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- Description string
- [string] The human-readable description of your IPSec Gateway Tunnel.
- Location string
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- Name string
- [string] The name of the IPSec Gateway Tunnel.
- auth
Ipsec
Tunnel Auth - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud
Network List<String>Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- esps
List<Ipsec
Tunnel Esp> - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway
Id String - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike
Ipsec
Tunnel Ike - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- peer
Network List<String>Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote
Host String - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- description String
- [string] The human-readable description of your IPSec Gateway Tunnel.
- location String
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name String
- [string] The name of the IPSec Gateway Tunnel.
- auth
Ipsec
Tunnel Auth - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud
Network string[]Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- esps
Ipsec
Tunnel Esp[] - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway
Id string - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike
Ipsec
Tunnel Ike - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- peer
Network string[]Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote
Host string - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- description string
- [string] The human-readable description of your IPSec Gateway Tunnel.
- location string
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name string
- [string] The name of the IPSec Gateway Tunnel.
- auth
Ipsec
Tunnel Auth Args - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud_
network_ Sequence[str]cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- esps
Sequence[Ipsec
Tunnel Esp Args] - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway_
id str - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike
Ipsec
Tunnel Ike Args - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- peer_
network_ Sequence[str]cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote_
host str - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- description str
- [string] The human-readable description of your IPSec Gateway Tunnel.
- location str
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name str
- [string] The name of the IPSec Gateway Tunnel.
- auth Property Map
- [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud
Network List<String>Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- esps List<Property Map>
- [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway
Id String - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike Property Map
- [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- peer
Network List<String>Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote
Host String - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- description String
- [string] The human-readable description of your IPSec Gateway Tunnel.
- location String
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name String
- [string] The name of the IPSec Gateway Tunnel.
Outputs
All input properties are implicitly available as output properties. Additionally, the IpsecTunnel resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing IpsecTunnel Resource
Get an existing IpsecTunnel resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: IpsecTunnelState, opts?: CustomResourceOptions): IpsecTunnel
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
auth: Optional[IpsecTunnelAuthArgs] = None,
cloud_network_cidrs: Optional[Sequence[str]] = None,
description: Optional[str] = None,
esps: Optional[Sequence[IpsecTunnelEspArgs]] = None,
gateway_id: Optional[str] = None,
ike: Optional[IpsecTunnelIkeArgs] = None,
location: Optional[str] = None,
name: Optional[str] = None,
peer_network_cidrs: Optional[Sequence[str]] = None,
remote_host: Optional[str] = None) -> IpsecTunnel
func GetIpsecTunnel(ctx *Context, name string, id IDInput, state *IpsecTunnelState, opts ...ResourceOption) (*IpsecTunnel, error)
public static IpsecTunnel Get(string name, Input<string> id, IpsecTunnelState? state, CustomResourceOptions? opts = null)
public static IpsecTunnel get(String name, Output<String> id, IpsecTunnelState state, CustomResourceOptions options)
resources: _: type: ionoscloud:vpn:IpsecTunnel get: id: ${id}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Auth
Ionoscloud.
Ipsec Tunnel Auth - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- Cloud
Network List<string>Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Description string
- [string] The human-readable description of your IPSec Gateway Tunnel.
- Esps
List<Ionoscloud.
Ipsec Tunnel Esp> - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- Gateway
Id string - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- Ike
Ionoscloud.
Ipsec Tunnel Ike - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- Location string
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- Name string
- [string] The name of the IPSec Gateway Tunnel.
- Peer
Network List<string>Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Remote
Host string - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- Auth
Ipsec
Tunnel Auth Args - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- Cloud
Network []stringCidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Description string
- [string] The human-readable description of your IPSec Gateway Tunnel.
- Esps
[]Ipsec
Tunnel Esp Args - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- Gateway
Id string - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- Ike
Ipsec
Tunnel Ike Args - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- Location string
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- Name string
- [string] The name of the IPSec Gateway Tunnel.
- Peer
Network []stringCidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- Remote
Host string - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- auth
Ipsec
Tunnel Auth - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud
Network List<String>Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- description String
- [string] The human-readable description of your IPSec Gateway Tunnel.
- esps
List<Ipsec
Tunnel Esp> - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway
Id String - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike
Ipsec
Tunnel Ike - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- location String
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name String
- [string] The name of the IPSec Gateway Tunnel.
- peer
Network List<String>Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote
Host String - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- auth
Ipsec
Tunnel Auth - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud
Network string[]Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- description string
- [string] The human-readable description of your IPSec Gateway Tunnel.
- esps
Ipsec
Tunnel Esp[] - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway
Id string - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike
Ipsec
Tunnel Ike - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- location string
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name string
- [string] The name of the IPSec Gateway Tunnel.
- peer
Network string[]Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote
Host string - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- auth
Ipsec
Tunnel Auth Args - [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud_
network_ Sequence[str]cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- description str
- [string] The human-readable description of your IPSec Gateway Tunnel.
- esps
Sequence[Ipsec
Tunnel Esp Args] - [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway_
id str - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike
Ipsec
Tunnel Ike Args - [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- location str
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name str
- [string] The name of the IPSec Gateway Tunnel.
- peer_
network_ Sequence[str]cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote_
host str - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
- auth Property Map
- [string] Properties with all data needed to define IPSec Authentication. Minimum items: 1. Maximum items: 1.
- cloud
Network List<String>Cidrs - [list] The network CIDRs on the "Left" side that are allowed to connect to the IPSec tunnel, i.e. the CIDRs within your IONOS Cloud LAN. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- description String
- [string] The human-readable description of your IPSec Gateway Tunnel.
- esps List<Property Map>
- [list] Settings for the IPSec SA (ESP) phase. Minimum items: 1. Maximum items: 1.
- gateway
Id String - [string] The ID of the IPSec Gateway that the tunnel belongs to.
- ike Property Map
- [list] Settings for the initial security exchange phase. Minimum items: 1. Maximum items: 1.
- location String
- [string] The location of the IPSec Gateway Tunnel. Supported locations: de/fra, de/txl, es/vit, gb/lhr, us/ewr, us/las, us/mci, fr/par
- name String
- [string] The name of the IPSec Gateway Tunnel.
- peer
Network List<String>Cidrs - [list] The network CIDRs on the "Right" side that are allowed to connect to the IPSec tunnel. Specify "0.0.0.0/0" or "::/0" for all addresses. Minimum items: 1. Maximum items: 20.
- remote
Host String - [string] The remote peer host fully qualified domain name or public IPV4 IP to connect to.
Supporting Types
IpsecTunnelAuth, IpsecTunnelAuthArgs
IpsecTunnelEsp, IpsecTunnelEspArgs
- Diffie
Hellman stringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - Encryption
Algorithm string - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - Integrity
Algorithm string - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - Lifetime int
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- Diffie
Hellman stringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - Encryption
Algorithm string - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - Integrity
Algorithm string - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - Lifetime int
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie
Hellman StringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption
Algorithm String - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity
Algorithm String - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime Integer
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie
Hellman stringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption
Algorithm string - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity
Algorithm string - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime number
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie_
hellman_ strgroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption_
algorithm str - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity_
algorithm str - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime int
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie
Hellman StringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption
Algorithm String - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity
Algorithm String - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime Number
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
IpsecTunnelIke, IpsecTunnelIkeArgs
- Diffie
Hellman stringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - Encryption
Algorithm string - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - Integrity
Algorithm string - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - Lifetime int
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- Diffie
Hellman stringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - Encryption
Algorithm string - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - Integrity
Algorithm string - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - Lifetime int
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie
Hellman StringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption
Algorithm String - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity
Algorithm String - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime Integer
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie
Hellman stringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption
Algorithm string - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity
Algorithm string - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime number
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie_
hellman_ strgroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption_
algorithm str - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity_
algorithm str - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime int
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
- diffie
Hellman StringGroup - [string] The Diffie-Hellman Group to use for IPSec Encryption. Possible
values:
15-MODP3072
,16-MODP4096
,19-ECP256
,20-ECP384
,21-ECP521
,28-ECP256BP
,29-ECP384BP
,30-ECP512BP
. Default value:16-MODP4096
. - encryption
Algorithm String - [string] The encryption algorithm to use for IPSec Encryption. Possible
values:
AES128
,AES256
,AES128-CTR
,AES256-CTR
,AES128-GCM-16
,AES256-GCM-16
,AES128-GCM-12
,AES256-GCM-12
,AES128-CCM-12
,AES256-CCM-12
. Default value:AES256
. - integrity
Algorithm String - [string] The integrity algorithm to use for IPSec Encryption. Possible
values:
SHA256
,SHA384
,SHA512
,AES-XCBC
. Default value:SHA256
. - lifetime Number
- [string] The phase lifetime in seconds. Minimum value:
3600
. Maximum value:86400
. Default value:86400
.
Import
The resource can be imported using the location
, gateway_id
and tunnel_id
, for example:
$ pulumi import ionoscloud:vpn/ipsecTunnel:IpsecTunnel example location:gateway_id:tunnel_id
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- ionoscloud ionos-cloud/pulumi-ionoscloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
ionoscloud
Terraform Provider.