# Models

## The Connection object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The CIDR object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The IPV6CIDR object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The IPV4CIDR object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"}}}}
```

## The GatewayIP object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"}}}}
```

## The IPPort object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535}}}}
```

## The DiffieHellmanGroup object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"}}}}
```

## The EncryptionAlgorithm object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"}}}}
```

## The IntegrityAlgorithm object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"}}}}
```

## The IKEEncryption object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IKEEncryption":{"type":"object","description":"Settings for the initial security exchange phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":86400,"minimum":3600,"maximum":86400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"}}}}
```

## The ESPEncryption object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"ESPEncryption":{"type":"object","description":"Settings for the IPSec SA (ESP) phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":3600,"minimum":600,"maximum":14400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"}}}}
```

## The Tier object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"}}}}
```

## The WireguardGatewayReadList object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardGatewayReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of WireguardGateway resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of WireguardGateway resources.","type":"string"},"items":{"description":"The list of WireguardGateway resources.","type":"array","items":{"$ref":"#/components/schemas/WireguardGatewayRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"WireguardGatewayRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the WireguardGateway.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["wireguardgateway"]},"href":{"description":"The URL of the WireguardGateway.","type":"string"},"metadata":{"$ref":"#/components/schemas/WireguardGatewayMetadata"},"properties":{"$ref":"#/components/schemas/WireguardGateway"}}},"WireguardGatewayMetadata":{"description":"WireGuard Gateway Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"},{"type":"object","required":["publicKey"],"properties":{"publicKey":{"type":"string","description":"Public key correspondng to the WireGuard Server private key.\n"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"WireguardGateway":{"description":"Properties with all data needed to create a new WireGuard Gateway.\n","required":["name","gatewayIP","connections","privateKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"interfaceIPv4CIDR":{"description":"The IPV4 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv4CIDR or interfaceIPv6CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"interfaceIPv6CIDR":{"description":"The IPV6 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv6CIDR or interfaceIPv4CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"privateKey":{"type":"string","writeOnly":true,"description":"PrivateKey used for WireGuard Server\n"},"listenPort":{"description":"Port that WireGuard Server will listen on","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The WireguardGatewayRead object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardGatewayRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the WireguardGateway.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["wireguardgateway"]},"href":{"description":"The URL of the WireguardGateway.","type":"string"},"metadata":{"$ref":"#/components/schemas/WireguardGatewayMetadata"},"properties":{"$ref":"#/components/schemas/WireguardGateway"}}},"WireguardGatewayMetadata":{"description":"WireGuard Gateway Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"},{"type":"object","required":["publicKey"],"properties":{"publicKey":{"type":"string","description":"Public key correspondng to the WireGuard Server private key.\n"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"WireguardGateway":{"description":"Properties with all data needed to create a new WireGuard Gateway.\n","required":["name","gatewayIP","connections","privateKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"interfaceIPv4CIDR":{"description":"The IPV4 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv4CIDR or interfaceIPv6CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"interfaceIPv6CIDR":{"description":"The IPV6 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv6CIDR or interfaceIPv4CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"privateKey":{"type":"string","writeOnly":true,"description":"PrivateKey used for WireGuard Server\n"},"listenPort":{"description":"Port that WireGuard Server will listen on","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The WireguardGatewayEnsure object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardGatewayEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the WireguardGateway.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/WireguardGateway"}}},"WireguardGateway":{"description":"Properties with all data needed to create a new WireGuard Gateway.\n","required":["name","gatewayIP","connections","privateKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"interfaceIPv4CIDR":{"description":"The IPV4 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv4CIDR or interfaceIPv6CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"interfaceIPv6CIDR":{"description":"The IPV6 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv6CIDR or interfaceIPv4CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"privateKey":{"type":"string","writeOnly":true,"description":"PrivateKey used for WireGuard Server\n"},"listenPort":{"description":"Port that WireGuard Server will listen on","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The WireguardGatewayCreate object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardGatewayCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/WireguardGateway"}}},"WireguardGateway":{"description":"Properties with all data needed to create a new WireGuard Gateway.\n","required":["name","gatewayIP","connections","privateKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"interfaceIPv4CIDR":{"description":"The IPV4 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv4CIDR or interfaceIPv6CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"interfaceIPv6CIDR":{"description":"The IPV6 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv6CIDR or interfaceIPv4CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"privateKey":{"type":"string","writeOnly":true,"description":"PrivateKey used for WireGuard Server\n"},"listenPort":{"description":"Port that WireGuard Server will listen on","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The WireguardEndpoint object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardEndpoint":{"description":"Properties with all data needed to create a new WireGuard Gateway endpoint.\n","required":["host"],"type":"object","properties":{"host":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"hostname"}],"description":"Hostname or IPV4 address that the WireGuard Server will connect to."},"port":{"description":"Port that the WireGuard Server will connect to.","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535}}}}
```

