# README
Brightbox Go Library
gobrightbox
is a Brightbox API
client library written in Go.
Documentation is available at pkg.go.dev
The following are the instructions for version 1 of the GO library.
version 2 instructions are in the v2 directory.
Install
go get github.com/brightbox/[email protected]
where X.Y.Z is the version you need.
Authentication
This client does not itself handle authentication. Instead, use the standard OAuth2 golang library to authenticate and create tokens.
Supported Objects
- Full Server support
- Full Server Group support
- Full CloudIP support
- Full Firewall Policy support
- Full Load Balancer support
- Full Cloud SQL support
- Full Api Client support
- Basic Image support
- Basic event stream support
Help
If you need help using this library, drop an email to support at brightbox dot com.
Licence
This code is released under an MIT License.
Copyright (c) 2015-2022 Brightbox Systems Ltd.
# Packages
Package clientcredentials implements the API client credentials access method.
Package endpoint manages the API endpoint details
The API uses an endpoint URL and a semantic version number.
No description provided by the author
Package passwordcredentials implements the API Resource Owner Password
Credentials access method.
# Functions
Connect allocates and configures a Client for interacting with the API.
# Structs
Account represents a Brightbox Cloud Account https://api.gb1.brightbox.com/1.0/#account.
AccountOptions is used to update objects.
APIClient represents an API client.
APIClientOptions is used to create and update api clients.
APIError can be returned when an API request fails.
Client represents a connection to the Brightbox API.
CloudIP represents a Cloud IP https://api.gb1.brightbox.com/1.0/#cloud_ip.
CloudIPAttachment is used in conjunction with MapCloudIP to specify the destination the CloudIP should be mapped to.
CloudIPOptions is used in conjunction with CreateCloudIP and UpdateCloudIP to create and update cloud IPs.
Collaboration represents an API client.
CollaborationOptions is used to create and update api clients.
ConfigMap represents a config map https://api.gb1.brightbox.com/1.0/#config_maps.
ConfigMapOptions is used to create and update config maps.
DatabaseServer represents a database server.
DatabaseServerOptions is used in conjunction with CreateDatabaseServer and UpdateDatabaseServer to create and update database servers.
DatabaseServerType represents a database server type https://api.gb1.brightbox.com/1.0/#database_type.
DatabaseSnapshot represents a snapshot of a database server.
DatabaseSnapshotOptions is used to update snapshots.
FirewallPolicy represents a firewall policy.
FirewallPolicyAttachment is used in conjunction with FirewallPolicyOptions, ApplyFirewallPolicy and RemoveFirewallPolicy to specify the group that the firewall policy should apply to.
FirewallPolicyOptions is used in conjunction with CreateFirewallPolicy and UpdateFirewallPolicy to create and update firewall policies.
FirewallRule represents a firewall rule.
FirewallRuleOptions is used in conjunction with CreateFirewallRule and UpdateFirewallRule to create and update firewall rules.
Image represents a Machine Image https://api.gb1.brightbox.com/1.0/#image.
ImageOptions is used to create and update machine images.
Interface represent a server's network interface(s) https://api.gb1.brightbox.com/1.0/#interface.
LoadBalancer represents a Load Balancer https://api.gb1.brightbox.com/1.0/#load_balancer.
LoadBalancerAcme represents an ACME object on a LoadBalancer.
LoadBalancerAcmeCertificate represents an ACME issued certificate on a LoadBalancer.
LoadBalancerAcmeDomain represents a domain for which ACME support has been requested.
LoadBalancerHealthcheck represents a health check on a LoadBalancer.
LoadBalancerListener represents a listener on a LoadBalancer.
LoadBalancerNode is used in conjunction with LoadBalancerOptions, AddNodesToLoadBalancer, RemoveNodesFromLoadBalancer to specify a list of servers to use as load balancer nodes.
LoadBalancerOptions is used in conjunction with CreateLoadBalancer and UpdateLoadBalancer to create and update load balancers.
PortTranslator represents a port translator on a Cloud IP.
ResourceRef contains the header fields in every API object.
Server represents a Cloud Server https://api.gb1.brightbox.com/1.0/#server DeletedAt is nil if the server has not yet been deleted.
ServerConsole is embedded into Server and contains the fields used in response to an ActivateConsoleForServer request.
ServerGroup represents a server group https://api.gb1.brightbox.com/1.0/#server_group.
ServerGroupMember is used to add, remove and move a server between server groups.
ServerGroupMemberList is used to add, remove and move servers between server groups.
ServerGroupOptions is used in combination with CreateServerGroup and UpdateServerGroup to create and update server groups.
ServerNewSize is used in conjunction with ResizeServer to specify the new Server type for the Server.
ServerOptions is used in conjunction with CreateServer and UpdateServer to create and update servers.
ServerType represents a Server Type https://api.gb1.brightbox.com/1.0/#server_type.
TwoFactorAuthType is nested in User.
User represents a Brightbox User https://api.gb1.brightbox.com/1.0/#user.
UserOptions is used to update objects.
Volume represents a Brightbox Volume https://api.gb1.brightbox.com/1.0/#volume.
VolumeAttachment is used in conjunction with AttachVolume and DetachVolume.
VolumeEntry is used within ServerOptions to specify the boot volume for a server on creation.
VolumeNewSize is used in conjunction with ResizeVolume to specify the change in the disk size.
VolumeOptions is used to create and update volumes create and update servers.
Zone represents a Zone https://api.gb1.brightbox.com/1.0/#zone.
# Interfaces
CreateDated is a constraint type that selects all Brightbox objects with a creation date.
Oauth2 is the abstract interface for any Brightbox oauth2 client generator.
# Type aliases
DatabaseServerNewSize is used in conjunction with ResizeDatabaseServer to specify the new DatabaseServerType for the Database Server.