Categorygithub.com/linode/linodego
modulepackage
0.32.2
Repository: https://github.com/linode/linodego.git
Documentation: pkg.go.dev

# README

linodego

Build Status Release GoDoc Go Report Card codecov

Go client for Linode REST v4 API

Installation

go get -u github.com/linode/linodego

API Support

Check API_SUPPORT.md for current support of the Linode v4 API endpoints.

** Note: This project will change and break until we release a v1.0.0 tagged version. Breaking changes in v0.x.x will be denoted with a minor version bump (v0.2.4 -> v0.3.0) **

Documentation

See godoc for a complete reference.

The API generally follows the naming patterns prescribed in the OpenAPIv3 document for Linode APIv4.

Deviations in naming have been made to avoid using "Linode" and "Instance" redundantly or inconsistently.

A brief summary of the features offered in this API client are shown here.

Examples

General Usage

package main

import (
	"context"
	"fmt"

	"github.com/linode/linodego"
	"golang.org/x/oauth2"

	"log"
	"net/http"
	"os"
)

func main() {
  apiKey, ok := os.LookupEnv("LINODE_TOKEN")
  if !ok {
    log.Fatal("Could not find LINODE_TOKEN, please assert it is set.")
  }
  tokenSource := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: apiKey})

  oauth2Client := &http.Client{
    Transport: &oauth2.Transport{
      Source: tokenSource,
    },
  }

  linodeClient := linodego.NewClient(oauth2Client)
  linodeClient.SetDebug(true)
  
  res, err := linodeClient.GetInstance(context.Background(), 4090913)
  if err != nil {
    log.Fatal(err)
  }
  fmt.Printf("%v", res)
}

Pagination

Auto-Pagination Requests

kernels, err := linodego.ListKernels(context.Background(), nil)
// len(kernels) == 218

Or, use a page value of "0":

opts := linodego.NewListOptions(0,"")
kernels, err := linodego.ListKernels(context.Background(), opts)
// len(kernels) == 218

Single Page

opts := linodego.NewListOptions(2,"")
// or opts := linodego.ListOptions{PageOptions: &linodego.PageOptions{Page: 2}, PageSize: 500}
kernels, err := linodego.ListKernels(context.Background(), opts)
// len(kernels) == 100

ListOptions are supplied as a pointer because the Pages and Results values are set in the supplied ListOptions.

// opts.Results == 218

Filtering

opts := linodego.ListOptions{Filter: "{\"mine\":true}"}
// or opts := linodego.NewListOptions(0, "{\"mine\":true}")
stackscripts, err := linodego.ListStackscripts(context.Background(), opts)

Error Handling

Getting Single Entities

linode, err := linodego.GetInstance(context.Background(), 555) // any Linode ID that does not exist or is not yours
// linode == nil: true
// err.Error() == "[404] Not Found"
// err.Code == "404"
// err.Message == "Not Found"

Lists

For lists, the list is still returned as [], but err works the same way as on the Get request.

linodes, err := linodego.ListInstances(context.Background(), linodego.NewListOptions(0, "{\"foo\":bar}"))
// linodes == []
// err.Error() == "[400] [X-Filter] Cannot filter on foo"

Otherwise sane requests beyond the last page do not trigger an error, just an empty result:

linodes, err := linodego.ListInstances(context.Background(), linodego.NewListOptions(9999, ""))
// linodes == []
// err = nil

Writes

When performing a POST or PUT request, multiple field related errors will be returned as a single error, currently like:

// err.Error() == "[400] [field1] foo problem; [field2] bar problem; [field3] baz problem"

Tests

Run make testunit to run the unit tests.

Run make testint to run the integration tests. The integration tests use fixtures.