## The WireguardGateway object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardGateway":{"description":"Properties with all data needed to create a new WireGuard Gateway.\n","required":["name","gatewayIP","connections","privateKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"interfaceIPv4CIDR":{"description":"The IPV4 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv4CIDR or interfaceIPv6CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"interfaceIPv6CIDR":{"description":"The IPV6 address (with CIDR mask) to be assigned to the WireGuard interface.\n__Note__: either interfaceIPv6CIDR or interfaceIPv4CIDR is __required__.\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"privateKey":{"type":"string","writeOnly":true,"description":"PrivateKey used for WireGuard Server\n"},"listenPort":{"description":"Port that WireGuard Server will listen on","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The WireguardPeerReadList object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardPeerReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of WireguardPeer resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of WireguardPeer resources.","type":"string"},"items":{"description":"The list of WireguardPeer resources.","type":"array","items":{"$ref":"#/components/schemas/WireguardPeerRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"WireguardPeerRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the WireguardPeer.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["wireguardpeer"]},"href":{"description":"The URL of the WireguardPeer.","type":"string"},"metadata":{"$ref":"#/components/schemas/WireguardPeerMetadata"},"properties":{"$ref":"#/components/schemas/WireguardPeer"}}},"WireguardPeerMetadata":{"description":"WireGuard Peer Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"WireguardPeer":{"description":"Properties with all data needed to create a new WireGuard Gateway Peer.\\\n__Note__: there is a limit to the total number of peers.  Please refer to product documentation.\n","required":["name","allowedIPs","publicKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway Peer.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway Peer.","maxLength":1024},"endpoint":{"$ref":"#/components/schemas/WireguardEndpoint"},"allowedIPs":{"type":"array","description":"The subnet CIDRs that are allowed to connect to the WireGuard Gateway.  Specify \"a.b.c.d/32\" for an individual IP address.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"},"minItems":1,"maxItems":20},"publicKey":{"type":"string","description":"WireGuard public key of the connecting peer"}}},"WireguardEndpoint":{"description":"Properties with all data needed to create a new WireGuard Gateway endpoint.\n","required":["host"],"type":"object","properties":{"host":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"hostname"}],"description":"Hostname or IPV4 address that the WireGuard Server will connect to."},"port":{"description":"Port that the WireGuard Server will connect to.","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The WireguardPeerRead object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardPeerRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the WireguardPeer.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["wireguardpeer"]},"href":{"description":"The URL of the WireguardPeer.","type":"string"},"metadata":{"$ref":"#/components/schemas/WireguardPeerMetadata"},"properties":{"$ref":"#/components/schemas/WireguardPeer"}}},"WireguardPeerMetadata":{"description":"WireGuard Peer Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"WireguardPeer":{"description":"Properties with all data needed to create a new WireGuard Gateway Peer.\\\n__Note__: there is a limit to the total number of peers.  Please refer to product documentation.\n","required":["name","allowedIPs","publicKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway Peer.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway Peer.","maxLength":1024},"endpoint":{"$ref":"#/components/schemas/WireguardEndpoint"},"allowedIPs":{"type":"array","description":"The subnet CIDRs that are allowed to connect to the WireGuard Gateway.  Specify \"a.b.c.d/32\" for an individual IP address.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"},"minItems":1,"maxItems":20},"publicKey":{"type":"string","description":"WireGuard public key of the connecting peer"}}},"WireguardEndpoint":{"description":"Properties with all data needed to create a new WireGuard Gateway endpoint.\n","required":["host"],"type":"object","properties":{"host":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"hostname"}],"description":"Hostname or IPV4 address that the WireGuard Server will connect to."},"port":{"description":"Port that the WireGuard Server will connect to.","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The WireguardPeerEnsure object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardPeerEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the WireguardPeer.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/WireguardPeer"}}},"WireguardPeer":{"description":"Properties with all data needed to create a new WireGuard Gateway Peer.\\\n__Note__: there is a limit to the total number of peers.  Please refer to product documentation.\n","required":["name","allowedIPs","publicKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway Peer.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway Peer.","maxLength":1024},"endpoint":{"$ref":"#/components/schemas/WireguardEndpoint"},"allowedIPs":{"type":"array","description":"The subnet CIDRs that are allowed to connect to the WireGuard Gateway.  Specify \"a.b.c.d/32\" for an individual IP address.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"},"minItems":1,"maxItems":20},"publicKey":{"type":"string","description":"WireGuard public key of the connecting peer"}}},"WireguardEndpoint":{"description":"Properties with all data needed to create a new WireGuard Gateway endpoint.\n","required":["host"],"type":"object","properties":{"host":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"hostname"}],"description":"Hostname or IPV4 address that the WireGuard Server will connect to."},"port":{"description":"Port that the WireGuard Server will connect to.","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The WireguardPeerCreate object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardPeerCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/WireguardPeer"}}},"WireguardPeer":{"description":"Properties with all data needed to create a new WireGuard Gateway Peer.\\\n__Note__: there is a limit to the total number of peers.  Please refer to product documentation.\n","required":["name","allowedIPs","publicKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway Peer.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway Peer.","maxLength":1024},"endpoint":{"$ref":"#/components/schemas/WireguardEndpoint"},"allowedIPs":{"type":"array","description":"The subnet CIDRs that are allowed to connect to the WireGuard Gateway.  Specify \"a.b.c.d/32\" for an individual IP address.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"},"minItems":1,"maxItems":20},"publicKey":{"type":"string","description":"WireGuard public key of the connecting peer"}}},"WireguardEndpoint":{"description":"Properties with all data needed to create a new WireGuard Gateway endpoint.\n","required":["host"],"type":"object","properties":{"host":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"hostname"}],"description":"Hostname or IPV4 address that the WireGuard Server will connect to."},"port":{"description":"Port that the WireGuard Server will connect to.","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The WireguardPeer object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardPeer":{"description":"Properties with all data needed to create a new WireGuard Gateway Peer.\\\n__Note__: there is a limit to the total number of peers.  Please refer to product documentation.\n","required":["name","allowedIPs","publicKey"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your WireguardGateway Peer.","maxLength":255},"description":{"type":"string","description":"Human readable description of the WireguardGateway Peer.","maxLength":1024},"endpoint":{"$ref":"#/components/schemas/WireguardEndpoint"},"allowedIPs":{"type":"array","description":"The subnet CIDRs that are allowed to connect to the WireGuard Gateway.  Specify \"a.b.c.d/32\" for an individual IP address.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"},"minItems":1,"maxItems":20},"publicKey":{"type":"string","description":"WireGuard public key of the connecting peer"}}},"WireguardEndpoint":{"description":"Properties with all data needed to create a new WireGuard Gateway endpoint.\n","required":["host"],"type":"object","properties":{"host":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"hostname"}],"description":"Hostname or IPV4 address that the WireGuard Server will connect to."},"port":{"description":"Port that the WireGuard Server will connect to.","default":51820,"allOf":[{"$ref":"#/components/schemas/IPPort"}]}}},"IPPort":{"type":"integer","description":"IP port number","minimum":0,"maximum":65535},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The IPSecGatewayReadList object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecGatewayReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of IPSecGateway resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of IPSecGateway resources.","type":"string"},"items":{"description":"The list of IPSecGateway resources.","type":"array","items":{"$ref":"#/components/schemas/IPSecGatewayRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"IPSecGatewayRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the IPSecGateway.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["ipsecgateway"]},"href":{"description":"The URL of the IPSecGateway.","type":"string"},"metadata":{"$ref":"#/components/schemas/IPSecGatewayMetadata"},"properties":{"$ref":"#/components/schemas/IPSecGateway"}}},"IPSecGatewayMetadata":{"description":"IPSec Gateway Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"IPSecGateway":{"description":"Properties with all data needed to create a new IPSec Gateway.\n","required":["name","gatewayIP","connections"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSecGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSecGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"version":{"type":"string","description":"The IKE version that is permitted for the VPN tunnels.\\\nOptions:\n - IKEv2\n","default":"IKEv2"},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The IPSecGatewayRead object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecGatewayRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the IPSecGateway.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["ipsecgateway"]},"href":{"description":"The URL of the IPSecGateway.","type":"string"},"metadata":{"$ref":"#/components/schemas/IPSecGatewayMetadata"},"properties":{"$ref":"#/components/schemas/IPSecGateway"}}},"IPSecGatewayMetadata":{"description":"IPSec Gateway Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"IPSecGateway":{"description":"Properties with all data needed to create a new IPSec Gateway.\n","required":["name","gatewayIP","connections"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSecGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSecGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"version":{"type":"string","description":"The IKE version that is permitted for the VPN tunnels.\\\nOptions:\n - IKEv2\n","default":"IKEv2"},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The IPSecGatewayEnsure object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecGatewayEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the IPSecGateway.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/IPSecGateway"}}},"IPSecGateway":{"description":"Properties with all data needed to create a new IPSec Gateway.\n","required":["name","gatewayIP","connections"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSecGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSecGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"version":{"type":"string","description":"The IKE version that is permitted for the VPN tunnels.\\\nOptions:\n - IKEv2\n","default":"IKEv2"},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The IPSecGatewayCreate object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecGatewayCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/IPSecGateway"}}},"IPSecGateway":{"description":"Properties with all data needed to create a new IPSec Gateway.\n","required":["name","gatewayIP","connections"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSecGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSecGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"version":{"type":"string","description":"The IKE version that is permitted for the VPN tunnels.\\\nOptions:\n - IKEv2\n","default":"IKEv2"},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The IPSecGateway object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecGateway":{"description":"Properties with all data needed to create a new IPSec Gateway.\n","required":["name","gatewayIP","connections"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSecGateway.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSecGateway.","maxLength":1024},"gatewayIP":{"$ref":"#/components/schemas/GatewayIP"},"connections":{"type":"array","minItems":1,"description":"The network connection for your gateway.\n__Note__: all connections must belong to the same datacenterId. There is a limit to the total number of connections. Please refer to product documentation.\n","items":{"$ref":"#/components/schemas/Connection"}},"version":{"type":"string","description":"The IKE version that is permitted for the VPN tunnels.\\\nOptions:\n - IKEv2\n","default":"IKEv2"},"tier":{"$ref":"#/components/schemas/Tier"},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"}}},"GatewayIP":{"type":"string","anyOf":[{"format":"ipv4"}],"description":"Public IP address to be assigned to the gateway.\n__Note__: This must be an IP address in the same datacenter as the connections.\n"},"Connection":{"description":"Details about the network connection for your VPN Gateway.","required":["datacenterId","lanId","ipv4CIDR"],"type":"object","properties":{"datacenterId":{"description":"The datacenter to connect your VPN Gateway to.\n","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your VPN Gateway to.","type":"string"},"ipv4CIDR":{"description":"A LAN IPv4 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV4CIDR"}]},"ipv6CIDR":{"description":"A LAN IPv6 address in CIDR notation that will be assigned to the VPN Gateway.\nThis will be the private gateway address for LAN clients to route traffic over the VPN Gateway.\n__Note__: this should be within the subnet already assigned to the LAN\n","allOf":[{"$ref":"#/components/schemas/IPV6CIDR"}]}}},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Tier":{"type":"string","description":"Gateway performance options.  See product documentation for full details.\\\nOptions:\n- STANDARD\n- STANDARD_HA\n- ENHANCED\n- ENHANCED_HA\n- PREMIUM\n- PREMIUM_HA\n","default":"STANDARD"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The IPSecTunnelReadList object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnelReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of IPSecTunnel resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of IPSecTunnel resources.","type":"string"},"items":{"description":"The list of IPSecTunnel resources.","type":"array","items":{"$ref":"#/components/schemas/IPSecTunnelRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"IPSecTunnelRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the IPSecTunnel.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["ipsectunnel"]},"href":{"description":"The URL of the IPSecTunnel.","type":"string"},"metadata":{"$ref":"#/components/schemas/IPSecTunnelMetadata"},"properties":{"$ref":"#/components/schemas/IPSecTunnel"}}},"IPSecTunnelMetadata":{"description":"IPSec Tunnel Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"IPSecTunnel":{"description":"Properties with all data needed to create a new IPSec Gateway Tunnel.\\\n__Note__: there is a limit to the total number of tunnels.  Please refer to product documentation.\n","required":["name","remoteHost","auth","cloudNetworkCIDRs","peerNetworkCIDRs","ike","esp"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSec Gateway Tunnel.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSec Gateway Tunnel.","maxLength":1024},"remoteHost":{"type":"string","description":"The remote peer host fully qualified domain name or IPV4 IP to connect to.\n* __Note__: This should be the public IP of the remote peer.\n* Tunnels only support IPV4 or hostname (fully qualified DNS name).\n","anyOf":[{"format":"ipv4"},{"format":"hostname"}]},"auth":{"$ref":"#/components/schemas/IPSecTunnelAuth"},"ike":{"$ref":"#/components/schemas/IKEEncryption"},"esp":{"$ref":"#/components/schemas/ESPEncryption"},"cloudNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Left\" side that are allowed to connect to the IPSec tunnel,\ni.e the CIDRs within your IONOS Cloud LAN.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"}},"peerNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Right\" side that are allowed to connect to the IPSec tunnel.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.","items":{"$ref":"#/components/schemas/CIDR"}}}},"IPSecTunnelAuth":{"description":"Properties with all data needed to define IPSec Authentication.\n","required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The Authentication Method to use for IPSec Authentication.\\\nOptions:\n  - PSK\n","default":"PSK"},"psk":{"$ref":"#/components/schemas/IPSecPSK"}}},"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}},"IKEEncryption":{"type":"object","description":"Settings for the initial security exchange phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":86400,"minimum":3600,"maximum":86400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"},"ESPEncryption":{"type":"object","description":"Settings for the IPSec SA (ESP) phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":3600,"minimum":600,"maximum":14400}}},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The IPSecTunnelRead object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnelRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the IPSecTunnel.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["ipsectunnel"]},"href":{"description":"The URL of the IPSecTunnel.","type":"string"},"metadata":{"$ref":"#/components/schemas/IPSecTunnelMetadata"},"properties":{"$ref":"#/components/schemas/IPSecTunnel"}}},"IPSecTunnelMetadata":{"description":"IPSec Tunnel Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true},"IPSecTunnel":{"description":"Properties with all data needed to create a new IPSec Gateway Tunnel.\\\n__Note__: there is a limit to the total number of tunnels.  Please refer to product documentation.\n","required":["name","remoteHost","auth","cloudNetworkCIDRs","peerNetworkCIDRs","ike","esp"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSec Gateway Tunnel.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSec Gateway Tunnel.","maxLength":1024},"remoteHost":{"type":"string","description":"The remote peer host fully qualified domain name or IPV4 IP to connect to.\n* __Note__: This should be the public IP of the remote peer.\n* Tunnels only support IPV4 or hostname (fully qualified DNS name).\n","anyOf":[{"format":"ipv4"},{"format":"hostname"}]},"auth":{"$ref":"#/components/schemas/IPSecTunnelAuth"},"ike":{"$ref":"#/components/schemas/IKEEncryption"},"esp":{"$ref":"#/components/schemas/ESPEncryption"},"cloudNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Left\" side that are allowed to connect to the IPSec tunnel,\ni.e the CIDRs within your IONOS Cloud LAN.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"}},"peerNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Right\" side that are allowed to connect to the IPSec tunnel.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.","items":{"$ref":"#/components/schemas/CIDR"}}}},"IPSecTunnelAuth":{"description":"Properties with all data needed to define IPSec Authentication.\n","required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The Authentication Method to use for IPSec Authentication.\\\nOptions:\n  - PSK\n","default":"PSK"},"psk":{"$ref":"#/components/schemas/IPSecPSK"}}},"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}},"IKEEncryption":{"type":"object","description":"Settings for the initial security exchange phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":86400,"minimum":3600,"maximum":86400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"},"ESPEncryption":{"type":"object","description":"Settings for the IPSec SA (ESP) phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":3600,"minimum":600,"maximum":14400}}},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The IPSecTunnelEnsure object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnelEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the IPSecTunnel.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/IPSecTunnel"}}},"IPSecTunnel":{"description":"Properties with all data needed to create a new IPSec Gateway Tunnel.\\\n__Note__: there is a limit to the total number of tunnels.  Please refer to product documentation.\n","required":["name","remoteHost","auth","cloudNetworkCIDRs","peerNetworkCIDRs","ike","esp"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSec Gateway Tunnel.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSec Gateway Tunnel.","maxLength":1024},"remoteHost":{"type":"string","description":"The remote peer host fully qualified domain name or IPV4 IP to connect to.\n* __Note__: This should be the public IP of the remote peer.\n* Tunnels only support IPV4 or hostname (fully qualified DNS name).\n","anyOf":[{"format":"ipv4"},{"format":"hostname"}]},"auth":{"$ref":"#/components/schemas/IPSecTunnelAuth"},"ike":{"$ref":"#/components/schemas/IKEEncryption"},"esp":{"$ref":"#/components/schemas/ESPEncryption"},"cloudNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Left\" side that are allowed to connect to the IPSec tunnel,\ni.e the CIDRs within your IONOS Cloud LAN.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"}},"peerNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Right\" side that are allowed to connect to the IPSec tunnel.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.","items":{"$ref":"#/components/schemas/CIDR"}}}},"IPSecTunnelAuth":{"description":"Properties with all data needed to define IPSec Authentication.\n","required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The Authentication Method to use for IPSec Authentication.\\\nOptions:\n  - PSK\n","default":"PSK"},"psk":{"$ref":"#/components/schemas/IPSecPSK"}}},"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}},"IKEEncryption":{"type":"object","description":"Settings for the initial security exchange phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":86400,"minimum":3600,"maximum":86400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"},"ESPEncryption":{"type":"object","description":"Settings for the IPSec SA (ESP) phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":3600,"minimum":600,"maximum":14400}}},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The IPSecTunnelCreate object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnelCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/IPSecTunnel"}}},"IPSecTunnel":{"description":"Properties with all data needed to create a new IPSec Gateway Tunnel.\\\n__Note__: there is a limit to the total number of tunnels.  Please refer to product documentation.\n","required":["name","remoteHost","auth","cloudNetworkCIDRs","peerNetworkCIDRs","ike","esp"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSec Gateway Tunnel.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSec Gateway Tunnel.","maxLength":1024},"remoteHost":{"type":"string","description":"The remote peer host fully qualified domain name or IPV4 IP to connect to.\n* __Note__: This should be the public IP of the remote peer.\n* Tunnels only support IPV4 or hostname (fully qualified DNS name).\n","anyOf":[{"format":"ipv4"},{"format":"hostname"}]},"auth":{"$ref":"#/components/schemas/IPSecTunnelAuth"},"ike":{"$ref":"#/components/schemas/IKEEncryption"},"esp":{"$ref":"#/components/schemas/ESPEncryption"},"cloudNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Left\" side that are allowed to connect to the IPSec tunnel,\ni.e the CIDRs within your IONOS Cloud LAN.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"}},"peerNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Right\" side that are allowed to connect to the IPSec tunnel.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.","items":{"$ref":"#/components/schemas/CIDR"}}}},"IPSecTunnelAuth":{"description":"Properties with all data needed to define IPSec Authentication.\n","required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The Authentication Method to use for IPSec Authentication.\\\nOptions:\n  - PSK\n","default":"PSK"},"psk":{"$ref":"#/components/schemas/IPSecPSK"}}},"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}},"IKEEncryption":{"type":"object","description":"Settings for the initial security exchange phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":86400,"minimum":3600,"maximum":86400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"},"ESPEncryption":{"type":"object","description":"Settings for the IPSec SA (ESP) phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":3600,"minimum":600,"maximum":14400}}},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The IPSecPSK object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}}}}}
```

## The IPSecTunnelAuth object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnelAuth":{"description":"Properties with all data needed to define IPSec Authentication.\n","required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The Authentication Method to use for IPSec Authentication.\\\nOptions:\n  - PSK\n","default":"PSK"},"psk":{"$ref":"#/components/schemas/IPSecPSK"}}},"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}}}}}
```

