Compute
IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the "Data Center Designer" (DCD) browser-based tool.
Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
Overview
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
API version: 6.0
Package version: products/compute/v0.1.0
Build package: org.openapitools.codegen.languages.GoClientCodegen
Installation
Install the following dependencies:
Put the package under your project folder and add the following in import:
To use a proxy, set the environment variable HTTP_PROXY
:
Configuration of Server URL
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
Select Server Configuration
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
Templated Server URL
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
Note, enum values are always validated and all unused variables are silently ignored.
URLs Configuration per Operation
Each operation can use different server URL defined using OperationServers
map in the Configuration
. An operation is uniquely identifield by "{classname}Service.{nickname}"
string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
Documentation for API Endpoints
All URIs are relative to https://api.ionos.com/cloudapi/v6
ApplicationLoadBalancersApi
Delete /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}
Delete Application Load Balancers
ApplicationLoadBalancersApi
Get /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}
Retrieve Application Load Balancers
ApplicationLoadBalancersApi
Delete /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}
Delete ALB Flow Logs
ApplicationLoadBalancersApi
Get /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}
Retrieve ALB Flow Logs
ApplicationLoadBalancersApi
Get /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs
List ALB Flow Logs
ApplicationLoadBalancersApi
Patch /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}
Partially modify ALB Flow Logs
ApplicationLoadBalancersApi
Post /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs
Create ALB Flow Logs
ApplicationLoadBalancersApi
Put /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}
Modify ALB Flow Logs
ApplicationLoadBalancersApi
Delete /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}
Delete ALB forwarding rules
ApplicationLoadBalancersApi
Get /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}
Retrieve ALB forwarding rules
ApplicationLoadBalancersApi
Get /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules
List ALB forwarding rules
ApplicationLoadBalancersApi
Patch /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}
Partially modify ALB forwarding rules
ApplicationLoadBalancersApi
Post /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules
Create ALB forwarding rules
ApplicationLoadBalancersApi
Put /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}
Modify ALB forwarding rules
ApplicationLoadBalancersApi
Get /datacenters/{datacenterId}/applicationloadbalancers
List Application Load Balancers
ApplicationLoadBalancersApi
Patch /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}
Partially modify Application Load Balancers
ApplicationLoadBalancersApi
Post /datacenters/{datacenterId}/applicationloadbalancers
Create Application Load Balancers
ApplicationLoadBalancersApi
Put /datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}
Modify Application Load Balancers
BackupUnitsApi
Get /backupunits/{backupunitId}/ssourl
Retrieve BU single sign-on URLs
FirewallRulesApi
Delete /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}
Delete firewall rules
FirewallRulesApi
Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}
Retrieve firewall rules
FirewallRulesApi
Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules
List firewall rules
FirewallRulesApi
Patch /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}
Partially modify firewall rules
FirewallRulesApi
Post /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules
Create firewall rules
FirewallRulesApi
Put /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}
Modify firewall rules
FlowLogsApi
Delete /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}
Delete Flow Logs
FlowLogsApi
Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}
Retrieve Flow Logs
FlowLogsApi
Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs
List Flow Logs
FlowLogsApi
Patch /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}
Partially modify Flow Logs
FlowLogsApi
Post /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs
Create Flow Logs
FlowLogsApi
Put /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}
Modify Flow Logs
KubernetesApi
Get /k8s/{k8sClusterId}/kubeconfig
Retrieve Kubernetes configuration files
KubernetesApi
Delete /k8s/{k8sClusterId}/nodepools/{nodepoolId}
Delete Kubernetes node pools
KubernetesApi
Get /k8s/{k8sClusterId}/nodepools/{nodepoolId}
Retrieve Kubernetes node pools
KubernetesApi
Delete /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId}
Delete Kubernetes nodes
KubernetesApi
Get /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId}
Retrieve Kubernetes nodes
KubernetesApi
Get /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes
List Kubernetes nodes
KubernetesApi
Post /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId}/replace
Recreate Kubernetes nodes
KubernetesApi
Put /k8s/{k8sClusterId}/nodepools/{nodepoolId}
Modify Kubernetes node pools
KubernetesApi
Get /k8s/versions/default
Retrieve current default Kubernetes version
LANsApi
Get /datacenters/{datacenterId}/lans/{lanId}/nics/{nicId}
Retrieve attached NICs
LabelsApi
Delete /datacenters/{datacenterId}/labels/{key}
Delete data center labels
LabelsApi
Get /datacenters/{datacenterId}/labels/{key}
Retrieve data center labels
LabelsApi
Delete /datacenters/{datacenterId}/servers/{serverId}/labels/{key}
Delete server labels
LabelsApi
Get /datacenters/{datacenterId}/servers/{serverId}/labels/{key}
Retrieve server labels
LabelsApi
Get /datacenters/{datacenterId}/servers/{serverId}/labels
List server labels
LabelsApi
Post /datacenters/{datacenterId}/servers/{serverId}/labels
Create server labels
LabelsApi
Put /datacenters/{datacenterId}/servers/{serverId}/labels/{key}
Modify server labels
LabelsApi
Delete /datacenters/{datacenterId}/volumes/{volumeId}/labels/{key}
Delete volume labels
LabelsApi
Get /datacenters/{datacenterId}/volumes/{volumeId}/labels/{key}
Retrieve volume labels
LabelsApi
Get /datacenters/{datacenterId}/volumes/{volumeId}/labels
List volume labels
LabelsApi
Post /datacenters/{datacenterId}/volumes/{volumeId}/labels
Create volume labels
LabelsApi
Put /datacenters/{datacenterId}/volumes/{volumeId}/labels/{key}
Modify volume labels
LoadBalancersApi
Delete /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId}
Detach balanced NICs
LoadBalancersApi
Get /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId}
Retrieve balanced NICs
LoadBalancersApi
Get /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics
List balanced NICs
LoadBalancersApi
Post /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics
Attach balanced NICs
LoadBalancersApi
Delete /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}
Delete Load Balancers
LoadBalancersApi
Get /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}
Retrieve Load Balancers
LoadBalancersApi
Get /datacenters/{datacenterId}/loadbalancers
List Load Balancers
LoadBalancersApi
Patch /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}
Partially modify Load Balancers
LoadBalancersApi
Post /datacenters/{datacenterId}/loadbalancers
Create Load Balancers
LoadBalancersApi
Put /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}
Modify Load Balancers
LocationsApi
Get /locations/{regionId}/{locationId}
Retrieve specified locations
NATGatewaysApi
Delete /datacenters/{datacenterId}/natgateways/{natGatewayId}
Delete NAT Gateways
NATGatewaysApi
Get /datacenters/{datacenterId}/natgateways/{natGatewayId}
Retrieve NAT Gateways
NATGatewaysApi
Delete /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}
Delete NAT Gateway Flow Logs
NATGatewaysApi
Get /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}
Retrieve NAT Gateway Flow Logs
NATGatewaysApi
Get /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs
List NAT Gateway Flow Logs
NATGatewaysApi
Patch /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}
Partially modify NAT Gateway Flow Logs
NATGatewaysApi
Post /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs
Create NAT Gateway Flow Logs
NATGatewaysApi
Put /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}
Modify NAT Gateway Flow Logs
NATGatewaysApi
Patch /datacenters/{datacenterId}/natgateways/{natGatewayId}
Partially modify NAT Gateways
NATGatewaysApi
Post /datacenters/{datacenterId}/natgateways
Create NAT Gateways
NATGatewaysApi
Put /datacenters/{datacenterId}/natgateways/{natGatewayId}
Modify NAT Gateways
NATGatewaysApi
Delete /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}
Delete NAT Gateway rules
NATGatewaysApi
Get /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}
Retrieve NAT Gateway rules
NATGatewaysApi
Get /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules
List NAT Gateway rules
NATGatewaysApi
Patch /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}
Partially modify NAT Gateway rules
NATGatewaysApi
Post /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules
Create NAT Gateway rules
NATGatewaysApi
Put /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}
Modify NAT Gateway rules
NetworkInterfacesApi
Delete /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}
Delete NICs
NetworkInterfacesApi
Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}
Retrieve NICs
NetworkInterfacesApi
Get /datacenters/{datacenterId}/servers/{serverId}/nics
List NICs
NetworkInterfacesApi
Patch /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}
Partially modify NICs
NetworkInterfacesApi
Post /datacenters/{datacenterId}/servers/{serverId}/nics
Create NICs
NetworkInterfacesApi
Put /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}
Modify NICs
NetworkLoadBalancersApi
Delete /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}
Delete Network Load Balancers
NetworkLoadBalancersApi
Get /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}
Retrieve Network Load Balancers
NetworkLoadBalancersApi
Delete /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs/{flowLogId}
Delete NLB Flow Logs
NetworkLoadBalancersApi
Get /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs/{flowLogId}
Retrieve NLB Flow Logs
NetworkLoadBalancersApi
Get /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs
List NLB Flow Logs
NetworkLoadBalancersApi
Patch /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs/{flowLogId}
Partially modify NLB Flow Logs
NetworkLoadBalancersApi
Post /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs
Create NLB Flow Logs
NetworkLoadBalancersApi
Put /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs/{flowLogId}
Modify NLB Flow Logs
NetworkLoadBalancersApi
Delete /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules/{forwardingRuleId}
Delete NLB forwarding rules
NetworkLoadBalancersApi
Get /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules/{forwardingRuleId}
Retrieve NLB forwarding rules
NetworkLoadBalancersApi
Get /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules
List NLB forwarding rules
NetworkLoadBalancersApi
Patch /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules/{forwardingRuleId}
Partially modify NLB forwarding rules
NetworkLoadBalancersApi
Post /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules
Create NLB forwarding rules
NetworkLoadBalancersApi
Put /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules/{forwardingRuleId}
Modify NLB forwarding rules
NetworkLoadBalancersApi
Get /datacenters/{datacenterId}/networkloadbalancers
List Network Load Balancers
NetworkLoadBalancersApi
Patch /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}
Partially modify Network Load Balancers
NetworkLoadBalancersApi
Post /datacenters/{datacenterId}/networkloadbalancers
Create Network Load Balancers
NetworkLoadBalancersApi
Put /datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}
Modify Network Load Balancers
ServersApi
Delete /datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId}
Detach CD-ROMs
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId}
Retrieve attached CD-ROMs
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}/cdroms
List attached CD-ROMs
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/cdroms
Attach CD-ROMs
ServersApi
Delete /datacenters/{datacenterId}/servers/{serverId}
Delete servers
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}
Retrieve servers by ID
ServersApi
Patch /datacenters/{datacenterId}/servers/{serverId}
Partially modify servers
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/reboot
Reboot servers
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}/remoteconsole
Get Remote Console link
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/resume
Resume Cubes instances
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/start
Start servers
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/stop
Stop VMs
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/suspend
Suspend Cubes instances
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}/token
Get JASON Web Token
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/upgrade
Upgrade servers
ServersApi
Delete /datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}
Detach volumes
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}
Retrieve attached volumes
ServersApi
Get /datacenters/{datacenterId}/servers/{serverId}/volumes
List attached volumes
ServersApi
Post /datacenters/{datacenterId}/servers/{serverId}/volumes
Attach volumes
TargetGroupsApi
Get /targetgroups/{targetGroupId}
Retrieve target groups
UserManagementApi
Delete /um/groups/{groupId}/shares/{resourceId}
Remove group shares
UserManagementApi
Get /um/groups/{groupId}/shares/{resourceId}
Retrieve group shares
UserManagementApi
Put /um/groups/{groupId}/shares/{resourceId}
Modify group share privileges
UserManagementApi
Delete /um/groups/{groupId}/users/{userId}
Remove users from groups
UserManagementApi
Get /um/resources/{resourceType}/{resourceId}
Retrieve resources by type
UserS3KeysApi
Get /um/users/{userId}/s3keys/{keyId}
Retrieve user S3 keys by key ID
VolumesApi
Post /datacenters/{datacenterId}/volumes/{volumeId}/create-snapshot
Create volume snapshots
VolumesApi
Delete /datacenters/{datacenterId}/volumes/{volumeId}
Delete volumes
VolumesApi
Get /datacenters/{datacenterId}/volumes/{volumeId}
Retrieve volumes
VolumesApi
Patch /datacenters/{datacenterId}/volumes/{volumeId}
Partially modify volumes
VolumesApi
Post /datacenters/{datacenterId}/volumes/{volumeId}/restore-snapshot
Restore volume snapshots
Documentation For Models
Documentation For Authorization
Basic Authentication
Type: HTTP basic authentication
Example
Token Authentication
Type: API key
API key parameter name: Authorization
Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: Authorization and passed in as the auth context for each request.
Documentation for Utility Methods
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime
Author
Last updated