Create Wireguard Peer

  • Creates a new WireGuard Peer.

  • The full WireGuard Peer needs to be provided to create the object. Optional data will be filled with defaults or left empty.

To create a WireGuard Peer, perform a POST request.

Endpoint

Use a region-specific endpoint to create a WireGuard Peer: https://vpn.{region}.ionos.com/wireguardgateways/{gatewayId}/peers.

Request

curl --location \
--request POST 'https://vpn.de-fra.ionos.com/wireguardgateways/85c79b4b-5b40-570a-b788-58dd46ea71e2/peers' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data-raw '{
  "metadata": {},
  "properties": {
    "name": "My Company Gateway Peer",
    "description": "Allows local machine A to connect to Datacenter LAN Y.",
    "endpoint": {
      "host": "198.51.100.0/24",
      "port": 51820
    },
    "allowedIPs": [
      "198.51.100.0/24"
    ],
    "publicKey": "no8iaSEoqfbI6PVYsdEiUU5efYdtKX8VAhKity19MWI="
  }
}'

Below is the list of mandatory body parameters for creating a WireGuard Peer:

Body Parameters
Required
Type
Description
Example

metadata

no

object

Metadata related to the WireGuard peer.

{}

properties

yes

object

Properties with all data needed to create a new WireGuard peer. Note: There is a limit of 20 peers per gateway.

properties.name

yes

string

The human-readable name of the WireGuard peer.

My Company Gateway Peer

properties.description

no

string

Human-readable description of the WireGuard peer.

Allows local machine A to connect to Datacenter LAN Y.

properties.endpoint

yes

object

Properties needed to define the WireGuard endpoint.

properties.endpoint.host

yes

string

Hostname or IPV4 address that the WireGuard Server will connect to.

198.51.100.0/24

properties.endpoint.port

yes

integer

Port that the WireGuard Server will connect to.

51820

properties.allowedIPs

yes

array

The subnet CIDRs that are allowed to connect to the WireGuard Gateway. Specify "a.b.c.d/xy" for an individual IP address. Specify "0.0.0.0/0" or "::/0" for all IP addresses.

["198.51.100.0/24"]

properties.publicKey

yes

string

The public key for the WireGuard peer.

no8iaSEoqfbI6PVYsdEiUU5efYdtKX8VAhKity19MWI=

Response

201 Successful operation

{
  "id": "b62b3a40-adee-5b6c-b98d-be20bfcbdd91",
  "type": "wireguardpeer",
  "href": "/wireguardgateways/{gatewayId}/peers/b62b3a40-adee-5b6c-b98d-be20bfcbdd91",
  "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
  },
  "properties": {
    "name": "My Company Gateway Peer",
    "description": "Allows local machine A to connect to Datacenter LAN Y.",
    "endpoint": {
      "host": "198.51.100.0/24",
      "port": 51820
    },
    "allowedIPs": [
      "198.51.100.0/24"
    ],
    "publicKey": "no8iaSEoqfbI6PVYsdEiUU5efYdtKX8VAhKity19MWI="
  }
}

Result: The WireGuard Peer is successfully created. the id and other details of the created WireGuard Peer are provided in the response.

Last updated