Ensure Wireguard Gateway

Ensures that the WireGuard Gateway with the provided ID is created or modified. Remember to provide the full WireGuard Gateway specification to ensure the WireGuard Gateway with the respective ID is created or updated. When left empty, they are filled with default values or remain empty; previously provided values are not used for these empty fields.

To ensure that the WireGuard Gateway with the provided ID is created or modified, perform PUT request.

Note: If WireGuard Gateway for a given gatewayId does not exist, a new one is created instead.

Endpoint

Use the following endpoint to ensure that the WireGuard Gateway is created or modified: https://vpn.de-fra.ionos.com/wireguardgateways/{gatewayId}.

Request

Note: The following request contains a sample gatewayId. Replace them with the gatewayId value whose information you want to update.

curl --location \
--request PUT 'https://vpn.de-fra.ionos.com/wireguardgateways/85c79b4b-5b40-570a-b788-58dd46ea71e2' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data-raw '{
  "id": "85c79b4b-5b40-570a-b788-58dd46ea71e2",
  "metadata": {},
  "properties": {
    "name": "My Company Gateway",
    "description": "This gateway allows connections to Datacenter LAN X.",
    "gatewayIP": "192.0.2.0",
    "interfaceIPv4CIDR": "172.17.0.1/32",
    "interfaceIPv6CIDR": "2001:0db8:85a3::/128",
    "connections": [
      {
        "datacenterId": "5a029f4a-72e5-11ec-90d6-0242ac120003",
        "lanId": "2",
        "ipv4CIDR": "192.168.1.100/24",
        "ipv6CIDR": "2001:0db8:85a3::/24"
      }
    ],
    "privateKey": "0HpE4BNwGHabeaC4aY/GFxB6fBSc0d49Db0qAzRVSVc=",
    "listenPort": 51820
  }
}'

Below is the list of mandatory path parameters:

Path ParametersTypeDescriptionExample

gatewayId

string

The ID (UUID) of the WireGuard Gateway.

85c79b4b-5b40-570a-b788-58dd46ea71e2

Response

200 Successful operation

Following is an example of when a WireGuard Gateway is successfully created.

{
  "id": "85c79b4b-5b40-570a-b788-58dd46ea71e2",
  "type": "wireguardgateway",
  "href": "/wireguardgateways/85c79b4b-5b40-570a-b788-58dd46ea71e2",
  "metadata": {
    "createdDate": "2020-12-10T13:37:50+01:00",
    "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedDate": "2020-12-11T13:37:50+01:00",
    "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
    "status": "AVAILABLE",
    "statusMessage": null,
    "publicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VuAyEApNLcmIfCLRwyGYN16teusuGPkdGo2C8OxiqaJLgOig4=\n-----END PUBLIC KEY-----\n"
  },
  "properties": {
    "name": "My Company Gateway",
    "description": "This gateway allows connections to Datacenter LAN X.",
    "gatewayIP": "192.0.2.0/24",
    "interfaceIPv4CIDR": "172.16.0.1/32",
    "interfaceIPv6CIDR": "2001:0db8:85a3::/128",
    "connections": [
      {
        "datacenterId": "5a029f4a-72e5-11ec-90d6-0242ac120003",
        "lanId": "2",
        "ipv4CIDR": "192.168.1.100/24",
        "ipv6CIDR": "2001:0db8:85a3::/24"
      }
    ],
    "listenPort": 51820
  }
}

Result: The WireGuard Gateway is successfully updated or created.

Last updated