Categorygithub.com/gridscale/gsclient-go/v3
modulepackage
3.16.0
Repository: https://github.com/gridscale/gsclient-go.git
Documentation: pkg.go.dev

# README

gridscale Go Client Library

GitHub tag (latest SemVer) PkgGoDev gsclient-go status

This is a client for the gridscale API. It can be used to make an application interact with the gridscale cloud platform to create and manage resources.

Prerequisites

To be able to use this client a number of steps need to be taken. First a gridscale account will be required, which can be created here. Then an API-token should be created.

Installation

First the Go programming language will need to be installed. This can be done by using the official Go installation guide or by using the packages provided by your distribution.

Downloading the gridscale Go client can be done with the following go command:

$ go get github.com/gridscale/gsclient-go/v3

Using the Client

To be able to use the gridscale Go client in an application it can be imported in a go file. This can be done with the following code:

import "github.com/gridscale/gsclient-go/v3"

To get access to the functions of the Go client, a Client type needs to be created. This requires a Config type. Both of these can be created with the following code:

//Using default config
config := gsclient.DefaultConfiguration("User-UUID", "API-token")

//OR Custom config
config := gsclient.NewConfiguration(
            "API-URL",
            "User-UUID",
            "API-token",
            false, //Set debug mode
            true, //Set sync mode
            500, //Delay (in milliseconds) between requests (or retry 503 error code)
            100, //Maximum number of retries when server returns 503 error code
        )
client := gsclient.NewClient(config)

To trace the duration of individual client calls, set logger to Trace level via gsclient.SetLogLevel() function. Other log levels: https://github.com/sirupsen/logrus#level-logging

gsclient.SetLogLevel(logrus.TraceLevel)

Trace message looks like following:

TRAC[2021-03-12T10:32:43+01:00] Successful method="github.com/gridscale/gsclient-go/v3.(*Client).GetServer" requestUUID=035fc625-199d-41da-93c4-f32502d101c1 timeMs=350

Make sure to replace the user-UUID and API-token strings with valid credentials or variables containing valid credentials. It is recommended to use environment variables for them.

Using API endpoints

***Note: context has to be passed to all APIs of gsclient-go as the first parameter. In case you want to set timeout for a specific operation, you can pass a context with timeout (via context.WithTimeout or context.WithDeadline)

After having created a Client type, as shown above, it will be possible to interact with the API. An example would be the Servers Get endpoint:

ctx := context.Background()
servers := client.GetServerList(ctx)

For creating and updating/patching objects in gridscale, it will be required to use the respective CreateRequest and UpdateRequest types. For creating an IP that would be IPCreateRequest and IPUpdateRequest. Here an example:

ctx := context.Background()
requestBody := gsclient.IPCreateRequest{
    Name:       "IPTest",
    Family:     gsclient.IPv6Type,
    Failover:   false,
    ReverseDNS: "my-reverse-dns-entry.tld",
    Labels:     []string{"MyLabel"},
}

client.CreateIP(ctx, requestBody)

For updating/scaling server resources you could use:

myServerUuid := "[Server UUID]"
backgroundContext := context.Background()

// No hotplug available for scaling resources down, shutdown server first via ACPI
shutdownErr := client.ShutdownServer(backgroundContext, myServerUuid)
if shutdownErr != nil{
    log.Error("Shutdown server failed", shutdownErr)
    return
}

// Update servers resources
requestBody := gsclient.ServerUpdateRequest{
    Memory:          12,
    Cores:           4,
}

updateErr := client.UpdateServer(backgroundContext, myServerUuid, requestBody)
if updateErr != nil{
    log.Error("Serverupdate failed", updateErr)
    return
}

// Start server again
poweronErr := client.StartServer(backgroundContext, myServerUuid)
if poweronErr != nil{
    log.Error("Start server failed", poweronErr)
    return
}

What options are available for each create and update request can be found in the source code. After installing it should be located in $GOPATH/src/github.com/gridscale/gsclient-go.

Examples