## The IPSecTunnel object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnel":{"description":"Properties with all data needed to create a new IPSec Gateway Tunnel.\\\n__Note__: there is a limit to the total number of tunnels.  Please refer to product documentation.\n","required":["name","remoteHost","auth","cloudNetworkCIDRs","peerNetworkCIDRs","ike","esp"],"type":"object","properties":{"name":{"type":"string","description":"The human readable name of your IPSec Gateway Tunnel.","maxLength":255},"description":{"type":"string","description":"Human readable description of the IPSec Gateway Tunnel.","maxLength":1024},"remoteHost":{"type":"string","description":"The remote peer host fully qualified domain name or IPV4 IP to connect to.\n* __Note__: This should be the public IP of the remote peer.\n* Tunnels only support IPV4 or hostname (fully qualified DNS name).\n","anyOf":[{"format":"ipv4"},{"format":"hostname"}]},"auth":{"$ref":"#/components/schemas/IPSecTunnelAuth"},"ike":{"$ref":"#/components/schemas/IKEEncryption"},"esp":{"$ref":"#/components/schemas/ESPEncryption"},"cloudNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Left\" side that are allowed to connect to the IPSec tunnel,\ni.e the CIDRs within your IONOS Cloud LAN.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.\n","items":{"$ref":"#/components/schemas/CIDR"}},"peerNetworkCIDRs":{"type":"array","minItems":1,"maxItems":20,"description":"The network CIDRs on the \"Right\" side that are allowed to connect to the IPSec tunnel.  Specify \"0.0.0.0/0\" or \"::/0\" for all addresses.","items":{"$ref":"#/components/schemas/CIDR"}}}},"IPSecTunnelAuth":{"description":"Properties with all data needed to define IPSec Authentication.\n","required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The Authentication Method to use for IPSec Authentication.\\\nOptions:\n  - PSK\n","default":"PSK"},"psk":{"$ref":"#/components/schemas/IPSecPSK"}}},"IPSecPSK":{"description":"Properties with all data needed to define IPSec Authentication PSK. This is required if the method is PSK.\n","required":["key"],"type":"object","properties":{"key":{"type":"string","writeOnly":true,"description":"The Pre-Shared Key used for IPSec Authentication."}}},"IKEEncryption":{"type":"object","description":"Settings for the initial security exchange phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":86400,"minimum":3600,"maximum":86400}}},"DiffieHellmanGroup":{"type":"string","description":"The Diffie-Hellman Group to use for IPSec Encryption.\\\nOptions:\n  - 15-MODP3072\n  - 16-MODP4096\n  - 19-ECP256\n  - 20-ECP384\n  - 21-ECP521\n  - 28-ECP256BP\n  - 29-ECP384BP\n  - 30-ECP512BP\n","default":"16-MODP4096"},"EncryptionAlgorithm":{"type":"string","description":"The encryption algorithm to use for IPSec Encryption.\\\nOptions:\n- AES128-CTR\n- AES256-CTR\n- AES128-GCM-16\n- AES256-GCM-16\n- AES128-GCM-12\n- AES256-GCM-12\n- AES128-CCM-12\n- AES256-CCM-12\n- AES128\n- AES256\n","default":"AES256"},"IntegrityAlgorithm":{"type":"string","description":"The integrity algorithm to use for IPSec Encryption.\\\nOptions:\n- SHA256\n- SHA384\n- SHA512\n- AES-XCBC\n","default":"SHA256"},"ESPEncryption":{"type":"object","description":"Settings for the IPSec SA (ESP) phase.","properties":{"diffieHellmanGroup":{"allOf":[{"$ref":"#/components/schemas/DiffieHellmanGroup"}]},"encryptionAlgorithm":{"allOf":[{"$ref":"#/components/schemas/EncryptionAlgorithm"}]},"integrityAlgorithm":{"allOf":[{"$ref":"#/components/schemas/IntegrityAlgorithm"}]},"lifetime":{"type":"integer","description":"The phase lifetime in seconds.","default":3600,"minimum":600,"maximum":14400}}},"CIDR":{"type":"string","anyOf":[{"$ref":"#/components/schemas/IPV4CIDR"},{"$ref":"#/components/schemas/IPV6CIDR"}]},"IPV4CIDR":{"type":"string","pattern":"^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\/([0-9]|[1-2][0-9]|3[0-2])$","description":"Describes a range of IP V4 addresses in CIDR notation.\n"},"IPV6CIDR":{"type":"string","pattern":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$","description":"Describes a range of IP V6 addresses in CIDR notation.\n"}}}}
```

## The Status object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true}}}}
```

