https://github.com/ionos-cloud/sdk-go-vpn
Operations to create and manage VPNs
https://github.com/ionos-cloud/sdk-go-vpn
Last synced: 2 months ago
JSON representation
Operations to create and manage VPNs
- Host: GitHub
- URL: https://github.com/ionos-cloud/sdk-go-vpn
- Owner: ionos-cloud
- License: apache-2.0
- Created: 2024-07-30T08:14:00.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-12-04T08:32:49.000Z (5 months ago)
- Last Synced: 2024-12-26T08:27:33.393Z (4 months ago)
- Size: 133 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://gitter.im/ionos-cloud/sdk-general)
# Go API client for ionoscloud
The Managed VPN Gateway service provides secure and scalable connectivity, enabling encrypted communication between your IONOS cloud resources in a VDC and remote networks (on-premises, multi-cloud, private LANs in other VDCs etc).
## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.- API version: 1.0.0
- Package version: 1.0.2
- Build package: org.openapitools.codegen.languages.GoClientCodegen
For more information, please visit [https://docs.ionos.com/support/general-information/contact-information](https://docs.ionos.com/support/general-information/contact-information)## Installation
Install the following dependencies:
```shell
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
go get github.com/antihax/optional
```Put the package under your project folder and add the following in import:
```golang
import "./ionoscloud"
```## Authentication
All available server URLs are:
- *https://vpn.de-fra.ionos.com* - Production de-fra
- *https://vpn.de-txl.ionos.com* - Production de-txl
- *https://vpn.es-vit.ionos.com* - Production es-vit
- *https://vpn.gb-bhx.ionos.com* - Production gb-bhx
- *https://vpn.gb-lhr.ionos.com* - Production gb-lhr
- *https://vpn.us-ewr.ionos.com* - Production us-ewr
- *https://vpn.us-las.ionos.com* - Production us-las
- *https://vpn.us-mci.ionos.com* - Production us-mci
- *https://vpn.fr-par.ionos.com* - Production fr-parBy default, *https://vpn.de-fra.ionos.com* is used, however this can be overriden at authentication, either
by setting the `IONOS_API_URL` environment variable or by specifying the `hostUrl` parameter when
initializing the sdk client.The username and password or the authentication token can be manually specified when initializing
the sdk client:```golang
client := ionoscloud.NewAPIClient(ionoscloud.NewConfiguration(username, password, token, hostUrl))
```
Environment variables can also be used. The sdk uses the following variables:
- IONOS_TOKEN - login via token. This is the recommended way to authenticate.
- IONOS_USERNAME - to specify the username used to login
- IONOS_PASSWORD - to specify the password
- IONOS_API_URL - to specify the API server URLIn this case, the client configuration needs to be initialized using `NewConfigurationFromEnv()`.
```golang
client := ionoscloud.NewAPIClient(ionoscloud.NewConfigurationFromEnv())
```
## Documentation for API Endpoints
All URIs are relative to *https://vpn.de-fra.ionos.com*
API Endpoints table
| Class | Method | HTTP request | Description |
| ------------- | ------------- | ------------- | ------------- |
| IPSecGatewaysApi | [**IpsecgatewaysDelete**](docs/api/IPSecGatewaysApi.md#IpsecgatewaysDelete) | **Delete** /ipsecgateways/{gatewayId} | Delete IPSecGateway |
| IPSecGatewaysApi | [**IpsecgatewaysFindById**](docs/api/IPSecGatewaysApi.md#IpsecgatewaysFindById) | **Get** /ipsecgateways/{gatewayId} | Retrieve IPSecGateway |
| IPSecGatewaysApi | [**IpsecgatewaysGet**](docs/api/IPSecGatewaysApi.md#IpsecgatewaysGet) | **Get** /ipsecgateways | Retrieve all IPSecGateways |
| IPSecGatewaysApi | [**IpsecgatewaysPost**](docs/api/IPSecGatewaysApi.md#IpsecgatewaysPost) | **Post** /ipsecgateways | Create IPSecGateway |
| IPSecGatewaysApi | [**IpsecgatewaysPut**](docs/api/IPSecGatewaysApi.md#IpsecgatewaysPut) | **Put** /ipsecgateways/{gatewayId} | Ensure IPSecGateway |
| IPSecTunnelsApi | [**IpsecgatewaysTunnelsDelete**](docs/api/IPSecTunnelsApi.md#IpsecgatewaysTunnelsDelete) | **Delete** /ipsecgateways/{gatewayId}/tunnels/{tunnelId} | Delete IPSecTunnel |
| IPSecTunnelsApi | [**IpsecgatewaysTunnelsFindById**](docs/api/IPSecTunnelsApi.md#IpsecgatewaysTunnelsFindById) | **Get** /ipsecgateways/{gatewayId}/tunnels/{tunnelId} | Retrieve IPSecTunnel |
| IPSecTunnelsApi | [**IpsecgatewaysTunnelsGet**](docs/api/IPSecTunnelsApi.md#IpsecgatewaysTunnelsGet) | **Get** /ipsecgateways/{gatewayId}/tunnels | Retrieve all IPSecTunnels |
| IPSecTunnelsApi | [**IpsecgatewaysTunnelsPost**](docs/api/IPSecTunnelsApi.md#IpsecgatewaysTunnelsPost) | **Post** /ipsecgateways/{gatewayId}/tunnels | Create IPSecTunnel |
| IPSecTunnelsApi | [**IpsecgatewaysTunnelsPut**](docs/api/IPSecTunnelsApi.md#IpsecgatewaysTunnelsPut) | **Put** /ipsecgateways/{gatewayId}/tunnels/{tunnelId} | Ensure IPSecTunnel |
| WireguardGatewaysApi | [**WireguardgatewaysDelete**](docs/api/WireguardGatewaysApi.md#WireguardgatewaysDelete) | **Delete** /wireguardgateways/{gatewayId} | Delete WireguardGateway |
| WireguardGatewaysApi | [**WireguardgatewaysFindById**](docs/api/WireguardGatewaysApi.md#WireguardgatewaysFindById) | **Get** /wireguardgateways/{gatewayId} | Retrieve WireguardGateway |
| WireguardGatewaysApi | [**WireguardgatewaysGet**](docs/api/WireguardGatewaysApi.md#WireguardgatewaysGet) | **Get** /wireguardgateways | Retrieve all WireguardGateways |
| WireguardGatewaysApi | [**WireguardgatewaysPost**](docs/api/WireguardGatewaysApi.md#WireguardgatewaysPost) | **Post** /wireguardgateways | Create WireguardGateway |
| WireguardGatewaysApi | [**WireguardgatewaysPut**](docs/api/WireguardGatewaysApi.md#WireguardgatewaysPut) | **Put** /wireguardgateways/{gatewayId} | Ensure WireguardGateway |
| WireguardPeersApi | [**WireguardgatewaysPeersDelete**](docs/api/WireguardPeersApi.md#WireguardgatewaysPeersDelete) | **Delete** /wireguardgateways/{gatewayId}/peers/{peerId} | Delete WireguardPeer |
| WireguardPeersApi | [**WireguardgatewaysPeersFindById**](docs/api/WireguardPeersApi.md#WireguardgatewaysPeersFindById) | **Get** /wireguardgateways/{gatewayId}/peers/{peerId} | Retrieve WireguardPeer |
| WireguardPeersApi | [**WireguardgatewaysPeersGet**](docs/api/WireguardPeersApi.md#WireguardgatewaysPeersGet) | **Get** /wireguardgateways/{gatewayId}/peers | Retrieve all WireguardPeers |
| WireguardPeersApi | [**WireguardgatewaysPeersPost**](docs/api/WireguardPeersApi.md#WireguardgatewaysPeersPost) | **Post** /wireguardgateways/{gatewayId}/peers | Create WireguardPeer |
| WireguardPeersApi | [**WireguardgatewaysPeersPut**](docs/api/WireguardPeersApi.md#WireguardgatewaysPeersPut) | **Put** /wireguardgateways/{gatewayId}/peers/{peerId} | Ensure WireguardPeer |## Documentation For Models
All URIs are relative to *https://vpn.de-fra.ionos.com*
API models list
- [Connection](docs/models/Connection)
- [DayOfTheWeek](docs/models/DayOfTheWeek)
- [ESPEncryption](docs/models/ESPEncryption)
- [Error](docs/models/Error)
- [ErrorMessages](docs/models/ErrorMessages)
- [IKEEncryption](docs/models/IKEEncryption)
- [IPSecGateway](docs/models/IPSecGateway)
- [IPSecGatewayCreate](docs/models/IPSecGatewayCreate)
- [IPSecGatewayEnsure](docs/models/IPSecGatewayEnsure)
- [IPSecGatewayMetadata](docs/models/IPSecGatewayMetadata)
- [IPSecGatewayRead](docs/models/IPSecGatewayRead)
- [IPSecGatewayReadList](docs/models/IPSecGatewayReadList)
- [IPSecGatewayReadListAllOf](docs/models/IPSecGatewayReadListAllOf)
- [IPSecPSK](docs/models/IPSecPSK)
- [IPSecTunnel](docs/models/IPSecTunnel)
- [IPSecTunnelAuth](docs/models/IPSecTunnelAuth)
- [IPSecTunnelCreate](docs/models/IPSecTunnelCreate)
- [IPSecTunnelEnsure](docs/models/IPSecTunnelEnsure)
- [IPSecTunnelMetadata](docs/models/IPSecTunnelMetadata)
- [IPSecTunnelRead](docs/models/IPSecTunnelRead)
- [IPSecTunnelReadList](docs/models/IPSecTunnelReadList)
- [IPSecTunnelReadListAllOf](docs/models/IPSecTunnelReadListAllOf)
- [Links](docs/models/Links)
- [MaintenanceWindow](docs/models/MaintenanceWindow)
- [Metadata](docs/models/Metadata)
- [Pagination](docs/models/Pagination)
- [ResourceStatus](docs/models/ResourceStatus)
- [WireguardEndpoint](docs/models/WireguardEndpoint)
- [WireguardGateway](docs/models/WireguardGateway)
- [WireguardGatewayCreate](docs/models/WireguardGatewayCreate)
- [WireguardGatewayEnsure](docs/models/WireguardGatewayEnsure)
- [WireguardGatewayMetadata](docs/models/WireguardGatewayMetadata)
- [WireguardGatewayMetadataAllOf](docs/models/WireguardGatewayMetadataAllOf)
- [WireguardGatewayRead](docs/models/WireguardGatewayRead)
- [WireguardGatewayReadList](docs/models/WireguardGatewayReadList)
- [WireguardGatewayReadListAllOf](docs/models/WireguardGatewayReadListAllOf)
- [WireguardPeer](docs/models/WireguardPeer)
- [WireguardPeerCreate](docs/models/WireguardPeerCreate)
- [WireguardPeerEnsure](docs/models/WireguardPeerEnsure)
- [WireguardPeerMetadata](docs/models/WireguardPeerMetadata)
- [WireguardPeerRead](docs/models/WireguardPeerRead)
- [WireguardPeerReadList](docs/models/WireguardPeerReadList)
- [WireguardPeerReadListAllOf](docs/models/WireguardPeerReadListAllOf)[[Back to API list]](#documentation-for-api-endpoints) [[Back to Model list]](#documentation-for-models)