Examples on how to use each resource can be found in the examples folder:

  • Firewall (firewall.go)
  • IP (ip.go)
  • ISO-image (isoimage.go)
  • Loadbalancer (loadbalancer.go)
  • Network (network.go)
  • Object Storage (objectstorage.go)
  • PaaS service (paas.go)
  • Server (server.go)
  • Storage (storage.go)
  • Storage snapshot (snapshot.go)
  • Storage snapshot schedule (snapshotschedule.go)
  • SSH-key (sshkey.go)
  • Template (template.go)

Implemented API Endpoints

Not all endpoints have been implemented in this client, but new ones will be added in the future. Here is the current list of implemented endpoints and their respective function written like endpoint (function):

  • Servers
    • Servers Get (GetServerList)
    • Server Get (GetServer)
    • Server Create (CreateServer)
    • Server Patch (UpdateServer)
    • Server Delete (DeleteServer)
    • Server Events Get (GetServerEventList)
    • Server Metrics Get (GetServerMetricList)
    • ACPI Shutdown (ShutdownServer) NOTE: ShutdownServer() will not run StopServer() when it fails to shutdown a server
    • Server On/Off (StartServer, StopServer)
    • Server's Storages Get (GetServerStorageList)
    • Server's Storage Get (GetServerStorage)
    • Server's Storage Create (CreateServerStorage)
    • Server's Storage Update (UpdateServerStorage)
    • Server's Storage Delete (DeleteServerStorage)
    • Link Storage (LinkStorage)
    • Unlink Storage (UnlinkStorage)
    • Server's Networks Get (GetServerNetworkList)
    • Server's Network Get (GetServerNetwork)
    • Server's Network Create (CreateServerNetwork)
    • Server's Network Update (UpdateServerNetwork)
    • Server's Network Delete (DeleteServerNetwork)
    • Link Network (LinkNetwork)
    • Unlink Network (UnlinkNetwork)
    • Server's IPs Get (GetServerNetworkList)
    • Server's IP Get (GetServerNetwork)
    • Server's IP Create (CreateServerNetwork)
    • Server's IP Update (UpdateServerNetwork)
    • Server's IP Delete (DeleteServerNetwork)
    • Link IP (LinkIP)
    • Unlink IP (UnlinkIP)
    • Server's ISO images Get (GetServerIsoImageList)
    • Server's ISO image Get (GetServerIsoImage)
    • Server's ISO image Create (CreateServerIsoImage)
    • Server's ISO image Update (UpdateServerIsoImage)
    • Server's ISO image Delete (DeleteServerIsoImage)
    • Link ISO image (LinkIsoimage)
    • Unlink ISO image (UnlinkIsoimage)
  • Storages
    • Storages Get (GetStorageList)
    • Storage Get (GetStorage)
    • Storage Create (CreateStorage)
    • Storage Create From A Backup (CreateStorageFromBackup)
    • Storage Clone (CloneStorage)
    • Storage Patch (UpdateStorage)
    • Storage Delete (DeleteStorage)
    • Storage's events Get (GetStorageEventList)
  • Networks
    • Networks Get (GetNetworkList)
    • Network Get (GetNetwork)
    • Network Create (CreateNetwork)
    • Network Patch (UpdateNetwork)
    • Network Delete (DeleteNetwork)
    • Network Events Get (GetNetworkEventList)
    • (GetNetworkPublic) No official endpoint, but gives the Public Network
  • Load balancers
    • LoadBalancers Get (GetLoadBalancerList)
    • LoadBalancer Get (GetLoadBalancer)
    • LoadBalancer Create (CreateLoadBalancer)
    • LoadBalancer Patch (UpdateLoadBalancer)
    • LoadBalancer Delete (DeleteLoadBalancer)
    • LoadBalancerEvents Get (GetLoadBalancerEventList)
  • IPs
    • IPs Get (GetIPList)
    • IP Get (GetIP)
    • IP Create (CreateIP)
    • IP Patch (UpdateIP)
    • IP Delete (DeleteIP)
    • IP Events Get (GetIPEventList)
    • IP Version Get (GetIPVersion)
  • SSH-Keys
    • SSH-Keys Get (GetSshkeyList)
    • SSH-Key Get (GetSshkey)
    • SSH-Key Create (CreateSshkey)
    • SSH-Key Patch (UpdateSshkey)
    • SSH-Key Delete (DeleteSshkey)
    • SSH-Key's events Get (GetSshkeyEventList)
  • Template
    • Templates Get (GetTemplateList)
    • Template Get (GetTemplate)
    • (GetTemplateByName) No official endpoint, but gives a template which matches the exact name given.
    • Template Create (CreateTemplate)
    • Template Update (UpdateTemplate)
    • Template Delete (DeleteTemplate)
    • Template's events Get (GetTemplateEventList)
  • PaaS
    • PaaS services Get (GetPaaSServiceList)
    • PaaS service Get (GetPaaSService)
    • PaaS service Create (CreatePaaSService)
    • PaaS service Update (UpdatePaaSService)
    • PaaS service Delete (DeletePaaSService)
    • PaaS service metrics Get (GetPaaSServiceMetrics)
    • PaaS service templates Get (GetPaaSTemplateList)
    • PaaS service security zones Get (GetPaaSSecurityZoneList)
    • Paas service security zone Get (GetPaaSSecurityZone)
    • PaaS service security zone Create (CreatePaaSSecurityZone)
    • PaaS service security zone Update (UpdatePaaSSecurityZone)
    • PaaS service security zone Delete (DeletePaaSSecurityZone)
  • ISO Image
    • ISO Images Get (GetISOImageList)
    • ISO Image Get (GetISOImage)
    • ISO Image Create (CreateISOImage)
    • ISO Image Update (UpdateISOImage)
    • ISO Image Delete (DeleteISOImage)
    • ISO Image Events Get (GetISOImageEventList)
  • Object Storage
    • Object Storage's Access Keys Get (GetObjectStorageAccessKeyList)
    • Object Storage's Access Key Get (GetObjectStorageAccessKey)
    • Object Storage's Access Key Create (CreateObjectStorageAccessKey)
    • Object Storage's Access Key Delete (DeleteObjectStorageAccessKey)
    • Object Storage's Buckets Get (GetObjectStorageBucketList)
  • Storage Snapshot Scheduler
    • Storage Snapshot Schedules Get (GetStorageSnapshotScheduleList)
    • Storage Snapshot Schedule Get (GetStorageSnapshotSchedule)
    • Storage Snapshot Schedule Create (CreateStorageSnapshotSchedule)
    • Storage Snapshot Schedule Update (UpdateStorageSnapshotSchedule)
    • Storage Snapshot Schedule Delete (DeleteStorageSnapshotSchedule)
  • Storage Snapshot
    • Storage Snapshots Get (GetStorageSnapshotList)
    • Storage Snapshot Get (GetStorageSnapshot)
    • Storage Snapshot Create (CreateStorageSnapshot)
    • Storage Snapshot Update (UpdateStorageSnapshot)
    • Storage Snapshot Delete (DeleteStorageSnapshot)
    • Storage Rollback (RollbackStorage)
    • Storage Snapshot Export to S3 (ExportStorageSnapshotToS3)
  • Storage Backup
    • Storage Backups Get (GetStorageBackupList)
    • Storage Backup Delete (DeleteStorageBackup)
    • Storage Backup Rollback (RollbackStorageBackup)
  • Storage Backup Schedule
    • Storage Backup Schedules Get (GetStorageBackupScheduleList)
    • Storage Backup Schedule Get (GetStorageBackupSchedule)
    • Storage Backup Schedule Create (CreateStorageBackupSchedule)
    • Storage Backup Schedule Update (UpdateStorageBackupSchedule)
    • Storage Backup Schedule Delete (DeleteStorageBackupSchedule)
  • Firewall
    • Firewalls Get (GetFirewallList)
    • Firewall Get (GetFirewall)
    • Firewall Create (CreateFirewall)
    • Firewall Update (UpdateFirewall)
    • Firewall Delete (DeleteFirewall)
    • Firewall Events Get (GetFirewallEventList)
  • Marketplace Application
    • Marketplace Applications Get (GetMarketplaceApplicationList)
    • Marketplace Application Get (GetMarketplaceApplication)
    • Marketplace Application Create (CreateMarketplaceApplication)
    • Marketplace Application Import (ImportMarketplaceApplication)
    • Marketplace Application Update (UpdateMarketplaceApplication)
    • Marketplace Application Delete (DeleteMarketplaceApplication)
    • Marketplace Application Events Get (GetMarketplaceApplicationEventList)
  • Event
    • Events Get (GetEventList)
  • Label
    • Labels Get (GetLabelList)
  • Location
    • Locations Get (GetLocationList)
    • Location Get (GetLocation)
    • Location IPs Get (GetIPsByLocation)
    • Location ISO Images Get (GetISOImagesByLocation)
    • Location Networks Get (GetNetworksByLocation)
    • Location Servers Get (GetServersByLocation)
    • Location Snapshots Get (GetSnapshotsByLocation)
    • Location Storages Get (GetStoragesByLocation)
    • Location Templates Get (GetTemplatesByLocation)
  • Deleted
    • Deleted IPs Get (GetDeletedIPs)
    • Deleted ISO Images Get (GetDeletedISOImages)
    • Deleted Networks Get (GetDeletedNetworks)
    • Deleted Servers Get (GetDeletedServers)
    • Deleted Snapshots Get (GetDeletedSnapshots)
    • Deleted Storages Get (GetDeletedStorages)
    • Deleted Templates Get (GetDeletedTemplates)
    • Deleted PaaS Services Get (GetDeletedPaaSServices)
  • SSL certificate
    • SSL certificates Get (GetSSLCertificateList)
    • SSL certificate Get (GetSSLCertificate)
    • SSL certificate Create (CreateSSLCertificate)
    • SSL certificate Delete (DeleteSSLCertificate)