## The StatusMessage object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true}}}}
```

## The ResourceStatus object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true}}}}
```

## The WireguardGatewayMetadata object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardGatewayMetadata":{"description":"WireGuard Gateway Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"},{"type":"object","required":["publicKey"],"properties":{"publicKey":{"type":"string","description":"Public key correspondng to the WireGuard Server private key.\n"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true}}}}
```

## The WireguardPeerMetadata object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"WireguardPeerMetadata":{"description":"WireGuard Peer Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true}}}}
```

## The IPSecGatewayMetadata object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecGatewayMetadata":{"description":"IPSec Gateway Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true}}}}
```

## The IPSecTunnelMetadata object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"IPSecTunnelMetadata":{"description":"IPSec Tunnel Metadata","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceStatus"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceStatus":{"type":"object","description":"The current status of the resource.","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"}}},"Status":{"type":"string","description":"The current status of the resource. The status can be:\n\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED`: - resource failed, details in `statusMessage`.\n","readOnly":true},"StatusMessage":{"type":"string","description":"The message of the failure if the status is `FAILED`.\n","readOnly":true}}}}
```

## The MaintenanceWindow object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The DayOfTheWeek object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The Error object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}}}}
```

## The Metadata object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}}}}}
```

## The Pagination object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The Offset object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true}}}}
```

## The Limit object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true}}}}
```

## The Links object

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud VPN Gateway API","version":"1.0.0"},"components":{"schemas":{"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```
