1. Packages
  2. Ionoscloud Provider
  3. API Docs
  4. VpnWireguardGateway
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

ionoscloud.VpnWireguardGateway

Explore with Pulumi AI

ionoscloud logo
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

    Overview

    The ionoscloud.VpnWireguardGateway resource manages a WireGuard Gateway within the IONOS Cloud infrastructure. This resource facilitates the creation, management, and deletion of WireGuard VPN Gateways, enabling secure connections between your network resources.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@pulumi/ionoscloud";
    
    const datacenterExample = new ionoscloud.Datacenter("datacenterExample", {location: "de/fra"});
    const ipblockExample = new ionoscloud.Ipblock("ipblockExample", {
        location: "de/fra",
        size: 1,
    });
    const lanExample = new ionoscloud.Lan("lanExample", {datacenterId: datacenterExample.datacenterId});
    const gateway = new ionoscloud.VpnWireguardGateway("gateway", {
        location: "de/fra",
        description: "description",
        privateKey: "private",
        gatewayIp: ipblockExample.ips[0],
        interfaceIpv4Cidr: "192.168.1.100/24",
        connections: [{
            datacenterId: datacenterExample.datacenterId,
            lanId: lanExample.lanId,
            ipv4Cidr: "192.168.1.108/24",
        }],
        maintenanceWindow: {
            dayOfTheWeek: "Monday",
            time: "09:00:00",
        },
        tier: "STANDARD",
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    
    datacenter_example = ionoscloud.Datacenter("datacenterExample", location="de/fra")
    ipblock_example = ionoscloud.Ipblock("ipblockExample",
        location="de/fra",
        size=1)
    lan_example = ionoscloud.Lan("lanExample", datacenter_id=datacenter_example.datacenter_id)
    gateway = ionoscloud.VpnWireguardGateway("gateway",
        location="de/fra",
        description="description",
        private_key="private",
        gateway_ip=ipblock_example.ips[0],
        interface_ipv4_cidr="192.168.1.100/24",
        connections=[{
            "datacenter_id": datacenter_example.datacenter_id,
            "lan_id": lan_example.lan_id,
            "ipv4_cidr": "192.168.1.108/24",
        }],
        maintenance_window={
            "day_of_the_week": "Monday",
            "time": "09:00:00",
        },
        tier="STANDARD")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenterExample, err := ionoscloud.NewDatacenter(ctx, "datacenterExample", &ionoscloud.DatacenterArgs{
    			Location: pulumi.String("de/fra"),
    		})
    		if err != nil {
    			return err
    		}
    		ipblockExample, err := ionoscloud.NewIpblock(ctx, "ipblockExample", &ionoscloud.IpblockArgs{
    			Location: pulumi.String("de/fra"),
    			Size:     pulumi.Float64(1),
    		})
    		if err != nil {
    			return err
    		}
    		lanExample, err := ionoscloud.NewLan(ctx, "lanExample", &ionoscloud.LanArgs{
    			DatacenterId: datacenterExample.DatacenterId,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ionoscloud.NewVpnWireguardGateway(ctx, "gateway", &ionoscloud.VpnWireguardGatewayArgs{
    			Location:    pulumi.String("de/fra"),
    			Description: pulumi.String("description"),
    			PrivateKey:  pulumi.String("private"),
    			GatewayIp: ipblockExample.Ips.ApplyT(func(ips []string) (string, error) {
    				return ips[0], nil
    			}).(pulumi.StringOutput),
    			InterfaceIpv4Cidr: pulumi.String("192.168.1.100/24"),
    			Connections: ionoscloud.VpnWireguardGatewayConnectionArray{
    				&ionoscloud.VpnWireguardGatewayConnectionArgs{
    					DatacenterId: datacenterExample.DatacenterId,
    					LanId:        lanExample.LanId,
    					Ipv4Cidr:     pulumi.String("192.168.1.108/24"),
    				},
    			},
    			MaintenanceWindow: &ionoscloud.VpnWireguardGatewayMaintenanceWindowArgs{
    				DayOfTheWeek: pulumi.String("Monday"),
    				Time:         pulumi.String("09:00:00"),
    			},
    			Tier: pulumi.String("STANDARD"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Pulumi.Ionoscloud;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenterExample = new Ionoscloud.Datacenter("datacenterExample", new()
        {
            Location = "de/fra",
        });
    
        var ipblockExample = new Ionoscloud.Ipblock("ipblockExample", new()
        {
            Location = "de/fra",
            Size = 1,
        });
    
        var lanExample = new Ionoscloud.Lan("lanExample", new()
        {
            DatacenterId = datacenterExample.DatacenterId,
        });
    
        var gateway = new Ionoscloud.VpnWireguardGateway("gateway", new()
        {
            Location = "de/fra",
            Description = "description",
            PrivateKey = "private",
            GatewayIp = ipblockExample.Ips.Apply(ips => ips[0]),
            InterfaceIpv4Cidr = "192.168.1.100/24",
            Connections = new[]
            {
                new Ionoscloud.Inputs.VpnWireguardGatewayConnectionArgs
                {
                    DatacenterId = datacenterExample.DatacenterId,
                    LanId = lanExample.LanId,
                    Ipv4Cidr = "192.168.1.108/24",
                },
            },
            MaintenanceWindow = new Ionoscloud.Inputs.VpnWireguardGatewayMaintenanceWindowArgs
            {
                DayOfTheWeek = "Monday",
                Time = "09:00:00",
            },
            Tier = "STANDARD",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.Datacenter;
    import com.pulumi.ionoscloud.DatacenterArgs;
    import com.pulumi.ionoscloud.Ipblock;
    import com.pulumi.ionoscloud.IpblockArgs;
    import com.pulumi.ionoscloud.Lan;
    import com.pulumi.ionoscloud.LanArgs;
    import com.pulumi.ionoscloud.VpnWireguardGateway;
    import com.pulumi.ionoscloud.VpnWireguardGatewayArgs;
    import com.pulumi.ionoscloud.inputs.VpnWireguardGatewayConnectionArgs;
    import com.pulumi.ionoscloud.inputs.VpnWireguardGatewayMaintenanceWindowArgs;
    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 datacenterExample = new Datacenter("datacenterExample", DatacenterArgs.builder()
                .location("de/fra")
                .build());
    
            var ipblockExample = new Ipblock("ipblockExample", IpblockArgs.builder()
                .location("de/fra")
                .size(1)
                .build());
    
            var lanExample = new Lan("lanExample", LanArgs.builder()
                .datacenterId(datacenterExample.datacenterId())
                .build());
    
            var gateway = new VpnWireguardGateway("gateway", VpnWireguardGatewayArgs.builder()
                .location("de/fra")
                .description("description")
                .privateKey("private")
                .gatewayIp(ipblockExample.ips().applyValue(ips -> ips[0]))
                .interfaceIpv4Cidr("192.168.1.100/24")
                .connections(VpnWireguardGatewayConnectionArgs.builder()
                    .datacenterId(datacenterExample.datacenterId())
                    .lanId(lanExample.lanId())
                    .ipv4Cidr("192.168.1.108/24")
                    .build())
                .maintenanceWindow(VpnWireguardGatewayMaintenanceWindowArgs.builder()
                    .dayOfTheWeek("Monday")
                    .time("09:00:00")
                    .build())
                .tier("STANDARD")
                .build());
    
        }
    }
    
    resources:
      datacenterExample:
        type: ionoscloud:Datacenter
        properties:
          location: de/fra
      ipblockExample:
        type: ionoscloud:Ipblock
        properties:
          location: de/fra
          size: 1
      lanExample:
        type: ionoscloud:Lan
        properties:
          datacenterId: ${datacenterExample.datacenterId}
      gateway:
        type: ionoscloud:VpnWireguardGateway
        properties:
          location: de/fra
          description: description
          privateKey: private
          gatewayIp: ${ipblockExample.ips[0]}
          interfaceIpv4Cidr: 192.168.1.100/24
          connections:
            - datacenterId: ${datacenterExample.datacenterId}
              lanId: ${lanExample.lanId}
              ipv4Cidr: 192.168.1.108/24
          maintenanceWindow:
            dayOfTheWeek: Monday
            time: 09:00:00
          tier: STANDARD
    

    Create VpnWireguardGateway Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new VpnWireguardGateway(name: string, args: VpnWireguardGatewayArgs, opts?: CustomResourceOptions);
    @overload
    def VpnWireguardGateway(resource_name: str,
                            args: VpnWireguardGatewayArgs,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def VpnWireguardGateway(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            connections: Optional[Sequence[VpnWireguardGatewayConnectionArgs]] = None,
                            private_key: Optional[str] = None,
                            gateway_ip: Optional[str] = None,
                            interface_ipv4_cidr: Optional[str] = None,
                            interface_ipv6_cidr: Optional[str] = None,
                            listen_port: Optional[float] = None,
                            location: Optional[str] = None,
                            maintenance_window: Optional[VpnWireguardGatewayMaintenanceWindowArgs] = None,
                            name: Optional[str] = None,
                            description: Optional[str] = None,
                            tier: Optional[str] = None,
                            timeouts: Optional[VpnWireguardGatewayTimeoutsArgs] = None,
                            vpn_wireguard_gateway_id: Optional[str] = None)
    func NewVpnWireguardGateway(ctx *Context, name string, args VpnWireguardGatewayArgs, opts ...ResourceOption) (*VpnWireguardGateway, error)
    public VpnWireguardGateway(string name, VpnWireguardGatewayArgs args, CustomResourceOptions? opts = null)
    public VpnWireguardGateway(String name, VpnWireguardGatewayArgs args)
    public VpnWireguardGateway(String name, VpnWireguardGatewayArgs args, CustomResourceOptions options)
    
    type: ionoscloud:VpnWireguardGateway
    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 VpnWireguardGatewayArgs
    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 VpnWireguardGatewayArgs
    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 VpnWireguardGatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VpnWireguardGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VpnWireguardGatewayArgs
    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 vpnWireguardGatewayResource = new Ionoscloud.VpnWireguardGateway("vpnWireguardGatewayResource", new()
    {
        Connections = new[]
        {
            new Ionoscloud.Inputs.VpnWireguardGatewayConnectionArgs
            {
                DatacenterId = "string",
                LanId = "string",
                Ipv4Cidr = "string",
                Ipv6Cidr = "string",
            },
        },
        PrivateKey = "string",
        GatewayIp = "string",
        InterfaceIpv4Cidr = "string",
        InterfaceIpv6Cidr = "string",
        ListenPort = 0,
        Location = "string",
        MaintenanceWindow = new Ionoscloud.Inputs.VpnWireguardGatewayMaintenanceWindowArgs
        {
            DayOfTheWeek = "string",
            Time = "string",
        },
        Name = "string",
        Description = "string",
        Tier = "string",
        Timeouts = new Ionoscloud.Inputs.VpnWireguardGatewayTimeoutsArgs
        {
            Create = "string",
            Default = "string",
            Delete = "string",
            Update = "string",
        },
        VpnWireguardGatewayId = "string",
    });
    
    example, err := ionoscloud.NewVpnWireguardGateway(ctx, "vpnWireguardGatewayResource", &ionoscloud.VpnWireguardGatewayArgs{
    	Connections: ionoscloud.VpnWireguardGatewayConnectionArray{
    		&ionoscloud.VpnWireguardGatewayConnectionArgs{
    			DatacenterId: pulumi.String("string"),
    			LanId:        pulumi.String("string"),
    			Ipv4Cidr:     pulumi.String("string"),
    			Ipv6Cidr:     pulumi.String("string"),
    		},
    	},
    	PrivateKey:        pulumi.String("string"),
    	GatewayIp:         pulumi.String("string"),
    	InterfaceIpv4Cidr: pulumi.String("string"),
    	InterfaceIpv6Cidr: pulumi.String("string"),
    	ListenPort:        pulumi.Float64(0),
    	Location:          pulumi.String("string"),
    	MaintenanceWindow: &ionoscloud.VpnWireguardGatewayMaintenanceWindowArgs{
    		DayOfTheWeek: pulumi.String("string"),
    		Time:         pulumi.String("string"),
    	},
    	Name:        pulumi.String("string"),
    	Description: pulumi.String("string"),
    	Tier:        pulumi.String("string"),
    	Timeouts: &ionoscloud.VpnWireguardGatewayTimeoutsArgs{
    		Create:  pulumi.String("string"),
    		Default: pulumi.String("string"),
    		Delete:  pulumi.String("string"),
    		Update:  pulumi.String("string"),
    	},
    	VpnWireguardGatewayId: pulumi.String("string"),
    })
    
    var vpnWireguardGatewayResource = new VpnWireguardGateway("vpnWireguardGatewayResource", VpnWireguardGatewayArgs.builder()
        .connections(VpnWireguardGatewayConnectionArgs.builder()
            .datacenterId("string")
            .lanId("string")
            .ipv4Cidr("string")
            .ipv6Cidr("string")
            .build())
        .privateKey("string")
        .gatewayIp("string")
        .interfaceIpv4Cidr("string")
        .interfaceIpv6Cidr("string")
        .listenPort(0)
        .location("string")
        .maintenanceWindow(VpnWireguardGatewayMaintenanceWindowArgs.builder()
            .dayOfTheWeek("string")
            .time("string")
            .build())
        .name("string")
        .description("string")
        .tier("string")
        .timeouts(VpnWireguardGatewayTimeoutsArgs.builder()
            .create("string")
            .default_("string")
            .delete("string")
            .update("string")
            .build())
        .vpnWireguardGatewayId("string")
        .build());
    
    vpn_wireguard_gateway_resource = ionoscloud.VpnWireguardGateway("vpnWireguardGatewayResource",
        connections=[{
            "datacenter_id": "string",
            "lan_id": "string",
            "ipv4_cidr": "string",
            "ipv6_cidr": "string",
        }],
        private_key="string",
        gateway_ip="string",
        interface_ipv4_cidr="string",
        interface_ipv6_cidr="string",
        listen_port=0,
        location="string",
        maintenance_window={
            "day_of_the_week": "string",
            "time": "string",
        },
        name="string",
        description="string",
        tier="string",
        timeouts={
            "create": "string",
            "default": "string",
            "delete": "string",
            "update": "string",
        },
        vpn_wireguard_gateway_id="string")
    
    const vpnWireguardGatewayResource = new ionoscloud.VpnWireguardGateway("vpnWireguardGatewayResource", {
        connections: [{
            datacenterId: "string",
            lanId: "string",
            ipv4Cidr: "string",
            ipv6Cidr: "string",
        }],
        privateKey: "string",
        gatewayIp: "string",
        interfaceIpv4Cidr: "string",
        interfaceIpv6Cidr: "string",
        listenPort: 0,
        location: "string",
        maintenanceWindow: {
            dayOfTheWeek: "string",
            time: "string",
        },
        name: "string",
        description: "string",
        tier: "string",
        timeouts: {
            create: "string",
            "default": "string",
            "delete": "string",
            update: "string",
        },
        vpnWireguardGatewayId: "string",
    });
    
    type: ionoscloud:VpnWireguardGateway
    properties:
        connections:
            - datacenterId: string
              ipv4Cidr: string
              ipv6Cidr: string
              lanId: string
        description: string
        gatewayIp: string
        interfaceIpv4Cidr: string
        interfaceIpv6Cidr: string
        listenPort: 0
        location: string
        maintenanceWindow:
            dayOfTheWeek: string
            time: string
        name: string
        privateKey: string
        tier: string
        timeouts:
            create: string
            default: string
            delete: string
            update: string
        vpnWireguardGatewayId: string
    

    VpnWireguardGateway 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 VpnWireguardGateway resource accepts the following input properties:

    Connections List<VpnWireguardGatewayConnection>
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    GatewayIp string
    [String] The IP address of the WireGuard Gateway.
    PrivateKey string
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    Description string
    [String] A description of the WireGuard Gateway.
    InterfaceIpv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    InterfaceIpv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    ListenPort double
    Location string
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    MaintenanceWindow VpnWireguardGatewayMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    Name string
    [String] The name of the WireGuard Gateway.
    Tier string
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    Timeouts VpnWireguardGatewayTimeouts
    VpnWireguardGatewayId string
    Connections []VpnWireguardGatewayConnectionArgs
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    GatewayIp string
    [String] The IP address of the WireGuard Gateway.
    PrivateKey string
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    Description string
    [String] A description of the WireGuard Gateway.
    InterfaceIpv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    InterfaceIpv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    ListenPort float64
    Location string
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    MaintenanceWindow VpnWireguardGatewayMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    Name string
    [String] The name of the WireGuard Gateway.
    Tier string
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    Timeouts VpnWireguardGatewayTimeoutsArgs
    VpnWireguardGatewayId string
    connections List<VpnWireguardGatewayConnection>
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    gatewayIp String
    [String] The IP address of the WireGuard Gateway.
    privateKey String
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    description String
    [String] A description of the WireGuard Gateway.
    interfaceIpv4Cidr String
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interfaceIpv6Cidr String
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listenPort Double
    location String
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenanceWindow VpnWireguardGatewayMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name String
    [String] The name of the WireGuard Gateway.
    tier String
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts VpnWireguardGatewayTimeouts
    vpnWireguardGatewayId String
    connections VpnWireguardGatewayConnection[]
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    gatewayIp string
    [String] The IP address of the WireGuard Gateway.
    privateKey string
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    description string
    [String] A description of the WireGuard Gateway.
    interfaceIpv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interfaceIpv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listenPort number
    location string
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenanceWindow VpnWireguardGatewayMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name string
    [String] The name of the WireGuard Gateway.
    tier string
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts VpnWireguardGatewayTimeouts
    vpnWireguardGatewayId string
    connections Sequence[VpnWireguardGatewayConnectionArgs]
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    gateway_ip str
    [String] The IP address of the WireGuard Gateway.
    private_key str
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    description str
    [String] A description of the WireGuard Gateway.
    interface_ipv4_cidr str
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interface_ipv6_cidr str
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listen_port float
    location str
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenance_window VpnWireguardGatewayMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name str
    [String] The name of the WireGuard Gateway.
    tier str
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts VpnWireguardGatewayTimeoutsArgs
    vpn_wireguard_gateway_id str
    connections List<Property Map>
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    gatewayIp String
    [String] The IP address of the WireGuard Gateway.
    privateKey String
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    description String
    [String] A description of the WireGuard Gateway.
    interfaceIpv4Cidr String
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interfaceIpv6Cidr String
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listenPort Number
    location String
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenanceWindow Property Map
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name String
    [String] The name of the WireGuard Gateway.
    tier String
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts Property Map
    vpnWireguardGatewayId String

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VpnWireguardGateway resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    PublicKey string

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    Status string
    (Computed)[String] The current status of the WireGuard Gateway.
    Id string
    The provider-assigned unique ID for this managed resource.
    PublicKey string

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    Status string
    (Computed)[String] The current status of the WireGuard Gateway.
    id String
    The provider-assigned unique ID for this managed resource.
    publicKey String

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status String
    (Computed)[String] The current status of the WireGuard Gateway.
    id string
    The provider-assigned unique ID for this managed resource.
    publicKey string

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status string
    (Computed)[String] The current status of the WireGuard Gateway.
    id str
    The provider-assigned unique ID for this managed resource.
    public_key str

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status str
    (Computed)[String] The current status of the WireGuard Gateway.
    id String
    The provider-assigned unique ID for this managed resource.
    publicKey String

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status String
    (Computed)[String] The current status of the WireGuard Gateway.

    Look up Existing VpnWireguardGateway Resource

    Get an existing VpnWireguardGateway 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?: VpnWireguardGatewayState, opts?: CustomResourceOptions): VpnWireguardGateway
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            connections: Optional[Sequence[VpnWireguardGatewayConnectionArgs]] = None,
            description: Optional[str] = None,
            gateway_ip: Optional[str] = None,
            interface_ipv4_cidr: Optional[str] = None,
            interface_ipv6_cidr: Optional[str] = None,
            listen_port: Optional[float] = None,
            location: Optional[str] = None,
            maintenance_window: Optional[VpnWireguardGatewayMaintenanceWindowArgs] = None,
            name: Optional[str] = None,
            private_key: Optional[str] = None,
            public_key: Optional[str] = None,
            status: Optional[str] = None,
            tier: Optional[str] = None,
            timeouts: Optional[VpnWireguardGatewayTimeoutsArgs] = None,
            vpn_wireguard_gateway_id: Optional[str] = None) -> VpnWireguardGateway
    func GetVpnWireguardGateway(ctx *Context, name string, id IDInput, state *VpnWireguardGatewayState, opts ...ResourceOption) (*VpnWireguardGateway, error)
    public static VpnWireguardGateway Get(string name, Input<string> id, VpnWireguardGatewayState? state, CustomResourceOptions? opts = null)
    public static VpnWireguardGateway get(String name, Output<String> id, VpnWireguardGatewayState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:VpnWireguardGateway    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.
    The following state arguments are supported:
    Connections List<VpnWireguardGatewayConnection>
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    Description string
    [String] A description of the WireGuard Gateway.
    GatewayIp string
    [String] The IP address of the WireGuard Gateway.
    InterfaceIpv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    InterfaceIpv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    ListenPort double
    Location string
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    MaintenanceWindow VpnWireguardGatewayMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    Name string
    [String] The name of the WireGuard Gateway.
    PrivateKey string
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    PublicKey string

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    Status string
    (Computed)[String] The current status of the WireGuard Gateway.
    Tier string
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    Timeouts VpnWireguardGatewayTimeouts
    VpnWireguardGatewayId string
    Connections []VpnWireguardGatewayConnectionArgs
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    Description string
    [String] A description of the WireGuard Gateway.
    GatewayIp string
    [String] The IP address of the WireGuard Gateway.
    InterfaceIpv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    InterfaceIpv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    ListenPort float64
    Location string
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    MaintenanceWindow VpnWireguardGatewayMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    Name string
    [String] The name of the WireGuard Gateway.
    PrivateKey string
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    PublicKey string

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    Status string
    (Computed)[String] The current status of the WireGuard Gateway.
    Tier string
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    Timeouts VpnWireguardGatewayTimeoutsArgs
    VpnWireguardGatewayId string
    connections List<VpnWireguardGatewayConnection>
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    description String
    [String] A description of the WireGuard Gateway.
    gatewayIp String
    [String] The IP address of the WireGuard Gateway.
    interfaceIpv4Cidr String
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interfaceIpv6Cidr String
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listenPort Double
    location String
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenanceWindow VpnWireguardGatewayMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name String
    [String] The name of the WireGuard Gateway.
    privateKey String
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    publicKey String

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status String
    (Computed)[String] The current status of the WireGuard Gateway.
    tier String
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts VpnWireguardGatewayTimeouts
    vpnWireguardGatewayId String
    connections VpnWireguardGatewayConnection[]
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    description string
    [String] A description of the WireGuard Gateway.
    gatewayIp string
    [String] The IP address of the WireGuard Gateway.
    interfaceIpv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interfaceIpv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listenPort number
    location string
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenanceWindow VpnWireguardGatewayMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name string
    [String] The name of the WireGuard Gateway.
    privateKey string
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    publicKey string

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status string
    (Computed)[String] The current status of the WireGuard Gateway.
    tier string
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts VpnWireguardGatewayTimeouts
    vpnWireguardGatewayId string
    connections Sequence[VpnWireguardGatewayConnectionArgs]
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    description str
    [String] A description of the WireGuard Gateway.
    gateway_ip str
    [String] The IP address of the WireGuard Gateway.
    interface_ipv4_cidr str
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interface_ipv6_cidr str
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listen_port float
    location str
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenance_window VpnWireguardGatewayMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name str
    [String] The name of the WireGuard Gateway.
    private_key str
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    public_key str

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status str
    (Computed)[String] The current status of the WireGuard Gateway.
    tier str
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts VpnWireguardGatewayTimeoutsArgs
    vpn_wireguard_gateway_id str
    connections List<Property Map>
    [Block] The connection configuration for the WireGuard Gateway. This block supports fields documented below.
    description String
    [String] A description of the WireGuard Gateway.
    gatewayIp String
    [String] The IP address of the WireGuard Gateway.
    interfaceIpv4Cidr String
    [String] The IPv4 CIDR for the WireGuard Gateway interface.
    interfaceIpv6Cidr String
    [String] The IPv6 CIDR for the WireGuard Gateway interface.
    listenPort Number
    location String
    [String] The location of the WireGuard Gateway. Supported locations: de/fra, de/txl, es/vit, gb/bhx, gb/lhr, us/ewr, us/las, us/mci, fr/par.
    maintenanceWindow Property Map
    (Computed) A weekly 4 hour-long window, during which maintenance might occur.
    name String
    [String] The name of the WireGuard Gateway.
    privateKey String
    [String] The private key for the WireGuard Gateway. To be created with the wg utility.
    publicKey String

    (Computed)[String] The public key for the WireGuard Gateway.

    ⚠ NOTE: IONOS_API_URL_VPN can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    status String
    (Computed)[String] The current status of the WireGuard Gateway.
    tier String
    (Computed)[string] Gateway performance options. See product documentation for full details. Options: STANDARD, STANDARD_HA, ENHANCED, ENHANCED_HA, PREMIUM, PREMIUM_HA.
    timeouts Property Map
    vpnWireguardGatewayId String

    Supporting Types

    VpnWireguardGatewayConnection, VpnWireguardGatewayConnectionArgs

    DatacenterId string
    [String] The ID of the datacenter where the WireGuard Gateway is located.
    LanId string
    [String] The ID of the LAN where the WireGuard Gateway is connected.
    Ipv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway connection.
    Ipv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway connection.
    DatacenterId string
    [String] The ID of the datacenter where the WireGuard Gateway is located.
    LanId string
    [String] The ID of the LAN where the WireGuard Gateway is connected.
    Ipv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway connection.
    Ipv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway connection.
    datacenterId String
    [String] The ID of the datacenter where the WireGuard Gateway is located.
    lanId String
    [String] The ID of the LAN where the WireGuard Gateway is connected.
    ipv4Cidr String
    [String] The IPv4 CIDR for the WireGuard Gateway connection.
    ipv6Cidr String
    [String] The IPv6 CIDR for the WireGuard Gateway connection.
    datacenterId string
    [String] The ID of the datacenter where the WireGuard Gateway is located.
    lanId string
    [String] The ID of the LAN where the WireGuard Gateway is connected.
    ipv4Cidr string
    [String] The IPv4 CIDR for the WireGuard Gateway connection.
    ipv6Cidr string
    [String] The IPv6 CIDR for the WireGuard Gateway connection.
    datacenter_id str
    [String] The ID of the datacenter where the WireGuard Gateway is located.
    lan_id str
    [String] The ID of the LAN where the WireGuard Gateway is connected.
    ipv4_cidr str
    [String] The IPv4 CIDR for the WireGuard Gateway connection.
    ipv6_cidr str
    [String] The IPv6 CIDR for the WireGuard Gateway connection.
    datacenterId String
    [String] The ID of the datacenter where the WireGuard Gateway is located.
    lanId String
    [String] The ID of the LAN where the WireGuard Gateway is connected.
    ipv4Cidr String
    [String] The IPv4 CIDR for the WireGuard Gateway connection.
    ipv6Cidr String
    [String] The IPv6 CIDR for the WireGuard Gateway connection.

    VpnWireguardGatewayMaintenanceWindow, VpnWireguardGatewayMaintenanceWindowArgs

    DayOfTheWeek string
    [string] The name of the week day.
    Time string
    [string] Start of the maintenance window in UTC time.
    DayOfTheWeek string
    [string] The name of the week day.
    Time string
    [string] Start of the maintenance window in UTC time.
    dayOfTheWeek String
    [string] The name of the week day.
    time String
    [string] Start of the maintenance window in UTC time.
    dayOfTheWeek string
    [string] The name of the week day.
    time string
    [string] Start of the maintenance window in UTC time.
    day_of_the_week str
    [string] The name of the week day.
    time str
    [string] Start of the maintenance window in UTC time.
    dayOfTheWeek String
    [string] The name of the week day.
    time String
    [string] Start of the maintenance window in UTC time.

    VpnWireguardGatewayTimeouts, VpnWireguardGatewayTimeoutsArgs

    Create string
    Default string
    Delete string
    Update string
    Create string
    Default string
    Delete string
    Update string
    create String
    default_ String
    delete String
    update String
    create string
    default string
    delete string
    update string
    create String
    default String
    delete String
    update String

    Import

    WireGuard Gateways can be imported using their ID:

    $ pulumi import ionoscloud:index/vpnWireguardGateway:VpnWireguardGateway example_gateway location:id
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    ionoscloud ionos-cloud/terraform-provider-ionoscloud
    License
    Notes
    This Pulumi package is based on the ionoscloud Terraform Provider.
    ionoscloud logo
    ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud