1. Packages
  2. Ionoscloud
  3. API Docs
  4. vpn
  5. WireguardGateway
IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud

ionoscloud.vpn.WireguardGateway

Explore with Pulumi AI

ionoscloud logo
IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud

    Overview

    The ionoscloud.vpn.WireguardGateway 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 "@ionos-cloud/sdk-pulumi";
    
    const datacenterExample = new ionoscloud.compute.Datacenter("datacenter_example", {
        name: "datacenter_example",
        location: "de/fra",
    });
    const ipblockExample = new ionoscloud.compute.IPBlock("ipblock_example", {
        location: "de/fra",
        size: 1,
        name: "ipblock_example",
    });
    const lanExample = new ionoscloud.compute.Lan("lan_example", {
        name: "lan_example",
        datacenterId: datacenterExample.id,
    });
    const gateway = new ionoscloud.vpn.WireguardGateway("gateway", {
        location: "de/fra",
        name: "gateway_example",
        description: "description",
        privateKey: "private",
        gatewayIp: ipblockExample.ips[0],
        interfaceIpv4Cidr: "192.168.1.100/24",
        connections: [{
            datacenterId: datacenterExample.id,
            lanId: lanExample.id,
            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.compute.Datacenter("datacenter_example",
        name="datacenter_example",
        location="de/fra")
    ipblock_example = ionoscloud.compute.IPBlock("ipblock_example",
        location="de/fra",
        size=1,
        name="ipblock_example")
    lan_example = ionoscloud.compute.Lan("lan_example",
        name="lan_example",
        datacenter_id=datacenter_example.id)
    gateway = ionoscloud.vpn.WireguardGateway("gateway",
        location="de/fra",
        name="gateway_example",
        description="description",
        private_key="private",
        gateway_ip=ipblock_example.ips[0],
        interface_ipv4_cidr="192.168.1.100/24",
        connections=[{
            "datacenter_id": datacenter_example.id,
            "lan_id": lan_example.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/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 {
    		datacenterExample, err := compute.NewDatacenter(ctx, "datacenter_example", &compute.DatacenterArgs{
    			Name:     pulumi.String("datacenter_example"),
    			Location: pulumi.String("de/fra"),
    		})
    		if err != nil {
    			return err
    		}
    		ipblockExample, err := compute.NewIPBlock(ctx, "ipblock_example", &compute.IPBlockArgs{
    			Location: pulumi.String("de/fra"),
    			Size:     pulumi.Int(1),
    			Name:     pulumi.String("ipblock_example"),
    		})
    		if err != nil {
    			return err
    		}
    		lanExample, err := compute.NewLan(ctx, "lan_example", &compute.LanArgs{
    			Name:         pulumi.String("lan_example"),
    			DatacenterId: datacenterExample.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vpn.NewWireguardGateway(ctx, "gateway", &vpn.WireguardGatewayArgs{
    			Location:    pulumi.String("de/fra"),
    			Name:        pulumi.String("gateway_example"),
    			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: vpn.WireguardGatewayConnectionArray{
    				&vpn.WireguardGatewayConnectionArgs{
    					DatacenterId: datacenterExample.ID(),
    					LanId:        lanExample.ID(),
    					Ipv4Cidr:     pulumi.String("192.168.1.108/24"),
    				},
    			},
    			MaintenanceWindow: &vpn.WireguardGatewayMaintenanceWindowArgs{
    				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 = Ionoscloud.Pulumi.Ionoscloud;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenterExample = new Ionoscloud.Compute.Datacenter("datacenter_example", new()
        {
            Name = "datacenter_example",
            Location = "de/fra",
        });
    
        var ipblockExample = new Ionoscloud.Compute.IPBlock("ipblock_example", new()
        {
            Location = "de/fra",
            Size = 1,
            Name = "ipblock_example",
        });
    
        var lanExample = new Ionoscloud.Compute.Lan("lan_example", new()
        {
            Name = "lan_example",
            DatacenterId = datacenterExample.Id,
        });
    
        var gateway = new Ionoscloud.Vpn.WireguardGateway("gateway", new()
        {
            Location = "de/fra",
            Name = "gateway_example",
            Description = "description",
            PrivateKey = "private",
            GatewayIp = ipblockExample.Ips.Apply(ips => ips[0]),
            InterfaceIpv4Cidr = "192.168.1.100/24",
            Connections = new[]
            {
                new Ionoscloud.Vpn.Inputs.WireguardGatewayConnectionArgs
                {
                    DatacenterId = datacenterExample.Id,
                    LanId = lanExample.Id,
                    Ipv4Cidr = "192.168.1.108/24",
                },
            },
            MaintenanceWindow = new Ionoscloud.Vpn.Inputs.WireguardGatewayMaintenanceWindowArgs
            {
                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.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.IPBlock;
    import com.pulumi.ionoscloud.compute.IPBlockArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.vpn.WireguardGateway;
    import com.pulumi.ionoscloud.vpn.WireguardGatewayArgs;
    import com.pulumi.ionoscloud.vpn.inputs.WireguardGatewayConnectionArgs;
    import com.pulumi.ionoscloud.vpn.inputs.WireguardGatewayMaintenanceWindowArgs;
    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()
                .name("datacenter_example")
                .location("de/fra")
                .build());
    
            var ipblockExample = new IPBlock("ipblockExample", IPBlockArgs.builder()
                .location("de/fra")
                .size(1)
                .name("ipblock_example")
                .build());
    
            var lanExample = new Lan("lanExample", LanArgs.builder()
                .name("lan_example")
                .datacenterId(datacenterExample.id())
                .build());
    
            var gateway = new WireguardGateway("gateway", WireguardGatewayArgs.builder()
                .location("de/fra")
                .name("gateway_example")
                .description("description")
                .privateKey("private")
                .gatewayIp(ipblockExample.ips().applyValue(ips -> ips[0]))
                .interfaceIpv4Cidr("192.168.1.100/24")
                .connections(WireguardGatewayConnectionArgs.builder()
                    .datacenterId(datacenterExample.id())
                    .lanId(lanExample.id())
                    .ipv4Cidr("192.168.1.108/24")
                    .build())
                .maintenanceWindow(WireguardGatewayMaintenanceWindowArgs.builder()
                    .dayOfTheWeek("Monday")
                    .time("09:00:00")
                    .build())
                .tier("STANDARD")
                .build());
    
        }
    }
    
    resources:
      datacenterExample:
        type: ionoscloud:compute:Datacenter
        name: datacenter_example
        properties:
          name: datacenter_example
          location: de/fra
      ipblockExample:
        type: ionoscloud:compute:IPBlock
        name: ipblock_example
        properties:
          location: de/fra
          size: 1
          name: ipblock_example
      lanExample:
        type: ionoscloud:compute:Lan
        name: lan_example
        properties:
          name: lan_example
          datacenterId: ${datacenterExample.id}
      gateway:
        type: ionoscloud:vpn:WireguardGateway
        properties:
          location: de/fra
          name: gateway_example
          description: description
          privateKey: private
          gatewayIp: ${ipblockExample.ips[0]}
          interfaceIpv4Cidr: 192.168.1.100/24
          connections:
            - datacenterId: ${datacenterExample.id}
              lanId: ${lanExample.id}
              ipv4Cidr: 192.168.1.108/24
          maintenanceWindow:
            dayOfTheWeek: Monday
            time: 09:00:00
          tier: STANDARD
    

    Create WireguardGateway Resource

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

    Constructor syntax

    new WireguardGateway(name: string, args: WireguardGatewayArgs, opts?: CustomResourceOptions);
    @overload
    def WireguardGateway(resource_name: str,
                         args: WireguardGatewayArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def WireguardGateway(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         connections: Optional[Sequence[WireguardGatewayConnectionArgs]] = None,
                         gateway_ip: Optional[str] = None,
                         private_key: Optional[str] = None,
                         description: Optional[str] = None,
                         interface_ipv4_cidr: Optional[str] = None,
                         interface_ipv6_cidr: Optional[str] = None,
                         listen_port: Optional[int] = None,
                         location: Optional[str] = None,
                         maintenance_window: Optional[WireguardGatewayMaintenanceWindowArgs] = None,
                         name: Optional[str] = None,
                         tier: Optional[str] = None)
    func NewWireguardGateway(ctx *Context, name string, args WireguardGatewayArgs, opts ...ResourceOption) (*WireguardGateway, error)
    public WireguardGateway(string name, WireguardGatewayArgs args, CustomResourceOptions? opts = null)
    public WireguardGateway(String name, WireguardGatewayArgs args)
    public WireguardGateway(String name, WireguardGatewayArgs args, CustomResourceOptions options)
    
    type: ionoscloud:vpn:WireguardGateway
    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 WireguardGatewayArgs
    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 WireguardGatewayArgs
    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 WireguardGatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args WireguardGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args WireguardGatewayArgs
    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 wireguardGatewayResource = new Ionoscloud.Vpn.WireguardGateway("wireguardGatewayResource", new()
    {
        Connections = new[]
        {
            new Ionoscloud.Vpn.Inputs.WireguardGatewayConnectionArgs
            {
                DatacenterId = "string",
                LanId = "string",
                Ipv4Cidr = "string",
                Ipv6Cidr = "string",
            },
        },
        GatewayIp = "string",
        PrivateKey = "string",
        Description = "string",
        InterfaceIpv4Cidr = "string",
        InterfaceIpv6Cidr = "string",
        ListenPort = 0,
        Location = "string",
        MaintenanceWindow = new Ionoscloud.Vpn.Inputs.WireguardGatewayMaintenanceWindowArgs
        {
            DayOfTheWeek = "string",
            Time = "string",
        },
        Name = "string",
        Tier = "string",
    });
    
    example, err := vpn.NewWireguardGateway(ctx, "wireguardGatewayResource", &vpn.WireguardGatewayArgs{
    	Connections: vpn.WireguardGatewayConnectionArray{
    		&vpn.WireguardGatewayConnectionArgs{
    			DatacenterId: pulumi.String("string"),
    			LanId:        pulumi.String("string"),
    			Ipv4Cidr:     pulumi.String("string"),
    			Ipv6Cidr:     pulumi.String("string"),
    		},
    	},
    	GatewayIp:         pulumi.String("string"),
    	PrivateKey:        pulumi.String("string"),
    	Description:       pulumi.String("string"),
    	InterfaceIpv4Cidr: pulumi.String("string"),
    	InterfaceIpv6Cidr: pulumi.String("string"),
    	ListenPort:        pulumi.Int(0),
    	Location:          pulumi.String("string"),
    	MaintenanceWindow: &vpn.WireguardGatewayMaintenanceWindowArgs{
    		DayOfTheWeek: pulumi.String("string"),
    		Time:         pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Tier: pulumi.String("string"),
    })
    
    var wireguardGatewayResource = new WireguardGateway("wireguardGatewayResource", WireguardGatewayArgs.builder()
        .connections(WireguardGatewayConnectionArgs.builder()
            .datacenterId("string")
            .lanId("string")
            .ipv4Cidr("string")
            .ipv6Cidr("string")
            .build())
        .gatewayIp("string")
        .privateKey("string")
        .description("string")
        .interfaceIpv4Cidr("string")
        .interfaceIpv6Cidr("string")
        .listenPort(0)
        .location("string")
        .maintenanceWindow(WireguardGatewayMaintenanceWindowArgs.builder()
            .dayOfTheWeek("string")
            .time("string")
            .build())
        .name("string")
        .tier("string")
        .build());
    
    wireguard_gateway_resource = ionoscloud.vpn.WireguardGateway("wireguardGatewayResource",
        connections=[{
            "datacenter_id": "string",
            "lan_id": "string",
            "ipv4_cidr": "string",
            "ipv6_cidr": "string",
        }],
        gateway_ip="string",
        private_key="string",
        description="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",
        tier="string")
    
    const wireguardGatewayResource = new ionoscloud.vpn.WireguardGateway("wireguardGatewayResource", {
        connections: [{
            datacenterId: "string",
            lanId: "string",
            ipv4Cidr: "string",
            ipv6Cidr: "string",
        }],
        gatewayIp: "string",
        privateKey: "string",
        description: "string",
        interfaceIpv4Cidr: "string",
        interfaceIpv6Cidr: "string",
        listenPort: 0,
        location: "string",
        maintenanceWindow: {
            dayOfTheWeek: "string",
            time: "string",
        },
        name: "string",
        tier: "string",
    });
    
    type: ionoscloud:vpn:WireguardGateway
    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
    

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

    Connections List<Ionoscloud.WireguardGatewayConnection>
    [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 int
    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 Ionoscloud.WireguardGatewayMaintenanceWindow
    (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.
    Connections []WireguardGatewayConnectionArgs
    [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 int
    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 WireguardGatewayMaintenanceWindowArgs
    (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.
    connections List<WireguardGatewayConnection>
    [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 Integer
    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 WireguardGatewayMaintenanceWindow
    (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.
    connections WireguardGatewayConnection[]
    [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 WireguardGatewayMaintenanceWindow
    (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.
    connections Sequence[WireguardGatewayConnectionArgs]
    [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 int
    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 WireguardGatewayMaintenanceWindowArgs
    (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.
    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the WireguardGateway 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 WireguardGateway Resource

    Get an existing WireguardGateway 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?: WireguardGatewayState, opts?: CustomResourceOptions): WireguardGateway
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            connections: Optional[Sequence[WireguardGatewayConnectionArgs]] = 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[int] = None,
            location: Optional[str] = None,
            maintenance_window: Optional[WireguardGatewayMaintenanceWindowArgs] = None,
            name: Optional[str] = None,
            private_key: Optional[str] = None,
            public_key: Optional[str] = None,
            status: Optional[str] = None,
            tier: Optional[str] = None) -> WireguardGateway
    func GetWireguardGateway(ctx *Context, name string, id IDInput, state *WireguardGatewayState, opts ...ResourceOption) (*WireguardGateway, error)
    public static WireguardGateway Get(string name, Input<string> id, WireguardGatewayState? state, CustomResourceOptions? opts = null)
    public static WireguardGateway get(String name, Output<String> id, WireguardGatewayState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:vpn:WireguardGateway    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<Ionoscloud.WireguardGatewayConnection>
    [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 int
    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 Ionoscloud.WireguardGatewayMaintenanceWindow
    (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.
    Connections []WireguardGatewayConnectionArgs
    [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 int
    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 WireguardGatewayMaintenanceWindowArgs
    (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.
    connections List<WireguardGatewayConnection>
    [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 Integer
    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 WireguardGatewayMaintenanceWindow
    (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.
    connections WireguardGatewayConnection[]
    [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 WireguardGatewayMaintenanceWindow
    (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.
    connections Sequence[WireguardGatewayConnectionArgs]
    [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 int
    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 WireguardGatewayMaintenanceWindowArgs
    (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.
    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.

    Supporting Types

    WireguardGatewayConnection, WireguardGatewayConnectionArgs

    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.

    WireguardGatewayMaintenanceWindow, WireguardGatewayMaintenanceWindowArgs

    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.

    Import

    WireGuard Gateways can be imported using their ID:

    $ pulumi import ionoscloud:vpn/wireguardGateway:WireguardGateway example_gateway location: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.
    ionoscloud logo
    IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud