IMPORTANT NOTE:
The Go SDK v5 is deprecated and no longer maintained. Please upgrade to v6, which uses the latest stable API version.
The Go SDK v5 will reach End of Life by September 30, 2023. After this date, the v5 API will not be accessible. If you require any assistance, please contact our support team.
An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based "Data Center Designer" (DCD) tool or via an easy-to-use API.
The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
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: 5.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import sw "./ionoscloud"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)
Note: To overwrite the API endpoint - api.ionos.com
, the environment variable $IONOS_API_URL
can be set, and used with NewConfigurationFromEnv()
function.
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified 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.
ctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
Environment Variable | Description |
---|---|
IONOS_USERNAME |
Specify the username used to login, to authenticate against the IONOS Cloud API |
IONOS_PASSWORD |
Specify the password used to login, to authenticate against the IONOS Cloud API |
IONOS_TOKEN |
Specify the token used to login, if a token is being used instead of username and password |
IONOS_API_URL |
Specify the API URL. It will overwrite the API endpoint default value api.ionos.com . Note: the host URL does not contain the /cloudapi/v5 path, so it should not be included in the IONOS_API_URL environment variable |
All URIs are relative to https://api.ionos.com/cloudapi/v5
API Endpoints table
Class | Method | HTTP request | Description |
---|---|---|---|
DefaultApi | ApiInfoGet | Get / | Display API information |
BackupUnitApi | BackupunitsDelete | Delete /backupunits/{backupunitId} | Delete a Backup Unit |
BackupUnitApi | BackupunitsFindById | Get /backupunits/{backupunitId} | Returns the specified backup Unit |
BackupUnitApi | BackupunitsGet | Get /backupunits | List Backup Units |
BackupUnitApi | BackupunitsPatch | Patch /backupunits/{backupunitId} | Partially modify a Backup Unit |
BackupUnitApi | BackupunitsPost | Post /backupunits | Create a Backup Unit |
BackupUnitApi | BackupunitsPut | Put /backupunits/{backupunitId} | Modify a Backup Unit |
BackupUnitApi | BackupunitsSsourlGet | Get /backupunits/{backupunitId}/ssourl | Returns a single signon URL for the specified backup Unit. |
ContractApi | ContractsGet | Get /contracts | Retrieve a Contract |
DataCenterApi | DatacentersDelete | Delete /datacenters/{datacenterId} | Delete a Data Center |
DataCenterApi | DatacentersFindById | Get /datacenters/{datacenterId} | Retrieve a Data Center |
DataCenterApi | DatacentersGet | Get /datacenters | List Data Centers under your account |
DataCenterApi | DatacentersPatch | Patch /datacenters/{datacenterId} | Partially modify a Data Center |
DataCenterApi | DatacentersPost | Post /datacenters | Create a Data Center |
DataCenterApi | DatacentersPut | Put /datacenters/{datacenterId} | Modify a Data Center |
IPBlocksApi | IpblocksDelete | Delete /ipblocks/{ipblockId} | Delete IP Block |
IPBlocksApi | IpblocksFindById | Get /ipblocks/{ipblockId} | Retrieve an IP Block |
IPBlocksApi | IpblocksGet | Get /ipblocks | List IP Blocks |
IPBlocksApi | IpblocksPatch | Patch /ipblocks/{ipblockId} | Partially modify IP Block |
IPBlocksApi | IpblocksPost | Post /ipblocks | Reserve IP Block |
IPBlocksApi | IpblocksPut | Put /ipblocks/{ipblockId} | Modify IP Block |
ImageApi | ImagesDelete | Delete /images/{imageId} | Delete an Image |
ImageApi | ImagesFindById | Get /images/{imageId} | Retrieve an Image |
ImageApi | ImagesGet | Get /images | List Images |
ImageApi | ImagesPatch | Patch /images/{imageId} | Partially modify an Image |
ImageApi | ImagesPut | Put /images/{imageId} | Modify an Image |
KubernetesApi | K8sDelete | Delete /k8s/{k8sClusterId} | Delete Kubernetes Cluster |
KubernetesApi | K8sFindByClusterId | Get /k8s/{k8sClusterId} | Retrieve Kubernetes Cluster |
KubernetesApi | K8sGet | Get /k8s | List Kubernetes Clusters |
KubernetesApi | K8sKubeconfigGet | Get /k8s/{k8sClusterId}/kubeconfig | Retrieve Kubernetes Configuration File |
KubernetesApi | K8sNodepoolsDelete | Delete /k8s/{k8sClusterId}/nodepools/{nodepoolId} | Delete Kubernetes Node Pool |
KubernetesApi | K8sNodepoolsFindById | Get /k8s/{k8sClusterId}/nodepools/{nodepoolId} | Retrieve Kubernetes Node Pool |
KubernetesApi | K8sNodepoolsGet | Get /k8s/{k8sClusterId}/nodepools | List Kubernetes Node Pools |
KubernetesApi | K8sNodepoolsNodesDelete | Delete /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId} | Delete Kubernetes node |
KubernetesApi | K8sNodepoolsNodesFindById | Get /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId} | Retrieve Kubernetes node |
KubernetesApi | K8sNodepoolsNodesGet | Get /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes | Retrieve Kubernetes nodes. |
KubernetesApi | K8sNodepoolsNodesReplacePost | Post /k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId}/replace | Recreate the Kubernetes node |
KubernetesApi | K8sNodepoolsPost | Post /k8s/{k8sClusterId}/nodepools | Create a Kubernetes Node Pool |
KubernetesApi | K8sNodepoolsPut | Put /k8s/{k8sClusterId}/nodepools/{nodepoolId} | Modify Kubernetes Node Pool |
KubernetesApi | K8sPost | Post /k8s | Create Kubernetes Cluster |
KubernetesApi | K8sPut | Put /k8s/{k8sClusterId} | Modify Kubernetes Cluster |
KubernetesApi | K8sVersionsCompatibilitiesGet | Get /k8s/versions/{clusterVersion}/compatibilities | Retrieves a list of available kubernetes versions for nodepools depending on the given kubernetes version running in the cluster. |
KubernetesApi | K8sVersionsDefaultGet | Get /k8s/versions/default | Retrieve the current default kubernetes version for clusters and nodepools. |
KubernetesApi | K8sVersionsGet | Get /k8s/versions | Retrieve available Kubernetes versions |
LabelApi | DatacentersLabelsDelete | Delete /datacenters/{datacenterId}/labels/{key} | Delete a Label from Data Center |
LabelApi | DatacentersLabelsFindByKey | Get /datacenters/{datacenterId}/labels/{key} | Retrieve a Label of Data Center |
LabelApi | DatacentersLabelsGet | Get /datacenters/{datacenterId}/labels | List all Data Center Labels |
LabelApi | DatacentersLabelsPost | Post /datacenters/{datacenterId}/labels | Add a Label to Data Center |
LabelApi | DatacentersLabelsPut | Put /datacenters/{datacenterId}/labels/{key} | Modify a Label of Data Center |
LabelApi | DatacentersServersLabelsDelete | Delete /datacenters/{datacenterId}/servers/{serverId}/labels/{key} | Delete a Label from Server |
LabelApi | DatacentersServersLabelsFindByKey | Get /datacenters/{datacenterId}/servers/{serverId}/labels/{key} | Retrieve a Label of Server |
LabelApi | DatacentersServersLabelsGet | Get /datacenters/{datacenterId}/servers/{serverId}/labels | List all Server Labels |
LabelApi | DatacentersServersLabelsPost | Post /datacenters/{datacenterId}/servers/{serverId}/labels | Add a Label to Server |
LabelApi | DatacentersServersLabelsPut | Put /datacenters/{datacenterId}/servers/{serverId}/labels/{key} | Modify a Label of Server |
LabelApi | DatacentersVolumesLabelsDelete | Delete /datacenters/{datacenterId}/volumes/{volumeId}/labels/{key} | Delete a Label from Volume |
LabelApi | DatacentersVolumesLabelsFindByKey | Get /datacenters/{datacenterId}/volumes/{volumeId}/labels/{key} | Retrieve a Label of Volume |
LabelApi | DatacentersVolumesLabelsGet | Get /datacenters/{datacenterId}/volumes/{volumeId}/labels | List all Volume Labels |
LabelApi | DatacentersVolumesLabelsPost | Post /datacenters/{datacenterId}/volumes/{volumeId}/labels | Add a Label to Volume |
LabelApi | DatacentersVolumesLabelsPut | Put /datacenters/{datacenterId}/volumes/{volumeId}/labels/{key} | Modify a Label of Volume |
LabelApi | IpblocksLabelsDelete | Delete /ipblocks/{ipblockId}/labels/{key} | Delete a Label from IP Block |
LabelApi | IpblocksLabelsFindByKey | Get /ipblocks/{ipblockId}/labels/{key} | Retrieve a Label of IP Block |
LabelApi | IpblocksLabelsGet | Get /ipblocks/{ipblockId}/labels | List all Ip Block Labels |
LabelApi | IpblocksLabelsPost | Post /ipblocks/{ipblockId}/labels | Add a Label to IP Block |
LabelApi | IpblocksLabelsPut | Put /ipblocks/{ipblockId}/labels/{key} | Modify a Label of IP Block |
LabelApi | LabelsFindByUrn | Get /labels/{labelurn} | Returns the label by its URN. |
LabelApi | LabelsGet | Get /labels | List Labels |
LabelApi | SnapshotsLabelsDelete | Delete /snapshots/{snapshotId}/labels/{key} | Delete a Label from Snapshot |
LabelApi | SnapshotsLabelsFindByKey | Get /snapshots/{snapshotId}/labels/{key} | Retrieve a Label of Snapshot |
LabelApi | SnapshotsLabelsGet | Get /snapshots/{snapshotId}/labels | List all Snapshot Labels |
LabelApi | SnapshotsLabelsPost | Post /snapshots/{snapshotId}/labels | Add a Label to Snapshot |
LabelApi | SnapshotsLabelsPut | Put /snapshots/{snapshotId}/labels/{key} | Modify a Label of Snapshot |
LanApi | DatacentersLansDelete | Delete /datacenters/{datacenterId}/lans/{lanId} | Delete a Lan. |
LanApi | DatacentersLansFindById | Get /datacenters/{datacenterId}/lans/{lanId} | Retrieve a Lan |
LanApi | DatacentersLansGet | Get /datacenters/{datacenterId}/lans | List Lans |
LanApi | DatacentersLansNicsFindById | Get /datacenters/{datacenterId}/lans/{lanId}/nics/{nicId} | Retrieve a nic attached to lan |
LanApi | DatacentersLansNicsGet | Get /datacenters/{datacenterId}/lans/{lanId}/nics | List Lan Members |
LanApi | DatacentersLansNicsPost | Post /datacenters/{datacenterId}/lans/{lanId}/nics | Attach a nic |
LanApi | DatacentersLansPatch | Patch /datacenters/{datacenterId}/lans/{lanId} | Partially modify a Lan |
LanApi | DatacentersLansPost | Post /datacenters/{datacenterId}/lans | Create a Lan |
LanApi | DatacentersLansPut | Put /datacenters/{datacenterId}/lans/{lanId} | Modify a Lan |
LoadBalancerApi | DatacentersLoadbalancersBalancednicsDelete | Delete /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId} | Detach a nic from loadbalancer |
LoadBalancerApi | DatacentersLoadbalancersBalancednicsFindByNicId | Get /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId} | Retrieve a nic attached to Load Balancer |
LoadBalancerApi | DatacentersLoadbalancersBalancednicsGet | Get /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics | List Load Balancer Members |
LoadBalancerApi | DatacentersLoadbalancersBalancednicsPost | Post /datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics | Attach a nic to Load Balancer |
LoadBalancerApi | DatacentersLoadbalancersDelete | Delete /datacenters/{datacenterId}/loadbalancers/{loadbalancerId} | Delete a Loadbalancer. |
LoadBalancerApi | DatacentersLoadbalancersFindById | Get /datacenters/{datacenterId}/loadbalancers/{loadbalancerId} | Retrieve a loadbalancer |
LoadBalancerApi | DatacentersLoadbalancersGet | Get /datacenters/{datacenterId}/loadbalancers | List Load Balancers |
LoadBalancerApi | DatacentersLoadbalancersPatch | Patch /datacenters/{datacenterId}/loadbalancers/{loadbalancerId} | Partially modify a Loadbalancer |
LoadBalancerApi | DatacentersLoadbalancersPost | Post /datacenters/{datacenterId}/loadbalancers | Create a Load Balancer |
LoadBalancerApi | DatacentersLoadbalancersPut | Put /datacenters/{datacenterId}/loadbalancers/{loadbalancerId} | Modify a Load Balancer |
LocationApi | LocationsFindByRegionId | Get /locations/{regionId} | List Locations within a region |
LocationApi | LocationsFindByRegionIdAndId | Get /locations/{regionId}/{locationId} | Retrieve a Location |
LocationApi | LocationsGet | Get /locations | List Locations |
NicApi | DatacentersServersNicsDelete | Delete /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId} | Delete a Nic |
NicApi | DatacentersServersNicsFindById | Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId} | Retrieve a Nic |
NicApi | DatacentersServersNicsFirewallrulesDelete | Delete /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId} | Delete a Firewall Rule |
NicApi | DatacentersServersNicsFirewallrulesFindById | Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId} | Retrieve a Firewall Rule |
NicApi | DatacentersServersNicsFirewallrulesGet | Get /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules | List Firewall Rules |
NicApi | DatacentersServersNicsFirewallrulesPatch | Patch /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId} | Partially modify a Firewall Rule |
NicApi | DatacentersServersNicsFirewallrulesPost | Post /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules | Create a Firewall Rule |
NicApi | DatacentersServersNicsFirewallrulesPut | Put /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId} | Modify a Firewall Rule |
NicApi | DatacentersServersNicsGet | Get /datacenters/{datacenterId}/servers/{serverId}/nics | List Nics |
NicApi | DatacentersServersNicsPatch | Patch /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId} | Partially modify a Nic |
NicApi | DatacentersServersNicsPost | Post /datacenters/{datacenterId}/servers/{serverId}/nics | Create a Nic |
NicApi | DatacentersServersNicsPut | Put /datacenters/{datacenterId}/servers/{serverId}/nics/{nicId} | Modify a Nic |
PrivateCrossConnectApi | PccsDelete | Delete /pccs/{pccId} | Delete a Private Cross-Connect |
PrivateCrossConnectApi | PccsFindById | Get /pccs/{pccId} | Retrieve a Private Cross-Connect |
PrivateCrossConnectApi | PccsGet | Get /pccs | List Private Cross-Connects |
PrivateCrossConnectApi | PccsPatch | Patch /pccs/{pccId} | Partially modify a private cross-connect |
PrivateCrossConnectApi | PccsPost | Post /pccs | Create a Private Cross-Connect |
RequestApi | RequestsFindById | Get /requests/{requestId} | Retrieve a Request |
RequestApi | RequestsGet | Get /requests | List Requests |
RequestApi | RequestsStatusGet | Get /requests/{requestId}/status | Retrieve Request Status |
ServerApi | DatacentersServersCdromsDelete | Delete /datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId} | Detach a CD-ROM |
ServerApi | DatacentersServersCdromsFindById | Get /datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId} | Retrieve an attached CD-ROM |
ServerApi | DatacentersServersCdromsGet | Get /datacenters/{datacenterId}/servers/{serverId}/cdroms | List attached CD-ROMs |
ServerApi | DatacentersServersCdromsPost | Post /datacenters/{datacenterId}/servers/{serverId}/cdroms | Attach a CD-ROM |
ServerApi | DatacentersServersDelete | Delete /datacenters/{datacenterId}/servers/{serverId} | Delete a Server |
ServerApi | DatacentersServersFindById | Get /datacenters/{datacenterId}/servers/{serverId} | Retrieve a Server |
ServerApi | DatacentersServersGet | Get /datacenters/{datacenterId}/servers | List Servers |
ServerApi | DatacentersServersPatch | Patch /datacenters/{datacenterId}/servers/{serverId} | Partially modify a Server |
ServerApi | DatacentersServersPost | Post /datacenters/{datacenterId}/servers | Create a Server |
ServerApi | DatacentersServersPut | Put /datacenters/{datacenterId}/servers/{serverId} | Modify a Server |
ServerApi | DatacentersServersRebootPost | Post /datacenters/{datacenterId}/servers/{serverId}/reboot | Reboot a Server |
ServerApi | DatacentersServersStartPost | Post /datacenters/{datacenterId}/servers/{serverId}/start | Start a Server |
ServerApi | DatacentersServersStopPost | Post /datacenters/{datacenterId}/servers/{serverId}/stop | Stop a Server |
ServerApi | DatacentersServersUpgradePost | Post /datacenters/{datacenterId}/servers/{serverId}/upgrade | Upgrade a Server |
ServerApi | DatacentersServersVolumesDelete | Delete /datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId} | Detach a volume |
ServerApi | DatacentersServersVolumesFindById | Get /datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId} | Retrieve an attached volume |
ServerApi | DatacentersServersVolumesGet | Get /datacenters/{datacenterId}/servers/{serverId}/volumes | List Attached Volumes |
ServerApi | DatacentersServersVolumesPost | Post /datacenters/{datacenterId}/servers/{serverId}/volumes | Attach a volume |
SnapshotApi | SnapshotsDelete | Delete /snapshots/{snapshotId} | Delete a Snapshot |
SnapshotApi | SnapshotsFindById | Get /snapshots/{snapshotId} | Retrieve a Snapshot by its uuid. |
SnapshotApi | SnapshotsGet | Get /snapshots | List Snapshots |
SnapshotApi | SnapshotsPatch | Patch /snapshots/{snapshotId} | Partially modify a Snapshot |
SnapshotApi | SnapshotsPut | Put /snapshots/{snapshotId} | Modify a Snapshot |
UserManagementApi | UmGroupsDelete | Delete /um/groups/{groupId} | Delete a Group |
UserManagementApi | UmGroupsFindById | Get /um/groups/{groupId} | Retrieve a Group |
UserManagementApi | UmGroupsGet | Get /um/groups | List All Groups. |
UserManagementApi | UmGroupsPost | Post /um/groups | Create a Group |
UserManagementApi | UmGroupsPut | Put /um/groups/{groupId} | Modify a group |
UserManagementApi | UmGroupsResourcesGet | Get /um/groups/{groupId}/resources | Retrieve resources assigned to a group |
UserManagementApi | UmGroupsSharesDelete | Delete /um/groups/{groupId}/shares/{resourceId} | Remove a resource from a group |
UserManagementApi | UmGroupsSharesFindByResourceId | Get /um/groups/{groupId}/shares/{resourceId} | Retrieve a group share |
UserManagementApi | UmGroupsSharesGet | Get /um/groups/{groupId}/shares | List Group Shares |
UserManagementApi | UmGroupsSharesPost | Post /um/groups/{groupId}/shares/{resourceId} | Add a resource to a group |
UserManagementApi | UmGroupsSharesPut | Put /um/groups/{groupId}/shares/{resourceId} | Modify resource permissions of a group |
UserManagementApi | UmGroupsUsersDelete | Delete /um/groups/{groupId}/users/{userId} | Remove a user from a group |
UserManagementApi | UmGroupsUsersGet | Get /um/groups/{groupId}/users | List Group Members |
UserManagementApi | UmGroupsUsersPost | Post /um/groups/{groupId}/users | Add a user to a group |
UserManagementApi | UmResourcesFindByType | Get /um/resources/{resourceType} | Retrieve a list of Resources by type. |
UserManagementApi | UmResourcesFindByTypeAndId | Get /um/resources/{resourceType}/{resourceId} | Retrieve a Resource by type. |
UserManagementApi | UmResourcesGet | Get /um/resources | List All Resources. |
UserManagementApi | UmUsersDelete | Delete /um/users/{userId} | Delete a User |
UserManagementApi | UmUsersFindById | Get /um/users/{userId} | Retrieve a User |
UserManagementApi | UmUsersGet | Get /um/users | List all Users |
UserManagementApi | UmUsersGroupsGet | Get /um/users/{userId}/groups | Retrieve a User's group resources |
UserManagementApi | UmUsersOwnsGet | Get /um/users/{userId}/owns | Retrieve a User's own resources |
UserManagementApi | UmUsersPost | Post /um/users | Create a user |
UserManagementApi | UmUsersPut | Put /um/users/{userId} | Modify a user |
UserManagementApi | UmUsersS3keysDelete | Delete /um/users/{userId}/s3keys/{keyId} | Delete a S3 key |
UserManagementApi | UmUsersS3keysFindByKeyId | Get /um/users/{userId}/s3keys/{keyId} | Retrieve given S3 key belonging to the given User |
UserManagementApi | UmUsersS3keysGet | Get /um/users/{userId}/s3keys | Retrieve a User's S3 keys |
UserManagementApi | UmUsersS3keysPost | Post /um/users/{userId}/s3keys | Create a S3 key for the given user |
UserManagementApi | UmUsersS3keysPut | Put /um/users/{userId}/s3keys/{keyId} | Modify a S3 key having the given key id |
UserManagementApi | UmUsersS3ssourlGet | Get /um/users/{userId}/s3ssourl | Retrieve S3 object storage single signon URL for the given user |
VolumeApi | DatacentersVolumesCreateSnapshotPost | Post /datacenters/{datacenterId}/volumes/{volumeId}/create-snapshot | Create Volume Snapshot |
VolumeApi | DatacentersVolumesDelete | Delete /datacenters/{datacenterId}/volumes/{volumeId} | Delete a Volume |
VolumeApi | DatacentersVolumesFindById | Get /datacenters/{datacenterId}/volumes/{volumeId} | Retrieve a Volume |
VolumeApi | DatacentersVolumesGet | Get /datacenters/{datacenterId}/volumes | List Volumes |
VolumeApi | DatacentersVolumesPatch | Patch /datacenters/{datacenterId}/volumes/{volumeId} | Partially modify a Volume |
VolumeApi | DatacentersVolumesPost | Post /datacenters/{datacenterId}/volumes | Create a Volume |
VolumeApi | DatacentersVolumesPut | Put /datacenters/{datacenterId}/volumes/{volumeId} | Modify a Volume |
VolumeApi | DatacentersVolumesRestoreSnapshotPost | Post /datacenters/{datacenterId}/volumes/{volumeId}/restore-snapshot | Restore Volume Snapshot |
API models list
- AttachedVolumes
- BackupUnit
- BackupUnitProperties
- BackupUnitSSO
- BackupUnits
- BalancedNics
- Cdroms
- ConnectableDatacenter
- Contract
- ContractProperties
- DataCenterEntities
- Datacenter
- DatacenterElementMetadata
- DatacenterProperties
- Datacenters
- Error
- ErrorMessage
- FirewallRule
- FirewallRules
- FirewallruleProperties
- Group
- GroupEntities
- GroupMembers
- GroupProperties
- GroupShare
- GroupShareProperties
- GroupShares
- GroupUsers
- Groups
- IPFailover
- Image
- ImageProperties
- Images
- Info
- IpBlock
- IpBlockProperties
- IpBlocks
- IpConsumer
- KubernetesAutoScaling
- KubernetesCluster
- KubernetesClusterEntities
- KubernetesClusterForPost
- KubernetesClusterForPut
- KubernetesClusterProperties
- KubernetesClusterPropertiesForPost
- KubernetesClusterPropertiesForPut
- KubernetesClusters
- KubernetesConfig
- KubernetesConfigProperties
- KubernetesMaintenanceWindow
- KubernetesNode
- KubernetesNodeMetadata
- KubernetesNodePool
- KubernetesNodePoolForPost
- KubernetesNodePoolForPut
- KubernetesNodePoolLan
- KubernetesNodePoolProperties
- KubernetesNodePoolPropertiesForPost
- KubernetesNodePoolPropertiesForPut
- KubernetesNodePools
- KubernetesNodeProperties
- KubernetesNodes
- Label
- LabelProperties
- LabelResource
- LabelResourceProperties
- LabelResources
- Labels
- Lan
- LanEntities
- LanNics
- LanPost
- LanProperties
- LanPropertiesPost
- Lans
- Loadbalancer
- LoadbalancerEntities
- LoadbalancerProperties
- Loadbalancers
- Location
- LocationProperties
- Locations
- Nic
- NicEntities
- NicProperties
- Nics
- NoStateMetaData
- PaginationLinks
- Peer
- PrivateCrossConnect
- PrivateCrossConnectProperties
- PrivateCrossConnects
- Request
- RequestMetadata
- RequestProperties
- RequestStatus
- RequestStatusMetadata
- RequestTarget
- Requests
- Resource
- ResourceEntities
- ResourceGroups
- ResourceLimits
- ResourceProperties
- ResourceReference
- Resources
- ResourcesUsers
- S3Key
- S3KeyMetadata
- S3KeyProperties
- S3Keys
- S3ObjectStorageSSO
- Server
- ServerEntities
- ServerProperties
- Servers
- Snapshot
- SnapshotProperties
- Snapshots
- Type
- User
- UserMetadata
- UserPost
- UserProperties
- UserPropertiesPost
- UserPropertiesPut
- UserPut
- Users
- UsersEntities
- Volume
- VolumeProperties
- Volumes
- Type: HTTP basic authentication
Example
auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
UserName: "username",
Password: "password",
})
r, err := client.Service.Operation(auth, args)
- 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.
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
If you want to see the API call request and response messages, you need to set the Debug field in the Configuration struct:
package main
import "github.com/ionos-cloud/sdk-go/v5"
func main() {
// create your configuration. replace username, password, token and url with correct values, or use NewConfigurationFromEnv()
// if you have set your env variables as explained above
cfg := ionoscloud.NewConfiguration("username", "password", "token", "hostUrl")
// enable request and response logging
cfg.Debug = true
// create you api client with the configuration
apiClient := ionoscloud.NewAPIClient(cfg)
}