Note: The functions in this list can be called with a Client type.

# Packages

No description provided by the author

# Functions

DefaultConfiguration creates a default configuration.
NewClient creates new gridscale golang client.
NewConfiguration creates a new config.
SetLogLevel manually sets log level.

# Constants

All available server's hardware types.
ContractLevelUsage is used to query resources' usage in contract level.
All allowed password type's values.
All allowed interval variable's values.
All available server's hardware types.
All allowed storage type's values.
All allowed storage variant's values.
All available network models.
All available network models.
All available server's hardware types.
All allowed storage type's values.
All allowed interval variable's values.
All available machinetypes.
All available storage devices.
All allowed storage type's values.
Allowed IP address versions.
Allowed IP address versions.
All available server's hardware types.
All allowed storage variant's values.
All allowed interval variable's values.
All available USB controllers.
All available server's hardware types.
All available USB controllers.
All allowed password type's values.
ProjectLevelUsage is used to query resources' usage in project level.
All available machinetypes.
All available server's hardware types.
All available machinetypes.
All available storage devices.
All available server's hardware types.
All available storage devices.
All available network models.
All available storage devices.
All available network models.
All allowed interval variable's values.

# Variables

All available load balancer algorithms.
All available load balancer algorithms.
All allowed Marketplace application category's values.
All allowed Marketplace application category's values.
All allowed Marketplace application category's values.
All allowed Marketplace application category's values.
All allowed Marketplace application category's values.
All allowed Marketplace application category's values.
All available transport protocols.
All available transport protocols.