To update the test fixtures, run make fixtures. This will record the API responses into the fixtures/ directory. Be careful about committing any sensitive account details. An attempt has been made to sanitize IP addresses and dates, but no automated sanitization will be performed against fixtures/*Account*.yaml, for example.

To prevent disrupting unaffected fixtures, target fixture generation like so: make ARGS="-run TestListVolumes" fixtures.

Discussion / Help

Join us at #linodego on the gophers slack

License

MIT License

# Packages

No description provided by the author

# Functions

NewClient factory to create new Client struct.
NewError creates a linodego.Error with a Code identifying the source err type, - ErrorFromString (1) from a string - ErrorFromError (2) for an error - ErrorFromStringer (3) for a Stringer - HTTP Status Codes (100-600) for a resty.Response object.
NewListOptions simplified construction of ListOptions using only the two writable properties, Page and Filter.
NewResource is the factory to create a new Resource struct.

# Constants

No description provided by the author
No description provided by the author
ObjectStorageACL options represent the access control level of a bucket.
ObjectStorageACL options represent the access control level of a bucket.
ObjectStorageACL options represent the access control level of a bucket.
ObjectStorageACL options represent the access control level of a bucket.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
EventAction constants represent the actions that cause an Event.
ConfigAlgorithm constants reflect the NodeBalancer Config Algorithm.
ConfigAlgorithm constants reflect the NodeBalancer Config Algorithm.
ConfigAlgorithm constants reflect the NodeBalancer Config Algorithm.
APIEnvVar environment var to check for API token.
APIHost Linode API hostname.
APIHostCert environment var containing path to CA cert to validate against.
APIHostVar environment var to check for alternate API URL.
APIProto connect to API with http(s).
Maximum wait time for retries.
APISecondsPerPoll how frequently to poll for new Events or Status in WaitFor functions.
APIVersion Linode API version.
APIVersionVar environment var to check for alternate API Version.
LishAuthMethod constants are the methods of authentication allowed when connecting via Lish.
LishAuthMethod constants are the methods of authentication allowed when connecting via Lish.
LishAuthMethod constants are the methods of authentication allowed when connecting via Lish.
ConfigCheck constants reflect the node health status checking method for a NodeBalancer Config.
ConfigCheck constants reflect the node health status checking method for a NodeBalancer Config.
ConfigCheck constants reflect the node health status checking method for a NodeBalancer Config.
ConfigCheck constants reflect the node health status checking method for a NodeBalancer Config.
ConfigCipher constants reflect the preferred cipher set for a NodeBalancer Config.
ConfigCipher constants reflect the preferred cipher set for a NodeBalancer Config.
LinodeTypeClass contants are the Instance Type Classes that an Instance Type can be assigned.
LinodeTypeClass contants are the Instance Type Classes that an Instance Type can be assigned.
LinodeTypeClass contants are the Instance Type Classes that an Instance Type can be assigned.
LinodeTypeClass contants are the Instance Type Classes that an Instance Type can be assigned.
DiskStatus constants represent the status values an Instance Disk may have.
DiskStatus constants represent the status values an Instance Disk may have.
DiskStatus constants represent the status values an Instance Disk may have.
DomainStatus constants reflect the current status of a Domain.
DomainStatus constants reflect the current status of a Domain.
DomainStatus constants reflect the current status of a Domain.
DomainStatus constants reflect the current status of a Domain.
DomainType constants reflect the DNS zone type of a Domain.
DomainType constants reflect the DNS zone type of a Domain.
EntityType contants are the entities an Event can be related to.
EntityType contants are the entities an Event can be related to.
EntityType contants are the entities an Event can be related to.
EntityType contants are the entities an Event can be related to.
EntityType contants are the entities an Event can be related to.
ErrorFromError is the Code identifying Errors created by error types.
ErrorFromString is the Code identifying Errors created by string types.
ErrorFromStringer is the Code identifying Errors created by fmt.Stringer types.
EventStatus constants reflect the current status of an Event.
EventStatus constants reflect the current status of an Event.
EventStatus constants reflect the current status of an Event.
EventStatus constants reflect the current status of an Event.
EventStatus constants reflect the current status of an Event.
DiskFilesystem constants represent the filesystems types an Instance Disk may use.
DiskFilesystem constants represent the filesystems types an Instance Disk may use.
DiskFilesystem constants represent the filesystems types an Instance Disk may use.
DiskFilesystem constants represent the filesystems types an Instance Disk may use.
DiskFilesystem constants represent the filesystems types an Instance Disk may use.
FirewallStatus enums start with Firewall.
FirewallDeviceType constants start with FirewallDevice.
FirewallDeviceType constants start with FirewallDevice.
FirewallStatus enums start with Firewall.
FirewallStatus enums start with Firewall.
NetworkProtocol enum values.
ImageStatus options start with ImageStatus and include all Image statuses.
ImageStatus options start with ImageStatus and include all Image statuses.
ImageStatus options start with ImageStatus and include all Image statuses.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
InstanceStatus constants reflect the current status of an Instance.
No description provided by the author
No description provided by the author
InstanceIPType constants represent the IP types an Instance IP may be.
InstanceIPType constants represent the IP types an Instance IP may be.
InstanceIPType constants represent the IP types an Instance IP may be.
InstanceIPType constants represent the IP types an Instance IP may be.
LKEClusterStatus enums start with LKECluster.
LKEClusterStatus enums start with LKECluster.
LKEClusterPoolStatus constants reflect the current status of an LKEClusterPool.
LKEClusterPoolStatus constants reflect the current status of an LKEClusterPool.
NotificationSeverity constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationSeverity constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationSeverity constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
NotificationType constants represent the actions that cause a Notification.
OAuthClientStatus constants reflect the current status of an OAuth Client.
OAuthClientStatus constants reflect the current status of an OAuth Client.
OAuthClientStatus constants reflect the current status of an OAuth Client.
ConfigProtocol constants reflect the protocol used by a NodeBalancer Config.
ConfigProtocol constants reflect the protocol used by a NodeBalancer Config.
ConfigProtocol constants reflect the protocol used by a NodeBalancer Config.
ConfigProxyProtocol constatns reflect the proxy protocol version used by a NodeBalancer Config.
ConfigProxyProtocol constatns reflect the proxy protocol version used by a NodeBalancer Config.
ConfigProxyProtocol constatns reflect the proxy protocol version used by a NodeBalancer Config.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
DomainRecordType contants are the DNS record types a DomainRecord can assign.
ConfigStickiness constants reflect the node stickiness method for a NodeBalancer Config.
ConfigStickiness constants reflect the node stickiness method for a NodeBalancer Config.
ConfigStickiness constants reflect the node stickiness method for a NodeBalancer Config.
NetworkProtocol enum values.
TicketStatus constants reflect the current status of a Ticket.
TicketStatus constants reflect the current status of a Ticket.
TicketStatus constants reflect the current status of a Ticket.
NetworkProtocol enum values.
VolumeActive indicates the Volume is online and available for use.
VolumeContactSupport indicates there is a problem with the Volume.
VolumeCreating indicates the Volume is being created and is not yet available for use.
VolumeResizing indicates the Volume is in the process of upgrading its current capacity.

# Variables

DefaultUserAgent is the default User-Agent sent in HTTP request headers.
ModeAccept is the NodeMode indicating a NodeBalancer Node is accepting traffic.
ModeBackup is the NodeMode indicating a NodeBalancer Node will only receive traffic if all "accept" Nodes are down.
ModeDrain is the NodeMode indicating a NodeBalancer Node is not receiving new traffic, but may continue receiving traffic from pinned connections.
ModeReject is the NodeMode indicating a NodeBalancer Node is not receiving traffic.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot.
No description provided by the author

# Structs

Account associated with the token in use.
AccountSettings are the account wide flags or plans that effect new resources.
AccountSettingsUpdateOptions are the updateable account wide flags or plans that effect new resources.
APIError is the error-set returned by the Linode API when presented with an invalid request.
APIErrorReason is an individual invalid request message returned by the Linode API.
Client is a wrapper around the Resty client.
No description provided by the author
CreditCard information associated with the Account.
DevicesCreationOptions fields are used when adding devices during the Firewall creation process.
Domain represents a Domain object.
DomainCreateOptions fields are those accepted by CreateDomain.
DomainRecord represents a DomainRecord object.
DomainRecordCreateOptions fields are those accepted by CreateDomainRecord.
DomainRecordsPagedResponse represents a paginated DomainRecord API response.
DomainRecordUpdateOptions fields are those accepted by UpdateDomainRecord.
DomainsPagedResponse represents a paginated Domain API response.
DomainUpdateOptions converts a Domain to DomainUpdateOptions for use in UpdateDomain.
DomainZoneFile represents the Zone File of a Domain.
No description provided by the author
Error wraps the LinodeGo error with the relevant http.Response.
Event represents an action taken on the Account.
EventEntity provides detailed information about the Event's associated entity, including ID, Type, Label, and a URL that can be used to access it.
EventsPagedResponse represents a paginated Events API response.
A Firewall is a set of networking rules (iptables) applied to Devices with which it is associated.
FirewallCreateOptions fields are those accepted by CreateFirewall.
FirewallDevice represents a device governed by a Firewall.
FirewallDeviceCreateOptions fields are those accepted by CreateFirewallDevice.
FirewallDeviceEntity contains information about a device associated with a Firewall.
FirewallDevicesPagedResponse represents a Linode API response for FirewallDevices.
A FirewallRule is a whitelist of ports, protocols, and addresses for which traffic should be allowed.
FirewallRuleSet is a pair of inbound and outbound rules that specify what network traffic should be allowed.
FirewallsPagedResponse represents a Linode API response for listing of Cloud Firewalls.
FirewallUpdateOptions is an options struct used when Updating a Firewall.
No description provided by the author
No description provided by the author
Image represents a deployable Image object for use with Linode Instances.
ImageCreateOptions fields are those accepted by CreateImage.
ImageCreateUploadOptions fields are those accepted by CreateImageUpload.
ImageCreateUploadResponse fields are those returned by CreateImageUpload.
ImagesPagedResponse represents a linode API response for listing of images.
ImageUpdateOptions fields are those accepted by UpdateImage.
ImageUploadOptions fields are those accepted by UploadImage.
Instance represents a linode object.
InstanceAlert represents a metric alert.
InstanceBackup represents backup settings for an instance.
InstanceBackupSnapshotResponse fields are those representing Instance Backup Snapshots.
InstanceBackupsResponse response struct for backup snapshot.
InstanceCloneOptions is an options struct sent when Cloning an Instance.
InstanceConfig represents all of the settings that control the boot and run configuration of a Linode Instance.
InstanceConfigCreateOptions are InstanceConfig settings that can be used at creation.
InstanceConfigDevice contains either the DiskID or VolumeID assigned to a Config Device.
InstanceConfigDeviceMap contains SDA-SDH InstanceConfigDevice settings.
InstanceConfigHelpers are Instance Config options that control Linux distribution specific tweaks.
InstanceConfigInterface contains information about a configuration's network interface.
InstanceConfigsPagedResponse represents a paginated InstanceConfig API response.
InstanceConfigUpdateOptions are InstanceConfig settings that can be used in updates.
InstanceCreateOptions require only Region and Type.
InstanceDisk represents an Instance Disk object.
InstanceDiskCreateOptions are InstanceDisk settings that can be used at creation.
InstanceDisksPagedResponse represents a paginated InstanceDisk API response.
InstanceDiskUpdateOptions are InstanceDisk settings that can be used in updates.
InstanceIP represents an Instance IP with additional DNS and networking details.
InstanceIPAddressResponse contains the IPv4 and IPv6 details for an Instance.
InstanceIPv4Response contains the details of all IPv4 addresses associated with an Instance.
InstanceIPv6Response contains the IPv6 addresses and ranges for an Instance.
InstanceRebuildOptions is a struct representing the options to send to the rebuild linode endpoint.
InstanceRescueOptions fields are those accepted by RescueInstance.
InstanceResizeOptions is an options struct used when resizing an instance.
InstanceSnapshot represents a linode backup snapshot.
InstanceSnapshotDisk fields represent the source disk of a Snapshot.
InstancesPagedResponse represents a linode API response for listing.
InstanceSpec represents a linode spec.
InstanceStats represents an instance stats object.
InstanceStatsData represents an instance stats data object.
InstanceTransfer pool stats for a Linode Instance during the current billing month.
InstanceUpdateOptions is an options struct used when Updating an Instance.
InstanceVolumesPagedResponse represents a paginated InstanceVolume API response.
Invoice structs reflect an invoice for billable activity on the account.
InvoiceItem structs reflect an single billable activity associate with an Invoice.
InvoiceItemsPagedResponse represents a paginated Invoice Item API response.
InvoicesPagedResponse represents a paginated Invoice API response.
IPAddressesPagedResponse represents a paginated IPAddress API response.
IPAddressUpdateOptions fields are those accepted by UpdateToken.
IPv6PoolsPagedResponse represents a paginated IPv6Pool API response.
IPv6Range represents a range of IPv6 addresses routed to a single Linode in a given Region.
IPv6RangesPagedResponse represents a paginated IPv6Range API response.
LinodeAddons represent the linode addons object.
LinodeBackupsAddon represents a linode backups addon object.
LinodeKernel represents a Linode Instance kernel object.
LinodeKernelsPagedResponse represents a Linode kernels API response for listing.
LinodePrice represents a linode type price object.
LinodeType represents a linode type object.
LinodeTypesPagedResponse represents a linode types API response for listing.
ListOptions are the pagination and filtering (TODO) parameters for endpoints.
LKECluster represents a LKECluster object.
LKEClusterAPIEndpoint fields are those returned by ListLKEClusterAPIEndpoints.
LKEClusterAPIEndpointsPagedResponse represents a paginated LKEClusterAPIEndpoints API response.
LKEClusterCreateOptions fields are those accepted by CreateLKECluster.
LKEClusterKubeconfig fields are those returned by GetLKEClusterKubeconfig.
LKEClusterPollOptions configures polls against LKE Clusters.
LKEClusterPool represents a LKEClusterPool object.
No description provided by the author
LKEClusterPoolCreateOptions fields are those accepted by CreateLKEClusterPool.
LKEClusterPoolDisk represents a Node disk in an LKEClusterPool object.
LKEClusterPoolLinode represents a LKEClusterPoolLinode object.
LKEClusterPoolsPagedResponse represents a paginated LKEClusterPool API response.
LKEClusterPoolUpdateOptions fields are those accepted by UpdateLKEClusterPool.
LKEClustersPagedResponse represents a paginated LKECluster API response.
LKEClusterUpdateOptions fields are those accepted by UpdateLKECluster.
LKEVersion fields are those returned by GetLKEVersion.
LKEVersionsPagedResponse represents a paginated LKEVersion API response.
LongviewClient represents a LongviewClient object.
LongviewClientsPagedResponse represents a paginated LongviewClient API response.
LongviewSubscription represents a LongviewSubscription object.
LongviewSubscriptionsPagedResponse represents a paginated LongviewSubscription API response.
NetworkAddresses are arrays of ipv4 and v6 addresses.
NodeBalancer represents a NodeBalancer object.
NodeBalancerConfig objects allow a NodeBalancer to accept traffic on a new port.
NodeBalancerConfigCreateOptions are permitted by CreateNodeBalancerConfig.
NodeBalancerConfigRebuildOptions used by RebuildNodeBalancerConfig.
NodeBalancerConfigsPagedResponse represents a paginated NodeBalancerConfig API response.
NodeBalancerCreateOptions are the options permitted for CreateNodeBalancer.
NodeBalancerNode objects represent a backend that can accept traffic for a NodeBalancer Config.
NodeBalancerNodeCreateOptions fields are those accepted by CreateNodeBalancerNode.
NodeBalancerNodesPagedResponse represents a paginated NodeBalancerNode API response.
NodeBalancerNodeStatus represents the total number of nodes whose status is Up or Down.
NodeBalancerNodeUpdateOptions fields are those accepted by UpdateNodeBalancerNode.
NodeBalancersPagedResponse represents a paginated NodeBalancer API response.
NodeBalancerStats represents a nodebalancer stats object.
NodeBalancerStatsData represents a nodebalancer stats data object.
NodeBalancerTransfer contains information about the amount of transfer a NodeBalancer has had in the current month.
NodeBalancerUpdateOptions are the options permitted for UpdateNodeBalancer.
Notification represents a notification on an Account.
NotificationEntity adds detailed information about the Notification.
NotificationsPagedResponse represents a paginated Notifications API response.
OAuthClient represents a OAuthClient object.
OAuthClientCreateOptions fields are those accepted by CreateOAuthClient.
OAuthClientsPagedResponse represents a paginated OAuthClient API response.
OAuthClientUpdateOptions fields are those accepted by UpdateOAuthClient.
ObjectStorageBucket represents a ObjectStorage object.
ObjectStorageBucketAccess holds Object Storage access info.
No description provided by the author
No description provided by the author
ObjectStorageBucketCreateOptions fields are those accepted by CreateObjectStorageBucket.
ObjectStorageBucketsPagedResponse represents a paginated ObjectStorageBucket API response.
ObjectStorageBucketUpdateAccessOptions fields are those accepted by UpdateObjectStorageBucketAccess.
ObjectStorageCluster represents a linode object storage cluster object.
ObjectStorageClustersPagedResponse represents a linode API response for listing.
ObjectStorageKey represents a linode object storage key object.
ObjectStorageKeyBucketAccess represents a linode limited object storage key's bucket access.
ObjectStorageKeyCreateOptions fields are those accepted by CreateObjectStorageKey.
ObjectStorageKeysPagedResponse represents a linode API response for listing.
ObjectStorageKeyUpdateOptions fields are those accepted by UpdateObjectStorageKey.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
PageOptions are the pagination parameters for List endpoints.
Payment represents a Payment object.
PaymentCreateOptions fields are those accepted by CreatePayment.
PaymentsPagedResponse represents a paginated Payment API response.
Profile represents a Profile object.
ProfileReferrals represent a User's status in the Referral Program.
ProfileUpdateOptions fields are those accepted by UpdateProfile.
Region represents a linode region object.
RegionsPagedResponse represents a linode API response for listing.
Resource represents a linode API resource.
RestoreInstanceOptions fields are those accepted by InstanceRestore.
SortedObjects currently only includes Instances.
SSHKey represents a SSHKey object.
SSHKeyCreateOptions fields are those accepted by CreateSSHKey.
SSHKeysPagedResponse represents a paginated SSHKey API response.
SSHKeyUpdateOptions fields are those accepted by UpdateSSHKey.
Stackscript represents a Linode StackScript.
StackscriptCreateOptions fields are those accepted by CreateStackscript.
StackscriptsPagedResponse represents a paginated Stackscript API response.
StackscriptUDF define a single variable that is accepted by a Stackscript.
StatsIO represents an IO stats object.
StatsNet represents a network stats object.
StatsTraffic represents a Traffic stats object.
Tag represents a Tag object.
TagCreateOptions fields are those accepted by CreateTag.
TaggedObject represents a Tagged Object object.
TaggedObjectsPagedResponse represents a paginated Tag API response.
TagsPagedResponse represents a paginated Tag API response.
Ticket represents a support ticket object.
TicketEntity refers a ticket to a specific entity.
TicketsPagedResponse represents a paginated ticket API response.
Token represents a Token object.
TokenCreateOptions fields are those accepted by CreateToken.
TokensPagedResponse represents a paginated Token API response.
TokenUpdateOptions fields are those accepted by UpdateToken.
User represents a User object.
UserCreateOptions fields are those accepted by CreateUser.
No description provided by the author
No description provided by the author
UsersPagedResponse represents a paginated User API response.
UserUpdateOptions fields are those accepted by UpdateUser.
No description provided by the author
VLANsPagedResponse represents a Linode API response for listing of VLANs.
Volume represents a linode volume object.
VolumeAttachOptions fields are those accepted by AttachVolume.
VolumeCreateOptions fields are those accepted by CreateVolume.
VolumesPagedResponse represents a linode API response for listing of volumes.
VolumeUpdateOptions fields are those accepted by UpdateVolume.

# Type aliases

ClusterConditionFunc represents a function that tests a condition against an LKE cluster, returns true if the condition has been reached, false if it has not yet been reached.
ConfigAlgorithm constants start with Algorithm and include Linode API NodeBalancer Config Algorithms.
ConfigCheck constants start with Check and include Linode API NodeBalancer Config Check methods.
ConfigCipher constants start with Cipher and include Linode API NodeBalancer Config Cipher values.
ConfigInterfacePurpose options start with InterfacePurpose and include all known interface purpose types.
ConfigProtocol constants start with Protocol and include Linode API Nodebalancer Config protocols.
ConfigProxyProtocol constants start with ProxyProtocol and include Linode API NodeBalancer Config proxy protocol versions.
ConfigStickiness constants start with Stickiness and include Linode API NodeBalancer Config Stickiness.
DiskFilesystem constants start with Filesystem and include Linode API Filesystems.
DiskStatus constants have the prefix "Disk" and include Linode API Instance Disk Status.
DomainRecordType constants start with RecordType and include Linode API Domain Record Types.
DomainStatus constants start with DomainStatus and include Linode API Domain Status values.
DomainType constants start with DomainType and include Linode API Domain Type values.
EntityType constants start with Entity and include Linode API Event Entity Types.
EventAction constants start with Action and include all known Linode API Event Actions.
EventStatus constants start with Event and include Linode API Event Status values.
FirewallDeviceType represents the different kinds of devices governable by a Firewall.
FirewallStatus enum type.
No description provided by the author
ImageStatus represents the status of an Image.
InstanceIPType constants start with IPType and include Linode Instance IP Types.
InstanceSnapshotStatus constants start with Snapshot and include Linode API Instance Backup Snapshot status values.
InstanceStatus constants start with Instance and include Linode API Instance Status values.
LinodeTypeClass constants start with Class and include Linode API Instance Type Classes.
LishAuthMethod constants start with AuthMethod and include Linode API Lish Authentication Methods.
LKEClusterStatus represents the status of an LKECluster.
LKELinodeStatus constants start with LKELinode and include Linode API LKEClusterPool Linode Status values.
NetworkProtocol enum type.
NodeBalancerConfigUpdateOptions are permitted by UpdateNodeBalancerConfig.
NodeMode is the mode a NodeBalancer should use when sending traffic to a NodeBalancer Node.
NotificationSeverity constants start with Notification and include all known Linode API Notification Severities.
NotificationType constants start with Notification and include all known Linode API Notification Types.
OAuthClientStatus constants start with OAuthClient and include Linode API Instance Status values.
ObjectStorageACL options start with ACL and include all known ACL types.
type RetryAfter func(c *resty.Client, r *resty.Response) (time.Duration, error).
type RetryConditional func(r *resty.Response) (shouldRetry bool).
StackscriptUpdateOptions fields are those accepted by UpdateStackscript.
TaggedObjectList are a list of TaggedObjects, as returning by ListTaggedObjects.
TicketStatus constants start with Ticket and include Linode API Ticket Status values.
VolumeStatus indicates the status of the Volume.