# Structs

AutoscalingProperties holds properties of resource autoscalings.
AutoscalingResourceProperties holds properties (Min/Max values) of a resource autoscaling.
BackendServer holds properties telling how a load balancer deals with a backend server.
Client struct of a gridscale golang client.
Config holds config for client.
CreateResponse represents a common response for creation.
CreateStorageFromBackupProperties holds properties of CreateStorageFromBackupRequest.
CreateStorageFromBackupRequest represents a request to create a new storage from a backup.
Credential represents credential used to access a PaaS service.
DeletedIPList holds a list of deleted IP addresses.
DeletedISOImageList holds a list of deleted ISO images.
DeletedNetworkList holds a list of deleted networks.
DeletedPaaSServices provides a list of deleted PaaS services.
DeletedServerList holds a list of deleted servers.
DeletedStorageList holds a list of storages.
DeletedStorageSnapshotList holds a list of deleted storage snapshots.
DeletedTemplateList Holds a list of deleted templates.
DistributedStoragesUsage represents usage of distributed storages.
Event represent a single event.
EventList holds a list of events.
EventProperties holds the properties of an event.
FingerprintProperties holds properties of a list unique identifiers generated from the MD5, SHA-1, and SHA-256 fingerprints of the certificate.
Firewall represents a single firewall.
FirewallCreateRequest represents a request for creating a new firewall.
FirewallCreateResponse represents a response for creating a firewall.
FirewallList holds a list of firewalls.
FirewallProperties holds the properties of a firewall.
FirewallRelation holds a list of firewall-network-server relations.
FirewallRuleProperties represents properties of a firewall rule.
FirewallRules represents a list of firewall's rules.
FirewallUpdateRequest represent a request for updating a firewall.
ForwardingRule represents a forwarding rule.
GeneralUsage represents general usage.
GeneralUsageProperties holds GeneralUsage's properties.
GSTime is the custom time type of gridscale.
IP represent a single IP address.
IPCreateRequest represent a request for creating an IP.
IPCreateResponse represents a response for creating an IP.
IPList holds a list of IP addresses.
IPLoadbalancer represents relation between an IP address and a Load Balancer.
IPProperties holds properties of an IP address.
IPRelations holds list of an IP address's relations.
IPServer represents relation between an IP address and a Server.
IPsUsage represents usage of IP addresses.
IPUpdateRequest represent a request for updating an IP.
IPUsageProperties holds properties of an IP address usage.
ISOImage represent a single ISO image.
ISOImageCreateRequest represents a request for creating an ISO image.
ISOImageCreateResponse represents a response for creating an ISO image.
ISOImageList hold a list of ISO images.
ISOImageProperties holds properties of an ISO image.
ISOImageRelation represents a list of ISO image-server relations.
ISOImagesUsage represents usage of ISO images.
ISOImageUpdateRequest represents a request for updating an ISO image.
ISOImageUsageProperties holds properties of an ISO Image usage.
Label represents a single label.
LabelCreateRequest represents a request for creating a label.
LabelList holds a list of labels.
LabelProperties holds properties of a label.
LoadBalancer represent a single load balancer.
LoadBalancerCreateRequest represents a request for creating a load balancer.
LoadBalancerCreateResponse represents a response for creating a load balancer.
LoadBalancerProperties holds properties of a load balancer.
LoadBalancers holds a list of load balancers.
LoadBalancersUsage represents usage of storage backups.
LoadBalancerUpdateRequest represents a request for updating a load balancer.
LoadBalancerUsageProperties holds properties of a loadbalancer usage.
Location represent a single location.
LocationCreateRequest represent a payload of a request for creating a new location.
LocationFeatures represent a location's list of features.
LocationInformation represents a location's detail information.
LocationList holds a list of locations.
LocationProperties holds properties of a location.
LocationRequestedChange represents a location's requested change.
LocationUpdateRequest represents a request for updating a location.
MarketplaceApplication represent a single market application.
MarketplaceApplicationCreateRequest represents a request for creating a marketplace application.
MarketplaceApplicationCreateResponse represents a response for a marketplace application's creation.
MarketplaceApplicationImportRequest represents a request for importing a marketplace application.
MarketplaceApplicationList holds a list of market applications.
MarketplaceApplicationMetadata holds metadata of a marketplace application.
MarketplaceApplicationProperties holds properties of a market application.
MarketplaceApplicationSetup represents marketplace application's setup.
MarketplaceApplicationUpdateRequest represents a request for updating a marketplace application.
Network represents a single network.
NetworkCreateRequest represents a request for creating a network.
NetworkCreateResponse represents a response for creating a network.
NetworkInFirewall represents properties of a firewall-network-server relation.
NetworkList holds a list of available networks.
NetworkPaaSSecurityZone represents a relation between a network and a PaaS security zone.
NetworkPaaSService represents a relation between a network and a Network.
NetworkProperties holds properties of a network.
NetworkRelations holds a list of a network's relations.
NetworkServer represents a relation between a network and a server.
NetworkUpdatePutRequest represents a PUT request for updating a network.
NetworkUpdateRequest represents a request for updating a network.
NetworkVlan represents a relation between a network and a VLAN.
ObjectStorageAccessKey represents a single object storage access key.
ObjectStorageAccessKeyCreateRequest represents a request for creating an object storage access key.
ObjectStorageAccessKeyCreateResponse represents a response for creating an object storage access key.
ObjectStorageAccessKeyList holds a list of object storage access keys.
ObjectStorageAccessKeyProperties holds properties of an object storage access key.
ObjectStorageAccessKeyUpdateRequest represents a request for updating an object storage access key.
ObjectStorageBucket represents a single bucket.
ObjectStorageBucketList holds a list of buckets.
ObjectStorageBucketProperties holds properties of a bucket.
PaaSMetricProperties holds properties of a PaaS service metric.
PaaSMetricValue represents a PaaS metric value.
PaaSRelationService represents a relation between a PaaS security zone and PaaS services.
PaaSSecurityZone represents a single PaaS security zone.
PaaSSecurityZoneCreateRequest represents a request for creating a PaaS security zone.
PaaSSecurityZoneCreateResponse represents a response for creating a PaaS security zone.
PaaSSecurityZoneProperties holds properties of a PaaS security zone.
PaaSSecurityZones holds a list of PaaS security zones.
PaaSSecurityZoneUpdateRequest represents a request for updating a PaaS security zone.
PaaSService represents a single PaaS service.
PaaSServiceCreateRequest represents a request for creating a PaaS service.
PaaSServiceCreateResponse represents a response for creating a PaaS service.
PaaSServiceMetric represents a single metric of a PaaS service.
PaaSServiceMetrics represents a list of metrics of a PaaS service.
PaaSServiceProperties holds properties of a single PaaS service.
PaaSServices holds a list of available PaaS services.
PaaSServicesUsage represents usage of PaaS services.
PaaSServiceUpdateRequest represetns a request for updating a PaaS service.
PaaSServiceUsageProperties holds properties of a PaaS service usage.
PaaSTemplate represents a single PaaS Template.
PaaSTemplateProperties holds properties of a PaaS template.
PaaSTemplates holds a list of PaaS Templates.
Parameter represents a parameter used in PaaS template.
PinnedServerList hold a list of pinned server with corresponding DCHP IP.
PinServerRequest represents a request assigning DHCP IP to a server.
RequestError represents an error of a request.
RequestStatusProperties holds properties of a request's status.
Resource represents the amount of concurrent connections for the service.
ResourceLimit represents a resource limit.
ResourceUsageInfo represents usage of a specific resource (e.g.
RocketStoragesUsage represents usage of rocket storages.
S3auth represents S3 authentication data, which used in `StorageSnapshotExportToS3Request`.
S3data represents info about snapshot being uploaded, which used in `StorageSnapshotExportToS3Request`.
Schema represents the structure of a nested parameter.
Server represents a single server.
ServerCreateRequest represents a request for creating a server.
ServerCreateRequestIP represents a relation between a server and an IP address.
ServerCreateRequestIsoimage represents a relation between a server and an ISO image.
ServerCreateRequestNetwork represents a relation between a server and a network.
ServerCreateRequestRelations holds a list of a server's relations.
ServerCreateRequestStorage represents a relation between a server and a storage.
ServerCreateResponse represents a response for creating a server.
No description provided by the author
ServerinISOImage represents a relation between an ISO image and a Server.
ServerIPRelation represents a single relation between a server and an IP address.
ServerIPRelationCreateRequest represents a request for creating a relation between a server and an IP address.
ServerIPRelationList holds a list of relations between a server and IP addresses.
ServerIPRelationProperties holds properties of a relation between a server and an IP address.
ServerIsoImageRelation represents a single relation between a server and an ISO image.
ServerIsoImageRelationCreateRequest represents a request for creating a relation between a server and an ISO image.
ServerIsoImageRelationList holds a list of relations between a server and ISO images.
ServerIsoImageRelationProperties holds properties of a relation between a server and an ISO image.
ServerIsoImageRelationUpdateRequest represents a request for updating a relation between a server and an ISO image.
ServerList holds a list of servers.
ServerMetric represents a single metric of a server.
ServerMetricList holds a list of a server's metrics.
ServerMetricProperties holds properties of a server metric.
ServerNetworkRelation represents a single relation between a server and a network.
ServerNetworkRelationCreateRequest represents a request for creating a relation between a server and a network.
ServerNetworkRelationList holds a list of relations between a server and networks.
ServerNetworkRelationProperties holds properties of a relation between a server and a network.
ServerNetworkRelationUpdateRequest represents a request for updating a relation between a server and a network.
ServerPowerUpdateRequest reresents a request for updating server's power state.
ServerProperties holds properties of a server.
ServerRelations holds a list of server relations.
ServerStorageRelationCreateRequest represents a request for creating a relation between a server and a storage.
ServerStorageRelationList holds a list of relations between a server and storages.
ServerStorageRelationProperties holds properties of a relation between a server and a storage.
ServerStorageRelationSingle represents a single relation between a server and a storage.
ServerStorageRelationUpdateRequest represents a request for updating a relation between a server and a storage.
ServersUsage represents usage of servers.
ServerUpdateRequest represents a request for updating a server.
ServerUsageProperties holds properties of a server usage.
ServerWithIP holds a server's UUID and a corresponding IP address.
ServiceObject represents the UUID of a PaaS service relating to a PaaS security zone.
SnapshotsUsage represents usage of snapshots.
SnapshotUsageProperties holds properties of a snapshot usage.
Sshkey represents a single SSH key.
SshkeyCreateRequest represents a request for creating a SSH key.
SshkeyList holds a list of SSH keys.
SshkeyProperties holds properties of a single SSH key.
SshkeyUpdateRequest represents a request for updating a SSH key.
SSLCertificate represents a single SSL certificate.
SSLCertificateCreateRequest represent a payload of a request for creating a SSL certificate.
SSLCertificateList holds a list of SSL certificates.
SSLCertificateProperties holds properties of a SSL certificate.
Storage represents a single storage.
StorageAndSnapshotScheduleRelation represents a relation between a storage and a snapshot schedule.
StorageBackup represents a single storage backup.
StorageBackupList holds of a list of storage backups.
StorageBackupLocation represents a backup location.
StorageBackupLocationList contains a list of available location to store your backup.
StorageBackupLocationProperties represents a backup location's properties.
StorageBackupProperties holds the properties of a single backup.
StorageBackupSchedule represents a single storage backup schedule.
StorageBackupScheduleCreateRequest represents a request for creating a storage backup schedule.
StorageBackupScheduleCreateResponse represents a response for creating a storage backup schedule.
StorageBackupScheduleList contains a list of storage backup schedules.
StorageBackupScheduleProperties contains properties of a storage backup schedule.
StorageBackupScheduleRelation represents a relation between a storage backup schedule and a storage backup.
StorageBackupScheduleRelations contains a list of relations between a storage backup schedule and storage backups.
StorageBackupScheduleUpdateRequest represents a request for updating a storage backup schedule.
StorageBackupsUsage represents usage of storage backups.
StorageBackupUsageProperties holds properties of a storage bakup usage.
StorageCreateRequest represents a request for creating a storage.
StorageList holds a list of storages.
StorageProperties holds properties of a storage.
StorageRelations holds a list of a storage's relations.
StorageRollbackRequest represents a request for rolling back a storage.
StorageServerRelation represents a relation between a storage and a server.
StorageSnapshot represents a single storage snapshot.
StorageSnapshotCreateRequest represents a request for creating a storage snapshot.
StorageSnapshotCreateResponse represents a response for creating a storage snapshot.
StorageSnapshotExportToS3Request represents a request for exporting a storage snapshot to S3.
StorageSnapshotList holds a list of storage snapshots.
StorageSnapshotProperties holds properties of a storage snapshot.
StorageSnapshotRelation represents a relation between a storage and a snapshot.
StorageSnapshotSchedule represents a single storage snapshot schedule.
StorageSnapshotScheduleCreateRequest represents a request for creating a storage snapshot schedule.
StorageSnapshotScheduleCreateResponse represents a response for creating a storage snapshot schedule.
StorageSnapshotScheduleList holds a list of storage snapshot schedules.
StorageSnapshotScheduleProperties holds properties of a single storage snapshot schedule.
StorageSnapshotScheduleRelation represents a relation between a storage snapshot schedule and a storage snapshot.
StorageSnapshotScheduleRelations holds a list of relations between a storage snapshot schedule and storage snapshots.
StorageSnapshotScheduleUpdateRequest represents a request for updating a storage snapshot schedule.
StorageSnapshotUpdateRequest represents a request for updating a storage snapshot.
StorageTemplate represents a storage template.
StorageUpdateRequest represents a request for updating a storage.
StorageUsageProperties holds the properties of a distributed/rocket storage usage.
Template represents a single OS template.
TemplateCreateRequest represents the request for creating a new OS template from an existing storage snapshot.
TemplateList holds a list of templates.
TemplateProperties holds the properties of an OS template.
TemplatesUsage represents usage of templates.
TemplateUpdateRequest represents a request to update a OS template.
TemplateUsageProperties holds properties of a template usage.
Usage represents usage of a product.
UsagePerInterval represents usage of active product within a specific interval.

# Interfaces

EventOperator provides an interface for operations on events.
FirewallOperator provides an interface for operations on firewalls.
IPOperator provides an interface for operations on IP addresses.
ISOImageOperator provides an interface for operations on ISO images.
LabelOperator provides an interface for operations on labels.
LoadBalancerOperator provides an interface for operations on load balancers.
LocationOperator provides an interface for operations on locations.
MarketplaceApplicationOperator aprovides an interface for operations on marketplace applications.
NetworkOperator provides an interface for operations on networks.
ObjectStorageOperator provides an interface for operations on object storages.
PaaSOperator provides an interface for operations on PaaS-service-related resource.
ServerIPRelationOperator provides an interface for operations on Server-IP relations.
ServerIsoImageRelationOperator provides an interface for operations on server-ISO image relations.
ServerNetworkRelationOperator provides an interface for operations on server-network relations.
ServerOperator provides an interface for operations on servers.
ServerStorageRelationOperator provides an interface for operations on server-storage relations.
SSHKeyOperator provides an interface for operations on SSH keys.
SSLCertificateOperator provides an interface for operations on SSL certificates.
StorageBackupOperator provides an interface for operations on storage backups.
StorageBackupScheduleOperator provides an interface for operations on backup schedules.
StorageOperator provides an interface for operations on storages.
StorageSnapshotOperator provides an interface for operations on storage snapshots.
StorageSnapshotScheduleOperator provides an interface for operations on snapshot schedules.
TemplateOperator provides an interface for operations on OS templates.
UsageOperator provides an interface for operations on usage.

# Type aliases

IPAddressType represents IP address family.
LoadbalancerAlgorithm represents the algorithm that a load balancer uses to balance the incoming requests.
No description provided by the author
MarketplaceApplicationCategory represents the category in which a market application is.
No description provided by the author
PasswordType denotes the representation of a password.
RequestStatus represents status of a request.
ServerHardwareProfile represents the type of server.
No description provided by the author
StorageType represents a storages physical capabilities.
StorageVariant represents a storage variant.
TransportLayerProtocol represents a layer 4 protocol.
No description provided by the author