Documentation
¶
Index ¶
- Constants
- Variables
- func ConfigureRetries(c *Client)
- func DoublePointer[T any](value T) **T
- func DoublePointerNull[T any]() **T
- func ErrHasStatus(err error, code ...int) bool
- func FormatConfigPath(path string) (string, error)
- func IsNotFound(err error) bool
- func LinodeBusyRetryCondition(resp *http.Response, _ error) bool
- func Pointer[T any](value T) *T
- func RequestGOAWAYRetryCondition(_ *http.Response, err error) bool
- func RequestNGINXRetryCondition(resp *http.Response, _ error) bool
- func RequestTimeoutRetryCondition(resp *http.Response, _ error) bool
- func RespectRetryAfter(resp *http.Response) (time.Duration, error)
- func ServiceUnavailableRetryCondition(resp *http.Response, _ error) bool
- func TooManyRequestsRetryCondition(resp *http.Response, _ error) bool
- type APIError
- type APIErrorReason
- type Account
- type AccountAccess
- type AccountAgreements
- type AccountAgreementsUpdateOptions
- type AccountAvailability
- type AccountBetaProgram
- type AccountBetaProgramCreateOpts
- type AccountMaintenance
- type AccountRolePermissions
- type AccountServiceTransfer
- type AccountServiceTransferEntity
- type AccountServiceTransferRequestOptions
- type AccountServiceTransferStatus
- type AccountSettings
- type AccountSettingsUpdateOptions
- type AccountTransfer
- type AccountTransferRegion
- type AccountUpdateOptions
- type AggregateFunction
- type AlertChannel
- type AlertChannelEnvelope
- type AlertChannelType
- type AlertDefinition
- type AlertDefinitionCreateOptions
- type AlertDefinitionEntities
- type AlertDefinitionEntity
- type AlertDefinitionScope
- type AlertDefinitionStatus
- type AlertDefinitionUpdateOptions
- type AlertNotificationType
- type AlertType
- type AlertsInfo
- type AllocateReserveIPOptions
- type AutovacuumAnalyzeScaleFactor
- type AutovacuumAnalyzeThreshold
- type AutovacuumMaxWorkers
- type AutovacuumNaptime
- type AutovacuumVacuumCostDelay
- type AutovacuumVacuumCostLimit
- type AutovacuumVacuumScaleFactor
- type AutovacuumVacuumThreshold
- type BGWriterDelay
- type BGWriterFlushAfter
- type BGWriterLRUMaxPages
- type BGWriterLRUMultiplier
- type BetaProgram
- type ChannelDetails
- type ChartType
- type ChildAccount
- type ChildAccountToken
- type Client
- func (c *Client) AcceptAccountServiceTransfer(ctx context.Context, token string) error
- func (c *Client) AcknowledgeAccountAgreements(ctx context.Context, opts AccountAgreementsUpdateOptions) error
- func (c *Client) AddInstanceIPAddress(ctx context.Context, linodeID int, opts InstanceIPAddOptions) (*InstanceIP, error)
- func (c *Client) AddPaymentMethod(ctx context.Context, opts PaymentMethodCreateOptions) error
- func (c *Client) AddPromoCode(ctx context.Context, opts PromoCodeCreateOptions) (*Promotion, error)
- func (c *Client) AddRetryCondition(retryCondition RetryConditional) *Client
- func (c *Client) AllocateReserveIP(ctx context.Context, opts AllocateReserveIPOptions) (*InstanceIP, error)
- func (c *Client) AppendInstanceConfigInterface(ctx context.Context, linodeID int, configID int, ...) (*InstanceConfigInterface, error)
- func (c *Client) AssignInstanceReservedIP(ctx context.Context, linodeID int, opts InstanceReserveIPOptions) (*InstanceIP, error)
- func (c *Client) AssignPlacementGroupLinodes(ctx context.Context, id int, options PlacementGroupAssignOptions) (*PlacementGroup, error)
- func (c *Client) AttachVolume(ctx context.Context, volumeID int, opts *VolumeAttachOptions) (*Volume, error)
- func (c *Client) BootInstance(ctx context.Context, linodeID int, opts InstanceBootOptions) error
- func (c *Client) CancelAccountServiceTransfer(ctx context.Context, token string) error
- func (c *Client) CancelInstanceBackups(ctx context.Context, linodeID int) error
- func (c *Client) CancelObjectStorage(ctx context.Context) error
- func (c *Client) CloneDomain(ctx context.Context, domainID int, opts DomainCloneOptions) (*Domain, error)
- func (c *Client) CloneInstance(ctx context.Context, linodeID int, opts InstanceCloneOptions) (*Instance, error)
- func (c *Client) CloneInstanceDisk(ctx context.Context, linodeID, diskID int) (*InstanceDisk, error)
- func (c *Client) CloneVolume(ctx context.Context, volumeID int, opts VolumeCloneOptions) (*Volume, error)
- func (c *Client) ConfirmTwoFactor(ctx context.Context, opts ConfirmTwoFactorOptions) (*ConfirmTwoFactorResponse, error)
- func (c *Client) CreateChildAccountToken(ctx context.Context, euuid string) (*ChildAccountToken, error)
- func (c *Client) CreateDomain(ctx context.Context, opts DomainCreateOptions) (*Domain, error)
- func (c *Client) CreateDomainRecord(ctx context.Context, domainID int, opts DomainRecordCreateOptions) (*DomainRecord, error)
- func (c *Client) CreateFirewall(ctx context.Context, opts FirewallCreateOptions) (*Firewall, error)
- func (c *Client) CreateFirewallDevice(ctx context.Context, firewallID int, opts FirewallDeviceCreateOptions) (*FirewallDevice, error)
- func (c *Client) CreateFirewallRuleSet(ctx context.Context, opts FirewallRuleSetCreateOptions) (*FirewallRuleSet, error)
- func (c *Client) CreateIPv6Range(ctx context.Context, opts IPv6RangeCreateOptions) (*IPv6Range, error)
- func (c *Client) CreateImage(ctx context.Context, opts ImageCreateOptions) (*Image, error)
- func (c *Client) CreateImageShareGroup(ctx context.Context, opts ImageShareGroupCreateOptions) (*ProducerImageShareGroup, error)
- func (c *Client) CreateImageUpload(ctx context.Context, opts ImageCreateUploadOptions) (*Image, string, error)
- func (c *Client) CreateInstance(ctx context.Context, opts InstanceCreateOptions) (*Instance, error)
- func (c *Client) CreateInstanceConfig(ctx context.Context, linodeID int, opts InstanceConfigCreateOptions) (*InstanceConfig, error)
- func (c *Client) CreateInstanceDisk(ctx context.Context, linodeID int, opts InstanceDiskCreateOptions) (*InstanceDisk, error)
- func (c *Client) CreateInstanceSnapshot(ctx context.Context, linodeID int, opts InstanceSnapshotCreateOptions) (*InstanceSnapshot, error)
- func (c *Client) CreateInterface(ctx context.Context, linodeID int, opts LinodeInterfaceCreateOptions) (*LinodeInterface, error)
- func (c *Client) CreateLKECluster(ctx context.Context, opts LKEClusterCreateOptions) (*LKECluster, error)
- func (c *Client) CreateLKENodePool(ctx context.Context, clusterID int, opts LKENodePoolCreateOptions) (*LKENodePool, error)
- func (c *Client) CreateLock(ctx context.Context, opts LockCreateOptions) (*Lock, error)
- func (c *Client) CreateLongviewClient(ctx context.Context, opts LongviewClientCreateOptions) (*LongviewClient, error)
- func (c *Client) CreateMonitorAlertDefinition(ctx context.Context, serviceType string, opts AlertDefinitionCreateOptions) (*AlertDefinition, error)
- func (c *Client) CreateMonitorAlertDefinitionWithIdempotency(ctx context.Context, serviceType string, opts AlertDefinitionCreateOptions, ...) (*AlertDefinition, error)
- func (c *Client) CreateMonitorServiceTokenForServiceType(ctx context.Context, serviceType string, opts MonitorTokenCreateOptions) (*MonitorServiceToken, error)
- func (c *Client) CreateMySQLDatabase(ctx context.Context, opts MySQLCreateOptions) (*MySQLDatabase, error)
- func (c *Client) CreateNodeBalancer(ctx context.Context, opts NodeBalancerCreateOptions) (*NodeBalancer, error)
- func (c *Client) CreateNodeBalancerConfig(ctx context.Context, nodebalancerID int, opts NodeBalancerConfigCreateOptions) (*NodeBalancerConfig, error)
- func (c *Client) CreateNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, ...) (*NodeBalancerNode, error)
- func (c *Client) CreateOAuthClient(ctx context.Context, opts OAuthClientCreateOptions) (*OAuthClient, error)
- func (c *Client) CreateObjectStorageBucket(ctx context.Context, opts ObjectStorageBucketCreateOptions) (*ObjectStorageBucket, error)
- func (c *Client) CreateObjectStorageKey(ctx context.Context, opts ObjectStorageKeyCreateOptions) (*ObjectStorageKey, error)
- func (c *Client) CreateObjectStorageObjectURL(ctx context.Context, regionID, label string, ...) (*ObjectStorageObjectURL, error)
- func (c *Client) CreatePayment(ctx context.Context, opts PaymentCreateOptions) (*Payment, error)
- func (c *Client) CreatePlacementGroup(ctx context.Context, options PlacementGroupCreateOptions) (*PlacementGroup, error)
- func (c *Client) CreatePostgresDatabase(ctx context.Context, opts PostgresCreateOptions) (*PostgresDatabase, error)
- func (c *Client) CreateSSHKey(ctx context.Context, opts SSHKeyCreateOptions) (*SSHKey, error)
- func (c *Client) CreateStackscript(ctx context.Context, opts StackscriptCreateOptions) (*Stackscript, error)
- func (c *Client) CreateTag(ctx context.Context, opts TagCreateOptions) (*Tag, error)
- func (c *Client) CreateToken(ctx context.Context, opts TokenCreateOptions) (*Token, error)
- func (c *Client) CreateTwoFactorSecret(ctx context.Context) (*TwoFactorSecret, error)
- func (c *Client) CreateUser(ctx context.Context, opts UserCreateOptions) (*User, error)
- func (c *Client) CreateVPC(ctx context.Context, opts VPCCreateOptions) (*VPC, error)
- func (c *Client) CreateVPCSubnet(ctx context.Context, opts VPCSubnetCreateOptions, vpcID int) (*VPCSubnet, error)
- func (c *Client) CreateVolume(ctx context.Context, opts VolumeCreateOptions) (*Volume, error)
- func (c *Client) DeleteDomain(ctx context.Context, domainID int) error
- func (c *Client) DeleteDomainRecord(ctx context.Context, domainID int, recordID int) error
- func (c *Client) DeleteFirewall(ctx context.Context, firewallID int) error
- func (c *Client) DeleteFirewallDevice(ctx context.Context, firewallID, deviceID int) error
- func (c *Client) DeleteFirewallRuleSet(ctx context.Context, rulesetID int) error
- func (c *Client) DeleteIPv6Range(ctx context.Context, ipRange string) error
- func (c *Client) DeleteImage(ctx context.Context, imageID string) error
- func (c *Client) DeleteImageShareGroup(ctx context.Context, imageShareGroupID int) error
- func (c *Client) DeleteInstance(ctx context.Context, linodeID int) error
- func (c *Client) DeleteInstanceConfig(ctx context.Context, linodeID int, configID int) error
- func (c *Client) DeleteInstanceConfigInterface(ctx context.Context, linodeID int, configID int, interfaceID int) error
- func (c *Client) DeleteInstanceDisk(ctx context.Context, linodeID int, diskID int) error
- func (c *Client) DeleteInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string) error
- func (c *Client) DeleteInterface(ctx context.Context, linodeID int, interfaceID int) error
- func (c *Client) DeleteLKECluster(ctx context.Context, clusterID int) error
- func (c *Client) DeleteLKEClusterControlPlaneACL(ctx context.Context, clusterID int) error
- func (c *Client) DeleteLKEClusterKubeconfig(ctx context.Context, clusterID int) error
- func (c *Client) DeleteLKEClusterServiceToken(ctx context.Context, clusterID int) error
- func (c *Client) DeleteLKENodePool(ctx context.Context, clusterID, poolID int) error
- func (c *Client) DeleteLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) error
- func (c *Client) DeleteLock(ctx context.Context, lockID int) error
- func (c *Client) DeleteLongviewClient(ctx context.Context, clientID int) error
- func (c *Client) DeleteMonitorAlertDefinition(ctx context.Context, serviceType string, alertID int) error
- func (c *Client) DeleteMySQLDatabase(ctx context.Context, databaseID int) error
- func (c *Client) DeleteNodeBalancer(ctx context.Context, nodebalancerID int) error
- func (c *Client) DeleteNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int) error
- func (c *Client) DeleteNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int) error
- func (c *Client) DeleteOAuthClient(ctx context.Context, clientID string) error
- func (c *Client) DeleteObjectStorageBucket(ctx context.Context, regionID, label string) error
- func (c *Client) DeleteObjectStorageBucketCert(ctx context.Context, regionID, bucket string) error
- func (c *Client) DeleteObjectStorageKey(ctx context.Context, keyID int) error
- func (c *Client) DeletePaymentMethod(ctx context.Context, paymentMethodID int) error
- func (c *Client) DeletePhoneNumber(ctx context.Context) error
- func (c *Client) DeletePlacementGroup(ctx context.Context, id int) error
- func (c *Client) DeletePostgresDatabase(ctx context.Context, databaseID int) error
- func (c *Client) DeleteProfileApp(ctx context.Context, appID int) error
- func (c *Client) DeleteProfileDevice(ctx context.Context, deviceID int) error
- func (c *Client) DeleteReservedIPAddress(ctx context.Context, ipAddress string) error
- func (c *Client) DeleteSSHKey(ctx context.Context, keyID int) error
- func (c *Client) DeleteStackscript(ctx context.Context, scriptID int) error
- func (c *Client) DeleteTag(ctx context.Context, label string) error
- func (c *Client) DeleteToken(ctx context.Context, tokenID int) error
- func (c *Client) DeleteUser(ctx context.Context, userID string) error
- func (c *Client) DeleteVPC(ctx context.Context, vpcID int) error
- func (c *Client) DeleteVPCSubnet(ctx context.Context, vpcID int, subnetID int) error
- func (c *Client) DeleteVolume(ctx context.Context, volumeID int) error
- func (c *Client) DetachVolume(ctx context.Context, volumeID int) error
- func (c *Client) DisableTwoFactor(ctx context.Context) error
- func (c *Client) EnableInstanceBackups(ctx context.Context, linodeID int) error
- func (c *Client) ErrorAndLogf(format string, args ...any) error
- func (c *Client) GetAccount(ctx context.Context) (*Account, error)
- func (c *Client) GetAccountAgreements(ctx context.Context) (*AccountAgreements, error)
- func (c *Client) GetAccountAvailability(ctx context.Context, regionID string) (*AccountAvailability, error)
- func (c *Client) GetAccountBetaProgram(ctx context.Context, betaID string) (*AccountBetaProgram, error)
- func (c *Client) GetAccountRolePermissions(ctx context.Context) (*AccountRolePermissions, error)
- func (c *Client) GetAccountServiceTransfer(ctx context.Context, token string) (*AccountServiceTransfer, error)
- func (c *Client) GetAccountSettings(ctx context.Context) (*AccountSettings, error)
- func (c *Client) GetAccountTransfer(ctx context.Context) (*AccountTransfer, error)
- func (c *Client) GetBetaProgram(ctx context.Context, betaID string) (*BetaProgram, error)
- func (c *Client) GetChildAccount(ctx context.Context, euuid string) (*ChildAccount, error)
- func (c *Client) GetDatabaseEngine(ctx context.Context, _ *ListOptions, engineID string) (*DatabaseEngine, error)
- func (c *Client) GetDatabaseType(ctx context.Context, _ *ListOptions, typeID string) (*DatabaseType, error)
- func (c *Client) GetDomain(ctx context.Context, domainID int) (*Domain, error)
- func (c *Client) GetDomainRecord(ctx context.Context, domainID int, recordID int) (*DomainRecord, error)
- func (c *Client) GetDomainZoneFile(ctx context.Context, domainID int) (*DomainZoneFile, error)
- func (c *Client) GetEntityRoles(ctx context.Context, username string, entityType string, entityID int) ([]string, error)
- func (c *Client) GetEvent(ctx context.Context, eventID int) (*Event, error)
- func (c *Client) GetFirewall(ctx context.Context, firewallID int) (*Firewall, error)
- func (c *Client) GetFirewallDevice(ctx context.Context, firewallID, deviceID int) (*FirewallDevice, error)
- func (c *Client) GetFirewallRuleSet(ctx context.Context, rulesetID int) (*FirewallRuleSet, error)
- func (c *Client) GetFirewallRules(ctx context.Context, firewallID int) (*FirewallRules, error)
- func (c *Client) GetFirewallRulesExpansion(ctx context.Context, firewallID int) (*FirewallRules, error)
- func (c *Client) GetFirewallSettings(ctx context.Context) (*FirewallSettings, error)
- func (c *Client) GetFirewallTemplate(ctx context.Context, slug string) (*FirewallTemplate, error)
- func (c *Client) GetIPAddress(ctx context.Context, id string) (*InstanceIP, error)
- func (c *Client) GetIPv6Pool(ctx context.Context, id string) (*IPv6Range, error)
- func (c *Client) GetIPv6Range(ctx context.Context, ipRange string) (*IPv6Range, error)
- func (c *Client) GetImage(ctx context.Context, imageID string) (*Image, error)
- func (c *Client) GetImageShareGroup(ctx context.Context, imageShareGroupID int) (*ProducerImageShareGroup, error)
- func (c *Client) GetInstance(ctx context.Context, linodeID int) (*Instance, error)
- func (c *Client) GetInstanceBackups(ctx context.Context, linodeID int) (*InstanceBackupsResponse, error)
- func (c *Client) GetInstanceConfig(ctx context.Context, linodeID int, configID int) (*InstanceConfig, error)
- func (c *Client) GetInstanceConfigInterface(ctx context.Context, linodeID int, configID int, interfaceID int) (*InstanceConfigInterface, error)
- func (c *Client) GetInstanceDisk(ctx context.Context, linodeID int, diskID int) (*InstanceDisk, error)
- func (c *Client) GetInstanceIPAddress(ctx context.Context, linodeID int, ipaddress string) (*InstanceIP, error)
- func (c *Client) GetInstanceIPAddresses(ctx context.Context, linodeID int) (*InstanceIPAddressResponse, error)
- func (c *Client) GetInstanceSnapshot(ctx context.Context, linodeID int, snapshotID int) (*InstanceSnapshot, error)
- func (c *Client) GetInstanceStats(ctx context.Context, linodeID int) (*InstanceStats, error)
- func (c *Client) GetInstanceStatsByDate(ctx context.Context, linodeID int, year int, month int) (*InstanceStats, error)
- func (c *Client) GetInstanceTransfer(ctx context.Context, linodeID int) (*InstanceTransfer, error)
- func (c *Client) GetInstanceTransferMonthly(ctx context.Context, linodeID, year, month int) (*MonthlyInstanceTransferStats, error)
- func (c *Client) GetInterface(ctx context.Context, linodeID int, interfaceID int) (*LinodeInterface, error)
- func (c *Client) GetInterfaceSettings(ctx context.Context, linodeID int) (*InterfaceSettings, error)
- func (c *Client) GetInvoice(ctx context.Context, invoiceID int) (*Invoice, error)
- func (c *Client) GetKernel(ctx context.Context, kernelID string) (*LinodeKernel, error)
- func (c *Client) GetLKECluster(ctx context.Context, clusterID int) (*LKECluster, error)
- func (c *Client) GetLKEClusterAPLConsoleURL(ctx context.Context, clusterID int) (string, error)
- func (c *Client) GetLKEClusterAPLHealthCheckURL(ctx context.Context, clusterID int) (string, error)
- func (c *Client) GetLKEClusterControlPlaneACL(ctx context.Context, clusterID int) (*LKEClusterControlPlaneACLResponse, error)
- func (c *Client) GetLKEClusterKubeconfig(ctx context.Context, clusterID int) (*LKEClusterKubeconfig, error)
- func (c *Client) GetLKENodePool(ctx context.Context, clusterID, poolID int) (*LKENodePool, error)
- func (c *Client) GetLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) (*LKENodePoolLinode, error)
- func (c *Client) GetLKETierVersion(ctx context.Context, tier string, versionID string) (*LKETierVersion, error)
- func (c *Client) GetLKEVersion(ctx context.Context, version string) (*LKEVersion, error)
- func (c *Client) GetLock(ctx context.Context, lockID int) (*Lock, error)
- func (c *Client) GetLogin(ctx context.Context, loginID int) (*Login, error)
- func (c *Client) GetLongviewClient(ctx context.Context, clientID int) (*LongviewClient, error)
- func (c *Client) GetLongviewPlan(ctx context.Context) (*LongviewPlan, error)
- func (c *Client) GetLongviewSubscription(ctx context.Context, templateID string) (*LongviewSubscription, error)
- func (c *Client) GetMonitorAlertDefinition(ctx context.Context, serviceType string, alertID int) (*AlertDefinition, error)
- func (c *Client) GetMonitorDashboard(ctx context.Context, dashboardID int) (*MonitorDashboard, error)
- func (c *Client) GetMonitorServiceByType(ctx context.Context, serviceType string) (*MonitorService, error)
- func (c *Client) GetMySQLDatabase(ctx context.Context, databaseID int) (*MySQLDatabase, error)
- func (c *Client) GetMySQLDatabaseConfig(ctx context.Context) (*MySQLDatabaseConfigInfo, error)
- func (c *Client) GetMySQLDatabaseCredentials(ctx context.Context, databaseID int) (*MySQLDatabaseCredential, error)
- func (c *Client) GetMySQLDatabaseSSL(ctx context.Context, databaseID int) (*MySQLDatabaseSSL, error)
- func (c *Client) GetNodeBalancer(ctx context.Context, nodebalancerID int) (*NodeBalancer, error)
- func (c *Client) GetNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int) (*NodeBalancerConfig, error)
- func (c *Client) GetNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int) (*NodeBalancerNode, error)
- func (c *Client) GetNodeBalancerStats(ctx context.Context, nodebalancerID int) (*NodeBalancerStats, error)
- func (c *Client) GetNodeBalancerVPCConfig(ctx context.Context, nodebalancerID int, vpcID int) (*NodeBalancerVPCConfig, error)
- func (c *Client) GetOAuthClient(ctx context.Context, clientID string) (*OAuthClient, error)
- func (c *Client) GetObjectStorageBucket(ctx context.Context, regionID, label string) (*ObjectStorageBucket, error)
- func (c *Client) GetObjectStorageBucketAccess(ctx context.Context, regionID, label string) (*ObjectStorageBucketAccess, error)
- func (c *Client) GetObjectStorageBucketCert(ctx context.Context, regionID, bucket string) (*ObjectStorageBucketCert, error)
- func (c *Client) GetObjectStorageGlobalQuota(ctx context.Context, quotaID string) (*ObjectStorageGlobalQuota, error)
- func (c *Client) GetObjectStorageGlobalQuotaUsage(ctx context.Context, quotaID string) (*ObjectStorageGlobalQuotaUsage, error)
- func (c *Client) GetObjectStorageKey(ctx context.Context, keyID int) (*ObjectStorageKey, error)
- func (c *Client) GetObjectStorageObjectACLConfig(ctx context.Context, regionID, label, object string) (*ObjectStorageObjectACLConfig, error)
- func (c *Client) GetObjectStorageQuota(ctx context.Context, quotaID string) (*ObjectStorageQuota, error)
- func (c *Client) GetObjectStorageQuotaUsage(ctx context.Context, quotaID string) (*ObjectStorageQuotaUsage, error)
- func (c *Client) GetObjectStorageTransfer(ctx context.Context) (*ObjectStorageTransfer, error)
- func (c *Client) GetPayment(ctx context.Context, paymentID int) (*Payment, error)
- func (c *Client) GetPaymentMethod(ctx context.Context, paymentMethodID int) (*PaymentMethod, error)
- func (c *Client) GetPlacementGroup(ctx context.Context, id int) (*PlacementGroup, error)
- func (c *Client) GetPollDelay() time.Duration
- func (c *Client) GetPostgresDatabase(ctx context.Context, databaseID int) (*PostgresDatabase, error)
- func (c *Client) GetPostgresDatabaseConfig(ctx context.Context) (*PostgresDatabaseConfigInfo, error)
- func (c *Client) GetPostgresDatabaseCredentials(ctx context.Context, databaseID int) (*PostgresDatabaseCredential, error)
- func (c *Client) GetPostgresDatabaseSSL(ctx context.Context, databaseID int) (*PostgresDatabaseSSL, error)
- func (c *Client) GetPrefixList(ctx context.Context, id int) (*PrefixList, error)
- func (c *Client) GetProfile(ctx context.Context) (*Profile, error)
- func (c *Client) GetProfileApp(ctx context.Context, appID int) (*ProfileApp, error)
- func (c *Client) GetProfileDevice(ctx context.Context, deviceID int) (*ProfileDevice, error)
- func (c *Client) GetProfileLogin(ctx context.Context, id int) (*ProfileLogin, error)
- func (c *Client) GetProfilePreferences(ctx context.Context) (*ProfilePreferences, error)
- func (c *Client) GetRegion(ctx context.Context, regionID string) (*Region, error)
- func (c *Client) GetRegionAvailability(ctx context.Context, regionID string) ([]RegionAvailability, error)
- func (c *Client) GetRegionVPCAvailability(ctx context.Context, regionID string) (*RegionVPCAvailability, error)
- func (c *Client) GetReservedIPAddress(ctx context.Context, ipAddress string) (*InstanceIP, error)
- func (c *Client) GetSSHKey(ctx context.Context, keyID int) (*SSHKey, error)
- func (c *Client) GetStackscript(ctx context.Context, scriptID int) (*Stackscript, error)
- func (c *Client) GetTicket(ctx context.Context, ticketID int) (*Ticket, error)
- func (c *Client) GetToken(ctx context.Context, tokenID int) (*Token, error)
- func (c *Client) GetType(ctx context.Context, typeID string) (*LinodeType, error)
- func (c *Client) GetUser(ctx context.Context, userID string) (*User, error)
- func (c *Client) GetUserAccountPermissions(ctx context.Context, username string) ([]string, error)
- func (c *Client) GetUserGrants(ctx context.Context, username string) (*UserGrants, error)
- func (c *Client) GetUserRolePermissions(ctx context.Context, username string) (*UserRolePermissions, error)
- func (c *Client) GetVLANIPAMAddress(ctx context.Context, linodeID int, vlanLabel string) (string, error)
- func (c *Client) GetVPC(ctx context.Context, vpcID int) (*VPC, error)
- func (c *Client) GetVPCSubnet(ctx context.Context, vpcID int, subnetID int) (*VPCSubnet, error)
- func (c *Client) GetVolume(ctx context.Context, volumeID int) (*Volume, error)
- func (c *Client) GrantsList(ctx context.Context) (*GrantsListResponse, error)
- func (c *Client) ImageShareGroupAddImages(ctx context.Context, imageShareGroupID int, ...) ([]ImageShareEntry, error)
- func (c *Client) ImageShareGroupAddMember(ctx context.Context, imageShareGroupID int, ...) (*ImageShareGroupMember, error)
- func (c *Client) ImageShareGroupCreateToken(ctx context.Context, opts ImageShareGroupCreateTokenOptions) (*ImageShareGroupCreateTokenResponse, error)
- func (c *Client) ImageShareGroupGetByToken(ctx context.Context, tokenUUID string) (*ConsumerImageShareGroup, error)
- func (c *Client) ImageShareGroupGetImageShareEntriesByToken(ctx context.Context, tokenUUID string, opts *ListOptions) ([]ImageShareEntry, error)
- func (c *Client) ImageShareGroupGetMember(ctx context.Context, imageShareGroupID int, tokenUUID string) (*ImageShareGroupMember, error)
- func (c *Client) ImageShareGroupGetToken(ctx context.Context, tokenUUID string) (*ImageShareGroupToken, error)
- func (c *Client) ImageShareGroupListImageShareEntries(ctx context.Context, imageShareGroupID int, opts *ListOptions) ([]ImageShareEntry, error)
- func (c *Client) ImageShareGroupListMembers(ctx context.Context, imageShareGroupID int, opts *ListOptions) ([]ImageShareGroupMember, error)
- func (c *Client) ImageShareGroupListTokens(ctx context.Context, opts *ListOptions) ([]ImageShareGroupToken, error)
- func (c *Client) ImageShareGroupRemoveImage(ctx context.Context, imageShareGroupID int, imageID string) error
- func (c *Client) ImageShareGroupRemoveMember(ctx context.Context, imageShareGroupID int, tokenUUID string) error
- func (c *Client) ImageShareGroupRemoveToken(ctx context.Context, tokenUUID string) error
- func (c *Client) ImageShareGroupUpdateImageShareEntry(ctx context.Context, imageShareGroupID int, imageID string, ...) (*ImageShareEntry, error)
- func (c *Client) ImageShareGroupUpdateMember(ctx context.Context, imageShareGroupID int, tokenUUID string, ...) (*ImageShareGroupMember, error)
- func (c *Client) ImageShareGroupUpdateToken(ctx context.Context, tokenUUID string, opts ImageShareGroupUpdateTokenOptions) (*ImageShareGroupToken, error)
- func (c *Client) ImportDomain(ctx context.Context, opts DomainImportOptions) (*Domain, error)
- func (c *Client) InstancesAssignIPs(ctx context.Context, opts LinodesAssignIPsOptions) error
- func (c *Client) InvalidateCache()
- func (c *Client) InvalidateCacheEndpoint(endpoint string) error
- func (c *Client) JoinBetaProgram(ctx context.Context, opts AccountBetaProgramCreateOpts) (*AccountBetaProgram, error)
- func (c *Client) ListAccountAvailabilities(ctx context.Context, opts *ListOptions) ([]AccountAvailability, error)
- func (c *Client) ListAccountBetaPrograms(ctx context.Context, opts *ListOptions) ([]AccountBetaProgram, error)
- func (c *Client) ListAccountServiceTransfer(ctx context.Context, opts *ListOptions) ([]AccountServiceTransfer, error)
- func (c *Client) ListAlertChannels(ctx context.Context, opts *ListOptions) ([]AlertChannel, error)
- func (c *Client) ListAllMonitorAlertDefinitions(ctx context.Context, opts *ListOptions) ([]AlertDefinition, error)
- func (c *Client) ListAllVPCIPAddresses(ctx context.Context, opts *ListOptions) ([]VPCIP, error)
- func (c *Client) ListAllVPCIPv6Addresses(ctx context.Context, opts *ListOptions) ([]VPCIP, error)
- func (c *Client) ListBetaPrograms(ctx context.Context, opts *ListOptions) ([]BetaProgram, error)
- func (c *Client) ListChildAccounts(ctx context.Context, opts *ListOptions) ([]ChildAccount, error)
- func (c *Client) ListDatabaseEngines(ctx context.Context, opts *ListOptions) ([]DatabaseEngine, error)
- func (c *Client) ListDatabaseTypes(ctx context.Context, opts *ListOptions) ([]DatabaseType, error)
- func (c *Client) ListDatabases(ctx context.Context, opts *ListOptions) ([]Database, error)
- func (c *Client) ListDomainRecords(ctx context.Context, domainID int, opts *ListOptions) ([]DomainRecord, error)
- func (c *Client) ListDomains(ctx context.Context, opts *ListOptions) ([]Domain, error)
- func (c *Client) ListEntities(ctx context.Context, opts *ListOptions) ([]LinodeEntity, error)
- func (c *Client) ListEvents(ctx context.Context, opts *ListOptions) ([]Event, error)
- func (c *Client) ListFirewallDevices(ctx context.Context, firewallID int, opts *ListOptions) ([]FirewallDevice, error)
- func (c *Client) ListFirewallRuleSets(ctx context.Context, opts *ListOptions) ([]FirewallRuleSet, error)
- func (c *Client) ListFirewallTemplates(ctx context.Context, opts *ListOptions) ([]FirewallTemplate, error)
- func (c *Client) ListFirewalls(ctx context.Context, opts *ListOptions) ([]Firewall, error)
- func (c *Client) ListIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error)
- func (c *Client) ListIPv6Pools(ctx context.Context, opts *ListOptions) ([]IPv6Range, error)
- func (c *Client) ListIPv6Ranges(ctx context.Context, opts *ListOptions) ([]IPv6Range, error)
- func (c *Client) ListImageShareGroups(ctx context.Context, opts *ListOptions) ([]ProducerImageShareGroup, error)
- func (c *Client) ListImageShareGroupsContainingPrivateImage(ctx context.Context, privateImageID string, opts *ListOptions) ([]ProducerImageShareGroup, error)
- func (c *Client) ListImages(ctx context.Context, opts *ListOptions) ([]Image, error)
- func (c *Client) ListInstanceConfigInterfaces(ctx context.Context, linodeID int, configID int) ([]InstanceConfigInterface, error)
- func (c *Client) ListInstanceConfigs(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceConfig, error)
- func (c *Client) ListInstanceDisks(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceDisk, error)
- func (c *Client) ListInstanceFirewalls(ctx context.Context, linodeID int, opts *ListOptions) ([]Firewall, error)
- func (c *Client) ListInstanceNodeBalancers(ctx context.Context, linodeID int, opts *ListOptions) ([]NodeBalancer, error)
- func (c *Client) ListInstanceVolumes(ctx context.Context, linodeID int, opts *ListOptions) ([]Volume, error)
- func (c *Client) ListInstances(ctx context.Context, opts *ListOptions) ([]Instance, error)
- func (c *Client) ListInterfaceFirewalls(ctx context.Context, linodeID int, interfaceID int, opts *ListOptions) ([]Firewall, error)
- func (c *Client) ListInterfaces(ctx context.Context, linodeID int, opts *ListOptions) ([]LinodeInterface, error)
- func (c *Client) ListInvoiceItems(ctx context.Context, invoiceID int, opts *ListOptions) ([]InvoiceItem, error)
- func (c *Client) ListInvoices(ctx context.Context, opts *ListOptions) ([]Invoice, error)
- func (c *Client) ListKernels(ctx context.Context, opts *ListOptions) ([]LinodeKernel, error)
- func (c *Client) ListLKEClusterAPIEndpoints(ctx context.Context, clusterID int, opts *ListOptions) ([]LKEClusterAPIEndpoint, error)
- func (c *Client) ListLKEClusters(ctx context.Context, opts *ListOptions) ([]LKECluster, error)
- func (c *Client) ListLKENodePools(ctx context.Context, clusterID int, opts *ListOptions) ([]LKENodePool, error)
- func (c *Client) ListLKETierVersions(ctx context.Context, tier string, opts *ListOptions) ([]LKETierVersion, error)
- func (c *Client) ListLKETypes(ctx context.Context, opts *ListOptions) ([]LKEType, error)
- func (c *Client) ListLKEVersions(ctx context.Context, opts *ListOptions) ([]LKEVersion, error)
- func (c *Client) ListLocks(ctx context.Context, opts *ListOptions) ([]Lock, error)
- func (c *Client) ListLogins(ctx context.Context, opts *ListOptions) ([]Login, error)
- func (c *Client) ListLongviewClients(ctx context.Context, opts *ListOptions) ([]LongviewClient, error)
- func (c *Client) ListLongviewSubscriptions(ctx context.Context, opts *ListOptions) ([]LongviewSubscription, error)
- func (c *Client) ListMaintenancePolicies(ctx context.Context, opts *ListOptions) ([]MaintenancePolicy, error)
- func (c *Client) ListMaintenances(ctx context.Context, opts *ListOptions) ([]AccountMaintenance, error)
- func (c *Client) ListMonitorAlertDefinitionEntities(ctx context.Context, serviceType string, alertID int, opts *ListOptions) ([]AlertDefinitionEntity, error)
- func (c *Client) ListMonitorAlertDefinitions(ctx context.Context, serviceType string, opts *ListOptions) ([]AlertDefinition, error)
- func (c *Client) ListMonitorDashboards(ctx context.Context, opts *ListOptions) ([]MonitorDashboard, error)
- func (c *Client) ListMonitorDashboardsByServiceType(ctx context.Context, serviceType string, opts *ListOptions) ([]MonitorDashboard, error)
- func (c *Client) ListMonitorMetricsDefinitionByServiceType(ctx context.Context, serviceType string, opts *ListOptions) ([]MonitorMetricsDefinition, error)
- func (c *Client) ListMonitorServices(ctx context.Context, opts *ListOptions) ([]MonitorService, error)
- func (c *Client) ListMySQLDatabases(ctx context.Context, opts *ListOptions) ([]MySQLDatabase, error)
- func (c *Client) ListNetworkTransferPrices(ctx context.Context, opts *ListOptions) ([]NetworkTransferPrice, error)
- func (c *Client) ListNodeBalancerConfigs(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]NodeBalancerConfig, error)
- func (c *Client) ListNodeBalancerFirewalls(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]Firewall, error)
- func (c *Client) ListNodeBalancerNodes(ctx context.Context, nodebalancerID int, configID int, opts *ListOptions) ([]NodeBalancerNode, error)
- func (c *Client) ListNodeBalancerTypes(ctx context.Context, opts *ListOptions) ([]NodeBalancerType, error)
- func (c *Client) ListNodeBalancerVPCConfigs(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]NodeBalancerVPCConfig, error)
- func (c *Client) ListNodeBalancers(ctx context.Context, opts *ListOptions) ([]NodeBalancer, error)
- func (c *Client) ListNotifications(ctx context.Context, opts *ListOptions) ([]Notification, error)
- func (c *Client) ListOAuthClients(ctx context.Context, opts *ListOptions) ([]OAuthClient, error)
- func (c *Client) ListObjectStorageBucketContents(ctx context.Context, regionID, label string, ...) (*ObjectStorageBucketContent, error)
- func (c *Client) ListObjectStorageBuckets(ctx context.Context, opts *ListOptions) ([]ObjectStorageBucket, error)
- func (c *Client) ListObjectStorageBucketsInRegion(ctx context.Context, opts *ListOptions, regionID string) ([]ObjectStorageBucket, error)
- func (c *Client) ListObjectStorageEndpoints(ctx context.Context, opts *ListOptions) ([]ObjectStorageEndpoint, error)
- func (c *Client) ListObjectStorageGlobalQuotas(ctx context.Context, opts *ListOptions) ([]ObjectStorageGlobalQuota, error)
- func (c *Client) ListObjectStorageKeys(ctx context.Context, opts *ListOptions) ([]ObjectStorageKey, error)
- func (c *Client) ListObjectStorageQuotas(ctx context.Context, opts *ListOptions) ([]ObjectStorageQuota, error)
- func (c *Client) ListPaymentMethods(ctx context.Context, opts *ListOptions) ([]PaymentMethod, error)
- func (c *Client) ListPayments(ctx context.Context, opts *ListOptions) ([]Payment, error)
- func (c *Client) ListPlacementGroups(ctx context.Context, options *ListOptions) ([]PlacementGroup, error)
- func (c *Client) ListPostgresDatabases(ctx context.Context, opts *ListOptions) ([]PostgresDatabase, error)
- func (c *Client) ListPrefixLists(ctx context.Context, opts *ListOptions) ([]PrefixList, error)
- func (c *Client) ListProfileApps(ctx context.Context, opts *ListOptions) ([]ProfileApp, error)
- func (c *Client) ListProfileDevices(ctx context.Context, opts *ListOptions) ([]ProfileDevice, error)
- func (c *Client) ListProfileLogins(ctx context.Context, opts *ListOptions) ([]ProfileLogin, error)
- func (c *Client) ListRegions(ctx context.Context, opts *ListOptions) ([]Region, error)
- func (c *Client) ListRegionsAvailability(ctx context.Context, opts *ListOptions) ([]RegionAvailability, error)
- func (c *Client) ListRegionsVPCAvailability(ctx context.Context, opts *ListOptions) ([]RegionVPCAvailability, error)
- func (c *Client) ListReservedIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error)
- func (c *Client) ListSSHKeys(ctx context.Context, opts *ListOptions) ([]SSHKey, error)
- func (c *Client) ListStackscripts(ctx context.Context, opts *ListOptions) ([]Stackscript, error)
- func (c *Client) ListTaggedObjects(ctx context.Context, label string, opts *ListOptions) (TaggedObjectList, error)
- func (c *Client) ListTags(ctx context.Context, opts *ListOptions) ([]Tag, error)
- func (c *Client) ListTickets(ctx context.Context, opts *ListOptions) ([]Ticket, error)
- func (c *Client) ListTokens(ctx context.Context, opts *ListOptions) ([]Token, error)
- func (c *Client) ListTypes(ctx context.Context, opts *ListOptions) ([]LinodeType, error)
- func (c *Client) ListUsers(ctx context.Context, opts *ListOptions) ([]User, error)
- func (c *Client) ListVLANs(ctx context.Context, opts *ListOptions) ([]VLAN, error)
- func (c *Client) ListVPCIPAddresses(ctx context.Context, vpcID int, opts *ListOptions) ([]VPCIP, error)
- func (c *Client) ListVPCIPv6Addresses(ctx context.Context, vpcID int, opts *ListOptions) ([]VPCIP, error)
- func (c *Client) ListVPCSubnets(ctx context.Context, vpcID int, opts *ListOptions) ([]VPCSubnet, error)
- func (c *Client) ListVPCs(ctx context.Context, opts *ListOptions) ([]VPC, error)
- func (c *Client) ListVolumeTypes(ctx context.Context, opts *ListOptions) ([]VolumeType, error)
- func (c *Client) ListVolumes(ctx context.Context, opts *ListOptions) ([]Volume, error)
- func (c *Client) LoadConfig(options *LoadConfigOptions) error
- func (c *Client) MarkEventsSeen(ctx context.Context, event *Event) error
- func (c *Client) MigrateInstance(ctx context.Context, linodeID int, opts InstanceMigrateOptions) error
- func (c *Client) ModifyObjectStorageBucketAccess(ctx context.Context, regionID, label string, ...) error
- func (client Client) NewEventPoller(ctx context.Context, id any, entityType EntityType, action EventAction) (*EventPoller, error)
- func (client Client) NewEventPollerWithSecondary(ctx context.Context, id any, primaryEntityType EntityType, secondaryID int, ...) (*EventPoller, error)
- func (client Client) NewEventPollerWithoutEntity(entityType EntityType, action EventAction) (*EventPoller, error)
- func (c *Client) OnAfterResponse(m func(*http.Response) error)
- func (c *Client) OnBeforeRequest(m func(*http.Request) error)
- func (c *Client) PasswordResetInstanceDisk(ctx context.Context, linodeID int, diskID int, ...) error
- func (c *Client) PatchMySQLDatabase(ctx context.Context, databaseID int) error
- func (c *Client) PatchPostgresDatabase(ctx context.Context, databaseID int) error
- func (c *Client) RebootInstance(ctx context.Context, linodeID int, opts InstanceRebootOptions) error
- func (c *Client) RebuildInstance(ctx context.Context, linodeID int, opts InstanceRebuildOptions) (*Instance, error)
- func (c *Client) RebuildNodeBalancerConfig(ctx context.Context, nodeBalancerID int, configID int, ...) (*NodeBalancerConfig, error)
- func (c *Client) RecycleLKEClusterNodes(ctx context.Context, clusterID int) error
- func (c *Client) RecycleLKENodePool(ctx context.Context, clusterID, poolID int) error
- func (c *Client) RecycleLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) error
- func (c *Client) RegenerateLKECluster(ctx context.Context, clusterID int, opts LKEClusterRegenerateOptions) (*LKECluster, error)
- func (c *Client) RenameInstance(ctx context.Context, linodeID int, label string) (*Instance, error)
- func (c *Client) RenameInstanceConfig(ctx context.Context, linodeID int, configID int, label string) (*InstanceConfig, error)
- func (c *Client) RenameInstanceDisk(ctx context.Context, linodeID int, diskID int, label string) (*InstanceDisk, error)
- func (c *Client) ReorderInstanceConfigInterfaces(ctx context.Context, linodeID int, configID int, ...) error
- func (c *Client) ReplicateImage(ctx context.Context, imageID string, opts ImageReplicateOptions) (*Image, error)
- func (c *Client) RequestAccountServiceTransfer(ctx context.Context, opts AccountServiceTransferRequestOptions) (*AccountServiceTransfer, error)
- func (c *Client) RescueInstance(ctx context.Context, linodeID int, opts InstanceRescueOptions) error
- func (c *Client) ReserveIPAddress(ctx context.Context, opts ReserveIPOptions) (*InstanceIP, error)
- func (c *Client) ResetInstancePassword(ctx context.Context, linodeID int, opts InstancePasswordResetOptions) error
- func (c *Client) ResetMySQLDatabaseCredentials(ctx context.Context, databaseID int) error
- func (c *Client) ResetOAuthClientSecret(ctx context.Context, clientID string) (*OAuthClient, error)
- func (c *Client) ResetPostgresDatabaseCredentials(ctx context.Context, databaseID int) error
- func (c *Client) ResizeInstance(ctx context.Context, linodeID int, opts InstanceResizeOptions) error
- func (c *Client) ResizeInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskResizeOptions) error
- func (c *Client) ResizeVolume(ctx context.Context, volumeID int, opts VolumeResizeOptions) error
- func (c *Client) RestoreInstanceBackup(ctx context.Context, linodeID int, backupID int, opts RestoreInstanceOptions) error
- func (c *Client) ResumeMySQLDatabase(ctx context.Context, databaseID int) error
- func (c *Client) ResumePostgresDatabase(ctx context.Context, databaseID int) error
- func (c *Client) SecurityQuestionsAnswer(ctx context.Context, opts SecurityQuestionsAnswerOptions) error
- func (c *Client) SecurityQuestionsList(ctx context.Context) (*SecurityQuestionsListResponse, error)
- func (c *Client) SendPhoneNumberVerificationCode(ctx context.Context, opts SendPhoneNumberVerificationCodeOptions) error
- func (c *Client) SetAPIVersion(apiVersion string) *Client
- func (c *Client) SetBaseURL(baseURL string) *Client
- func (c *Client) SetDebug(debug bool) *Client
- func (c *Client) SetDefaultPaymentMethod(ctx context.Context, paymentMethodID int) error
- func (c *Client) SetGlobalCacheExpiration(expiryTime time.Duration)
- func (c *Client) SetHeader(name, value string)
- func (c *Client) SetLogger(logger Logger) *Client
- func (c *Client) SetPollDelay(delay time.Duration) *Client
- func (c *Client) SetRetries() *Client
- func (c *Client) SetRetryAfter(callback RetryAfter) *Client
- func (c *Client) SetRetryCount(count int) *Client
- func (c *Client) SetRetryMaxWaitTime(maxWaitTime time.Duration) *Client
- func (c *Client) SetRetryWaitTime(minWaitTime time.Duration) *Client
- func (c *Client) SetRootCertificate(certPath string) error
- func (c *Client) SetToken(token string) *Client
- func (c *Client) SetUserAgent(ua string) *Client
- func (c *Client) ShareIPAddresses(ctx context.Context, opts IPAddressesShareOptions) error
- func (c *Client) ShutdownInstance(ctx context.Context, id int) error
- func (c *Client) SuspendMySQLDatabase(ctx context.Context, databaseID int) error
- func (c *Client) SuspendPostgresDatabase(ctx context.Context, databaseID int) error
- func (c *Client) Transport() (*http.Transport, error)
- func (c *Client) UnassignPlacementGroupLinodes(ctx context.Context, id int, options PlacementGroupUnAssignOptions) (*PlacementGroup, error)
- func (c *Client) UpdateAccount(ctx context.Context, opts AccountUpdateOptions) (*Account, error)
- func (c *Client) UpdateAccountSettings(ctx context.Context, opts AccountSettingsUpdateOptions) (*AccountSettings, error)
- func (c *Client) UpdateDomain(ctx context.Context, domainID int, opts DomainUpdateOptions) (*Domain, error)
- func (c *Client) UpdateDomainRecord(ctx context.Context, domainID int, recordID int, ...) (*DomainRecord, error)
- func (c *Client) UpdateFirewall(ctx context.Context, firewallID int, opts FirewallUpdateOptions) (*Firewall, error)
- func (c *Client) UpdateFirewallRuleSet(ctx context.Context, rulesetID int, opts FirewallRuleSetUpdateOptions) (*FirewallRuleSet, error)
- func (c *Client) UpdateFirewallRules(ctx context.Context, firewallID int, rules FirewallRulesUpdateOptions) (*FirewallRules, error)
- func (c *Client) UpdateFirewallSettings(ctx context.Context, opts FirewallSettingsUpdateOptions) (*FirewallSettings, error)
- func (c *Client) UpdateIPAddress(ctx context.Context, address string, opts IPAddressUpdateOptions) (*InstanceIP, error)
- func (c *Client) UpdateImage(ctx context.Context, imageID string, opts ImageUpdateOptions) (*Image, error)
- func (c *Client) UpdateImageShareGroup(ctx context.Context, imageShareGroupID int, opts ImageShareGroupUpdateOptions) (*ProducerImageShareGroup, error)
- func (c *Client) UpdateInstance(ctx context.Context, linodeID int, opts InstanceUpdateOptions) (*Instance, error)
- func (c *Client) UpdateInstanceConfig(ctx context.Context, linodeID int, configID int, ...) (*InstanceConfig, error)
- func (c *Client) UpdateInstanceConfigInterface(ctx context.Context, linodeID int, configID int, interfaceID int, ...) (*InstanceConfigInterface, error)
- func (c *Client) UpdateInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskUpdateOptions) (*InstanceDisk, error)
- func (c *Client) UpdateInstanceFirewalls(ctx context.Context, linodeID int, opts InstanceFirewallUpdateOptions) ([]Firewall, error)
- func (c *Client) UpdateInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string, ...) (*InstanceIP, error)
- func (c *Client) UpdateInterface(ctx context.Context, linodeID int, interfaceID int, ...) (*LinodeInterface, error)
- func (c *Client) UpdateInterfaceSettings(ctx context.Context, linodeID int, opts InterfaceSettingsUpdateOptions) (*InterfaceSettings, error)
- func (c *Client) UpdateLKECluster(ctx context.Context, clusterID int, opts LKEClusterUpdateOptions) (*LKECluster, error)
- func (c *Client) UpdateLKEClusterControlPlaneACL(ctx context.Context, clusterID int, ...) (*LKEClusterControlPlaneACLResponse, error)
- func (c *Client) UpdateLKENodePool(ctx context.Context, clusterID, poolID int, opts LKENodePoolUpdateOptions) (*LKENodePool, error)
- func (c *Client) UpdateLongviewClient(ctx context.Context, clientID int, opts LongviewClientUpdateOptions) (*LongviewClient, error)
- func (c *Client) UpdateLongviewPlan(ctx context.Context, opts LongviewPlanUpdateOptions) (*LongviewPlan, error)
- func (c *Client) UpdateMonitorAlertDefinition(ctx context.Context, serviceType string, alertID int, ...) (*AlertDefinition, error)
- func (c *Client) UpdateMySQLDatabase(ctx context.Context, databaseID int, opts MySQLUpdateOptions) (*MySQLDatabase, error)
- func (c *Client) UpdateNodeBalancer(ctx context.Context, nodebalancerID int, opts NodeBalancerUpdateOptions) (*NodeBalancer, error)
- func (c *Client) UpdateNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int, ...) (*NodeBalancerConfig, error)
- func (c *Client) UpdateNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int, ...) (*NodeBalancerNode, error)
- func (c *Client) UpdateOAuthClient(ctx context.Context, clientID string, opts OAuthClientUpdateOptions) (*OAuthClient, error)
- func (c *Client) UpdateObjectStorageBucketAccess(ctx context.Context, regionID, label string, ...) error
- func (c *Client) UpdateObjectStorageKey(ctx context.Context, keyID int, opts ObjectStorageKeyUpdateOptions) (*ObjectStorageKey, error)
- func (c *Client) UpdateObjectStorageObjectACLConfig(ctx context.Context, regionID, label string, ...) (*ObjectStorageObjectACLConfig, error)
- func (c *Client) UpdatePlacementGroup(ctx context.Context, id int, options PlacementGroupUpdateOptions) (*PlacementGroup, error)
- func (c *Client) UpdatePostgresDatabase(ctx context.Context, databaseID int, opts PostgresUpdateOptions) (*PostgresDatabase, error)
- func (c *Client) UpdateProfile(ctx context.Context, opts ProfileUpdateOptions) (*Profile, error)
- func (c *Client) UpdateProfilePreferences(ctx context.Context, opts ProfilePreferences) (*ProfilePreferences, error)
- func (c *Client) UpdateSSHKey(ctx context.Context, keyID int, opts SSHKeyUpdateOptions) (*SSHKey, error)
- func (c *Client) UpdateStackscript(ctx context.Context, scriptID int, opts StackscriptUpdateOptions) (*Stackscript, error)
- func (c *Client) UpdateToken(ctx context.Context, tokenID int, opts TokenUpdateOptions) (*Token, error)
- func (c *Client) UpdateUser(ctx context.Context, userID string, opts UserUpdateOptions) (*User, error)
- func (c *Client) UpdateUserGrants(ctx context.Context, username string, opts UserGrantsUpdateOptions) (*UserGrants, error)
- func (c *Client) UpdateUserRolePermissions(ctx context.Context, username string, opts UserRolePermissionsUpdateOptions) (*UserRolePermissions, error)
- func (c *Client) UpdateVPC(ctx context.Context, vpcID int, opts VPCUpdateOptions) (*VPC, error)
- func (c *Client) UpdateVPCSubnet(ctx context.Context, vpcID int, subnetID int, opts VPCSubnetUpdateOptions) (*VPCSubnet, error)
- func (c *Client) UpdateVolume(ctx context.Context, volumeID int, opts VolumeUpdateOptions) (*Volume, error)
- func (c *Client) UpgradeInstance(ctx context.Context, linodeID int, opts InstanceUpgradeOptions) error
- func (c *Client) UpgradeInterfaces(ctx context.Context, linodeID int, opts LinodeInterfacesUpgradeOptions) (*LinodeInterfacesUpgrade, error)
- func (c *Client) UploadImage(ctx context.Context, opts ImageUploadOptions) (*Image, error)
- func (c *Client) UploadImageToURL(ctx context.Context, uploadURL string, image io.Reader) error
- func (c *Client) UploadObjectStorageBucketCert(ctx context.Context, regionID, bucket string, ...) (*ObjectStorageBucketCert, error)
- func (c *Client) UseCache(value bool)
- func (c *Client) UseProfile(name string) error
- func (c *Client) UseURL(apiURL string) (*Client, error)
- func (c *Client) VerifyPhoneNumber(ctx context.Context, opts VerifyPhoneNumberOptions) error
- func (client Client) WaitForAlertDefinitionStatus(ctx context.Context, status AlertDefinitionStatus, serviceType string, ...) (*AlertDefinition, error)
- func (client Client) WaitForDatabaseStatus(ctx context.Context, dbID int, dbEngine DatabaseEngineType, ...) error
- func (client Client) WaitForEventFinished(ctx context.Context, id any, entityType EntityType, action EventAction, ...) (*Event, error)
- func (client Client) WaitForImageRegionStatus(ctx context.Context, imageID, region string, status ImageRegionStatus) (*Image, error)
- func (client Client) WaitForImageStatus(ctx context.Context, imageID string, status ImageStatus) (*Image, error)
- func (client Client) WaitForInstanceDiskStatus(ctx context.Context, instanceID int, diskID int, status DiskStatus) (*InstanceDisk, error)
- func (client Client) WaitForInstanceStatus(ctx context.Context, instanceID int, status InstanceStatus) (*Instance, error)
- func (client Client) WaitForLKEClusterConditions(ctx context.Context, clusterID int, options LKEClusterPollOptions, ...) error
- func (client Client) WaitForLKEClusterStatus(ctx context.Context, clusterID int, status LKEClusterStatus) (*LKECluster, error)
- func (client Client) WaitForResourceFree(ctx context.Context, entityType EntityType, entityID any) error
- func (client Client) WaitForSnapshotStatus(ctx context.Context, instanceID int, snapshotID int, ...) (*InstanceSnapshot, error)
- func (client Client) WaitForVolumeIOReadyStatus(ctx context.Context, volumeID int, status bool) (*Volume, error)
- func (client Client) WaitForVolumeLinodeID(ctx context.Context, volumeID int, linodeID *int) (*Volume, error)
- func (client Client) WaitForVolumeStatus(ctx context.Context, volumeID int, status VolumeStatus) (*Volume, error)
- type ClusterConditionFunc
- type ClusterConditionOptions
- type ClusterPrice
- type Comp
- type ConfigAlgorithm
- type ConfigCheck
- type ConfigCipher
- type ConfigInterfacePurpose
- type ConfigProfile
- type ConfigProtocol
- type ConfigProxyProtocol
- type ConfigStickiness
- type ConfirmTwoFactorOptions
- type ConfirmTwoFactorResponse
- type ConnectTimeout
- type ConsumerImageShareGroup
- type CreditCard
- type CriteriaCondition
- type DashboardFilter
- type DashboardType
- type DashboardWidget
- type Database
- type DatabaseDayOfWeek
- type DatabaseEngine
- type DatabaseEngineType
- type DatabaseFork
- type DatabaseHost
- type DatabaseMaintenanceFrequency
- type DatabaseMaintenanceWindow
- type DatabaseMaintenanceWindowPending
- type DatabaseMemberType
- type DatabasePlatform
- type DatabasePrivateNetwork
- type DatabaseStatus
- type DatabaseType
- type DatabaseTypeEngine
- type DatabaseTypeEngineMap
- type DeadlockTimeout
- type DefaultFirewallIDs
- type DefaultFirewallIDsOptions
- type DefaultTimeZone
- type DefaultToastCompression
- type DevicesCreationOptions
- type DimensionFilter
- type DimensionFilterOptions
- type DiskFilesystem
- type DiskStatus
- type Domain
- type DomainCloneOptions
- type DomainCreateOptions
- type DomainImportOptions
- type DomainRecord
- type DomainRecordCreateOptions
- type DomainRecordType
- type DomainRecordUpdateOptions
- type DomainStatus
- type DomainType
- type DomainUpdateOptions
- type DomainZoneFile
- type EmailChannelDetails
- type Entity
- type EntityMetric
- type EntityMetrics
- type EntityMetricsData
- type EntityMetricsDataResult
- type EntityMetricsFetchOptions
- type EntityMetricsStats
- type EntityType
- type EntityUserGrant
- type EnvDefaults
- type Error
- type Event
- type EventAction
- type EventEntity
- type EventPoller
- type EventStatus
- type Filter
- type FilterNode
- type FilterOperator
- type Firewall
- type FirewallCreateOptions
- type FirewallDevice
- type FirewallDeviceCreateOptions
- type FirewallDeviceEntity
- type FirewallDeviceType
- type FirewallRuleInbound
- type FirewallRuleOutbound
- type FirewallRuleSet
- type FirewallRuleSetCreateOptions
- type FirewallRuleSetRule
- type FirewallRuleSetRuleCreateOptions
- type FirewallRuleSetRuleUpdateOptions
- type FirewallRuleSetType
- type FirewallRuleSetUpdateOptions
- type FirewallRules
- type FirewallRulesCreateOptions
- type FirewallRulesUpdateOptions
- type FirewallSettings
- type FirewallSettingsUpdateOptions
- type FirewallStatus
- type FirewallTemplate
- type FirewallUpdateOptions
- type GlobalUserGrants
- type GrantPermissionLevel
- type GrantedEntity
- type GrantsListResponse
- type GroupConcatMaxLen
- type IPAddressUpdateOptions
- type IPAddressesShareOptions
- type IPv6Range
- type IPv6RangeCreateOptions
- type IdleInTransactionSessionTimeout
- type Image
- type ImageCreateOptions
- type ImageCreateUploadOptions
- type ImageCreateUploadResponse
- type ImageRegion
- type ImageRegionStatus
- type ImageReplicateOptions
- type ImageShareEntry
- type ImageShareGroupAddImagesOptions
- type ImageShareGroupAddMemberOptions
- type ImageShareGroupCreateOptions
- type ImageShareGroupCreateTokenOptions
- type ImageShareGroupCreateTokenResponse
- type ImageShareGroupImage
- type ImageShareGroupMember
- type ImageShareGroupToken
- type ImageShareGroupUpdateImageOptions
- type ImageShareGroupUpdateMemberOptions
- type ImageShareGroupUpdateOptions
- type ImageShareGroupUpdateTokenOptions
- type ImageSharing
- type ImageSharingSharedBy
- type ImageSharingSharedWith
- type ImageStatus
- type ImageUpdateOptions
- type ImageUploadOptions
- type InformationSchemaStatsExpiry
- type InnoDBChangeBufferMaxSize
- type InnoDBFTMinTokenSize
- type InnoDBFTServerStopwordTable
- type InnoDBFlushNeighbors
- type InnoDBLockWaitTimeout
- type InnoDBLogBufferSize
- type InnoDBOnlineAlterLogMaxSize
- type InnoDBReadIOThreads
- type InnoDBRollbackOnTimeout
- type InnoDBThreadConcurrency
- type InnoDBWriteIOThreads
- type Instance
- type InstanceAlert
- type InstanceBackup
- type InstanceBackupSnapshotResponse
- type InstanceBackupsResponse
- type InstanceBootOptions
- type InstanceCloneOptions
- type InstanceConfig
- type InstanceConfigCreateOptions
- type InstanceConfigDevice
- type InstanceConfigDeviceMap
- type InstanceConfigHelpers
- type InstanceConfigInterface
- type InstanceConfigInterfaceCreateOptions
- type InstanceConfigInterfaceCreateOptionsIPv6
- type InstanceConfigInterfaceCreateOptionsIPv6Range
- type InstanceConfigInterfaceCreateOptionsIPv6SLAAC
- type InstanceConfigInterfaceIPv6
- type InstanceConfigInterfaceIPv6Range
- type InstanceConfigInterfaceIPv6SLAAC
- type InstanceConfigInterfaceUpdateOptions
- type InstanceConfigInterfaceUpdateOptionsIPv6
- type InstanceConfigInterfaceUpdateOptionsIPv6Range
- type InstanceConfigInterfaceUpdateOptionsIPv6SLAAC
- type InstanceConfigInterfacesReorderOptions
- type InstanceConfigUpdateOptions
- type InstanceCreateOptions
- type InstanceCreatePlacementGroupOptions
- type InstanceDisk
- type InstanceDiskCreateOptions
- type InstanceDiskEncryption
- type InstanceDiskPasswordResetOptions
- type InstanceDiskResizeOptions
- type InstanceDiskUpdateOptions
- type InstanceFirewallUpdateOptions
- type InstanceIP
- type InstanceIPAddOptions
- type InstanceIPAddressResponse
- type InstanceIPAddressUpdateOptions
- type InstanceIPNAT1To1
- type InstanceIPType
- type InstanceIPv4Response
- type InstanceIPv6Response
- type InstanceMetadataOptions
- type InstanceMigrateOptions
- type InstanceMigrationType
- type InstancePasswordResetOptions
- type InstancePlacementGroup
- type InstanceRebootOptions
- type InstanceRebuildOptions
- type InstanceRescueOptions
- type InstanceReserveIPOptions
- type InstanceResizeOptions
- type InstanceSnapshot
- type InstanceSnapshotCreateOptions
- type InstanceSnapshotDisk
- type InstanceSnapshotStatus
- type InstanceSpec
- type InstanceStats
- type InstanceStatsData
- type InstanceStatus
- type InstanceTransfer
- type InstanceUpdateOptions
- type InstanceUpgradeOptions
- type InteractiveTimeout
- type InterfaceDefaultRoute
- type InterfaceDefaultRouteCreateOptions
- type InterfaceDefaultRouteSetting
- type InterfaceDefaultRouteSettingUpdateOptions
- type InterfaceDefaultRouteUpdateOptions
- type InterfaceGeneration
- type InterfaceSettings
- type InterfaceSettingsUpdateOptions
- type InterfacesForNewLinodes
- type InternalTmpMemStorageEngine
- type Invoice
- type InvoiceItem
- type InvoiceTaxSummary
- type JIT
- type LKECluster
- type LKEClusterAPIEndpoint
- type LKEClusterControlPlane
- type LKEClusterControlPlaneACL
- type LKEClusterControlPlaneACLAddresses
- type LKEClusterControlPlaneACLAddressesOptions
- type LKEClusterControlPlaneACLOptions
- type LKEClusterControlPlaneACLResponse
- type LKEClusterControlPlaneACLUpdateOptions
- type LKEClusterControlPlaneOptions
- type LKEClusterCreateOptions
- type LKEClusterKubeconfig
- type LKEClusterPollOptions
- type LKEClusterRegenerateOptions
- type LKEClusterStackType
- type LKEClusterStatus
- type LKEClusterUpdateOptions
- type LKELinodeStatus
- type LKENodePool
- type LKENodePoolAutoscaler
- type LKENodePoolCreateOptions
- type LKENodePoolDisk
- type LKENodePoolLabels
- type LKENodePoolLinode
- type LKENodePoolTaint
- type LKENodePoolTaintEffect
- type LKENodePoolUpdateOptions
- type LKENodePoolUpdateStrategy
- type LKETierVersion
- type LKEType
- type LKETypePrice
- type LKETypeRegionPrice
- type LKEVersion
- type LKEVersionTier
- type LastLogin
- type LinodeAddons
- type LinodeBackupsAddon
- type LinodeEntity
- type LinodeIPAssignment
- type LinodeInterface
- type LinodeInterfaceCreateOptions
- type LinodeInterfaceUpdateOptions
- type LinodeInterfacesUpgrade
- type LinodeInterfacesUpgradeOptions
- type LinodeKernel
- type LinodePrice
- type LinodeRegionPrice
- type LinodeType
- type LinodeTypeClass
- type LinodesAssignIPsOptions
- type LishAuthMethod
- type ListIPAddressesQuery
- type ListOptions
- type LoadConfigOptions
- type Lock
- type LockCreateOptions
- type LockType
- type LockedEntity
- type Logger
- type Login
- type LongviewClient
- type LongviewClientCreateOptions
- type LongviewClientUpdateOptions
- type LongviewPlan
- type LongviewPlanUpdateOptions
- type LongviewSubscription
- type MaintenancePolicy
- type MaxAllowedPacket
- type MaxFilesPerProcess
- type MaxHeapTableSize
- type MaxLocksPerTransaction
- type MaxLogicalReplicationWorkers
- type MaxParallelWorkers
- type MaxParallelWorkersPerGather
- type MaxPredLocksPerTransaction
- type MaxReplicationSlots
- type MaxSlotWALKeepSize
- type MaxStackDepth
- type MaxStandbyArchiveDelay
- type MaxStandbyStreamingDelay
- type MaxWALSenders
- type MaxWorkerProcesses
- type MetricAbsoluteTimeDuration
- type MetricFilter
- type MetricFilterOperator
- type MetricRelativeTimeDuration
- type MetricTimeGranularity
- type MetricTimeUnit
- type MetricType
- type MetricUnit
- type MonitorClient
- func (mc *MonitorClient) FetchEntityMetrics(ctx context.Context, serviceType string, opts *EntityMetricsFetchOptions) (*EntityMetrics, error)
- func (mc *MonitorClient) SetAPIVersion(apiVersion string) *MonitorClient
- func (mc *MonitorClient) SetBaseURL(baseURL string) *MonitorClient
- func (mc *MonitorClient) SetDebug(debug bool) *MonitorClient
- func (mc *MonitorClient) SetHeader(name, value string)
- func (mc *MonitorClient) SetLogger(logger Logger) *MonitorClient
- func (mc *MonitorClient) SetRootCertificate(certPath string) error
- func (mc *MonitorClient) SetToken(token string) *MonitorClient
- func (mc *MonitorClient) SetUserAgent(ua string) *MonitorClient
- type MonitorDashboard
- type MonitorDimension
- type MonitorMetricsDefinition
- type MonitorService
- type MonitorServiceAlert
- type MonitorServiceToken
- type MonitorTokenCreateOptions
- type MonthlyInstanceTransferStats
- type MySQLCreateOptions
- type MySQLDatabase
- type MySQLDatabaseConfigInfo
- type MySQLDatabaseConfigInfoBinlogRetentionPeriod
- type MySQLDatabaseConfigInfoMySQL
- type MySQLDatabaseCredential
- type MySQLDatabaseEngineConfig
- type MySQLDatabaseEngineConfigMySQL
- type MySQLDatabaseMaintenanceWindow
- type MySQLDatabaseSSL
- type MySQLDatabaseTarget
- type MySQLUpdateOptions
- type NetBufferLength
- type NetReadTimeout
- type NetWriteTimeout
- type NetworkAddresses
- type NetworkProtocol
- type NetworkTransferPrice
- type NetworkTransferTypePrice
- type NetworkTransferTypeRegionPrice
- type NodeBalancer
- type NodeBalancerConfig
- type NodeBalancerConfigCreateOptions
- type NodeBalancerConfigRebuildNodeOptions
- type NodeBalancerConfigRebuildOptions
- type NodeBalancerConfigUpdateOptions
- type NodeBalancerCreateOptions
- type NodeBalancerLKECluster
- type NodeBalancerNode
- type NodeBalancerNodeCreateOptions
- type NodeBalancerNodeStatus
- type NodeBalancerNodeUpdateOptions
- type NodeBalancerPlanType
- type NodeBalancerStats
- type NodeBalancerStatsData
- type NodeBalancerTransfer
- type NodeBalancerType
- type NodeBalancerTypePrice
- type NodeBalancerTypeRegionPrice
- type NodeBalancerUpdateOptions
- type NodeBalancerVPCConfig
- type NodeBalancerVPCOptions
- type NodeMode
- type Notification
- type NotificationEntity
- type NotificationSeverity
- type NotificationType
- type OAuthClient
- type OAuthClientCreateOptions
- type OAuthClientStatus
- type OAuthClientUpdateOptions
- type ObjectStorageACL
- type ObjectStorageBucket
- type ObjectStorageBucketAccess
- type ObjectStorageBucketCert
- type ObjectStorageBucketCertUploadOptions
- type ObjectStorageBucketContent
- type ObjectStorageBucketContentData
- type ObjectStorageBucketCreateOptions
- type ObjectStorageBucketListContentsParams
- type ObjectStorageBucketModifyAccessOptions
- type ObjectStorageBucketUpdateAccessOptions
- type ObjectStorageEndpoint
- type ObjectStorageEndpointType
- type ObjectStorageGlobalQuota
- type ObjectStorageGlobalQuotaUsage
- type ObjectStorageKey
- type ObjectStorageKeyBucketAccess
- type ObjectStorageKeyBucketAccessCreateOptions
- type ObjectStorageKeyCreateOptions
- type ObjectStorageKeyRegion
- type ObjectStorageKeyUpdateOptions
- type ObjectStorageObjectACLConfig
- type ObjectStorageObjectACLConfigUpdateOptions
- type ObjectStorageObjectURL
- type ObjectStorageObjectURLCreateOptions
- type ObjectStorageQuota
- type ObjectStorageQuotaUsage
- type ObjectStorageTransfer
- type PGLookoutMaxFailoverReplicationTimeLag
- type PGPartmanBGWInterval
- type PGPartmanBGWRole
- type PGStatMonitorPGSMEnableQueryPlan
- type PGStatMonitorPGSMMaxBuckets
- type PGStatStatementsTrack
- type PageOptions
- type PagedResponse
- type PaginatedResponse
- type PasswordEncryption
- type Payment
- type PaymentCreateOptions
- type PaymentMethod
- type PaymentMethodCreateOptions
- type PaymentMethodCreateOptionsData
- type PaymentMethodDataCreditCard
- type PaymentMethodDataGooglePay
- type PaymentMethodDataPaypal
- type PlacementGroup
- type PlacementGroupAssignOptions
- type PlacementGroupCreateOptions
- type PlacementGroupMember
- type PlacementGroupMigrationInstance
- type PlacementGroupMigrations
- type PlacementGroupPolicy
- type PlacementGroupType
- type PlacementGroupUnAssignOptions
- type PlacementGroupUpdateOptions
- type PostgresCommitType
- type PostgresCreateOptions
- type PostgresDatabase
- type PostgresDatabaseConfigInfo
- type PostgresDatabaseConfigInfoPG
- type PostgresDatabaseConfigInfoPGLookout
- type PostgresDatabaseConfigInfoPGStatMonitorEnable
- type PostgresDatabaseConfigInfoSharedBuffersPercentage
- type PostgresDatabaseConfigInfoWorkMem
- type PostgresDatabaseCredential
- type PostgresDatabaseEngineConfig
- type PostgresDatabaseEngineConfigPG
- type PostgresDatabaseEngineConfigPGLookout
- type PostgresDatabaseSSL
- type PostgresDatabaseTarget
- type PostgresReplicationType
- type PostgresUpdateOptions
- type PrefixList
- type ProducerImageShareGroup
- type Profile
- type ProfileApp
- type ProfileDevice
- type ProfileLogin
- type ProfilePreferences
- type ProfileReferrals
- type ProfileUpdateOptions
- type PromoCodeCreateOptions
- type Promotion
- type PublicInterface
- type PublicInterfaceCreateOptions
- type PublicInterfaceIPv4
- type PublicInterfaceIPv4Address
- type PublicInterfaceIPv4AddressCreateOptions
- type PublicInterfaceIPv4CreateOptions
- type PublicInterfaceIPv4Shared
- type PublicInterfaceIPv6
- type PublicInterfaceIPv6CreateOptions
- type PublicInterfaceIPv6Range
- type PublicInterfaceIPv6RangeCreateOptions
- type PublicInterfaceIPv6SLAAC
- type Region
- type RegionAvailability
- type RegionCapability
- type RegionMonitors
- type RegionPlacementGroupLimits
- type RegionResolvers
- type RegionVPCAvailability
- type Request
- type RequestLog
- type ReserveIPOptions
- type Response
- type ResponseLog
- type RestoreInstanceOptions
- type RetryAfter
- type RetryConditional
- type Role
- type Rule
- type RuleCriteria
- type RuleCriteriaOptions
- type RuleOptions
- type SQLMode
- type SQLRequirePrimaryKey
- type SSHKey
- type SSHKeyCreateOptions
- type SSHKeyUpdateOptions
- type SecurityQuestion
- type SecurityQuestionsAnswerOptions
- type SecurityQuestionsAnswerQuestion
- type SecurityQuestionsListResponse
- type SendPhoneNumberVerificationCodeOptions
- type ServiceType
- type Severity
- type SortBufferSize
- type SortedObjects
- type Stackscript
- type StackscriptCreateOptions
- type StackscriptUDF
- type StackscriptUpdateOptions
- type StatsIO
- type StatsNet
- type StatsTraffic
- type Tag
- type TagCreateOptions
- type TaggedObject
- type TaggedObjectList
- type TempFileLimit
- type Ticket
- type TicketEntity
- type TicketStatus
- type Timezone
- type TmpTableSize
- type Token
- type TokenCreateOptions
- type TokenUpdateOptions
- type TrackActivityQuerySize
- type TrackCommitTimestamp
- type TrackFunctions
- type TrackIOTiming
- type TriggerConditions
- type TwoFactorSecret
- type User
- type UserAccess
- type UserCreateOptions
- type UserGrants
- type UserGrantsUpdateOptions
- type UserRolePermissions
- type UserRolePermissionsUpdateOptions
- type UserType
- type UserUpdateOptions
- type VLAN
- type VLANInterface
- type VLANInterfaceCreateOptions
- type VPC
- type VPCCreateOptions
- type VPCCreateOptionsIPv6
- type VPCIP
- type VPCIPIPv6Address
- type VPCIPv4
- type VPCIPv4CreateOptions
- type VPCIPv4UpdateOptions
- type VPCIPv6Range
- type VPCInterface
- type VPCInterfaceCreateOptions
- type VPCInterfaceIPv4
- type VPCInterfaceIPv4Address
- type VPCInterfaceIPv4AddressCreateOptions
- type VPCInterfaceIPv4CreateOptions
- type VPCInterfaceIPv4Range
- type VPCInterfaceIPv4RangeCreateOptions
- type VPCInterfaceIPv6
- type VPCInterfaceIPv6CreateOptions
- type VPCInterfaceIPv6Range
- type VPCInterfaceIPv6RangeCreateOptions
- type VPCInterfaceIPv6SLAAC
- type VPCInterfaceIPv6SLAACCreateOptions
- type VPCInterfaceUpdateOptions
- type VPCSubnet
- type VPCSubnetCreateOptions
- type VPCSubnetCreateOptionsIPv6
- type VPCSubnetDatabase
- type VPCSubnetLinode
- type VPCSubnetLinodeInterface
- type VPCSubnetNodebalancers
- type VPCSubnetNodebalancersRanges
- type VPCSubnetUpdateOptions
- type VPCUpdateOptions
- type VerifyPhoneNumberOptions
- type Volume
- type VolumeAttachOptions
- type VolumeCloneOptions
- type VolumeCreateOptions
- type VolumeResizeOptions
- type VolumeStatus
- type VolumeType
- type VolumeTypePrice
- type VolumeTypeRegionPrice
- type VolumeUpdateOptions
- type WALSenderTimeout
- type WALWriterDelay
- type WaitTimeout
Constants ¶
const ( // APIConfigEnvVar environment var to get path to Linode config APIConfigEnvVar = "LINODE_CONFIG" // APIConfigProfileEnvVar specifies the profile to use when loading from a Linode config APIConfigProfileEnvVar = "LINODE_PROFILE" // APIHost Linode API hostname APIHost = "api.linode.com" // APIHostVar environment var to check for alternate API URL APIHostVar = "LINODE_URL" // APIHostCert environment var containing path to CA cert to validate against. // Note that the custom CA cannot be configured together with a custom HTTP Transport. APIHostCert = "LINODE_CA" // APIVersion Linode API version APIVersion = "v4" // APIVersionVar environment var to check for alternate API Version APIVersionVar = "LINODE_API_VERSION" // APIProto connect to API with http(s) APIProto = "https" // APIEnvVar environment var to check for API token APIEnvVar = "LINODE_TOKEN" // APISecondsPerPoll how frequently to poll for new Events or Status in WaitFor functions APISecondsPerPoll = 3 // APIRetryMaxWaitTime is the maximum wait time for retries APIRetryMaxWaitTime = time.Duration(30) * time.Second APIDefaultCacheExpiration = time.Minute * 15 )
const ( // MonitorAPIHost is the default monitor-api host MonitorAPIHost = "monitor-api.linode.com" // MonitorAPIHostVar is the env var to check for the alternate Monitor API URL MonitorAPIHostVar = "MONITOR_API_URL" // MonitorAPIVersion is the default API version to use MonitorAPIVersion = "v2beta" // MonitorAPIVersionVar is the env var to check for the alternate Monitor API version MonitorAPIVersionVar = "MONITOR_API_VERSION" // MonitorAPIEnvVar is the env var to check for Monitor API token MonitorAPIEnvVar = "MONITOR_API_TOKEN" )
const ( ErrorUnsupported = iota // ErrorFromString is the Code identifying Errors created by string types ErrorFromString // ErrorFromError is the Code identifying Errors created by error types ErrorFromError // ErrorFromStringer is the Code identifying Errors created by fmt.Stringer types ErrorFromStringer )
const ( RetryAfterHeaderName = "Retry-After" MaintenanceModeHeaderName = "X-Maintenance-Mode" DefaultRetryCount = 1000 )
const (
DefaultConfigProfile = "default"
)
Variables ¶
var ( Version = "dev" // DefaultUserAgent is the default User-Agent sent in HTTP request headers DefaultUserAgent string )
var DefaultConfigPaths = []string{
"%s/.config/linode",
"%s/.config/linode-cli",
}
Functions ¶
func ConfigureRetries ¶
func ConfigureRetries(c *Client)
ConfigureRetries configures http.Client to lock until enough time has passed to retry the request as determined by the Retry-After response header. If the Retry-After header is not set, we fall back to the value of SetPollDelay.
func DoublePointer ¶
func DoublePointer[T any](value T) **T
DoublePointer creates a double pointer to a value of type T.
This is useful for APIs that distinguish between null and omitted fields.
Example:
// For a field that should be non-null value in the API payload: value := linodego.DoublePointer(42) // Returns **int pointing a *int pointer pointing to 42 // For a field that should be null in the API payload, use `DoublePointerNull` function instead: nullValue := linodego.DoublePointerNull[int]() // Returns **int that is nil // For a field that should not be included in the API payload, simply not include it in the struct.
func DoublePointerNull ¶
func DoublePointerNull[T any]() **T
DoublePointerNull creates a double pointer pointing to a nil pointer of type T, indicating that the field should be null in the API payload.
This is useful for APIs that distinguish between null and omitted fields.
func ErrHasStatus ¶
ErrHasStatus checks if err is an error from the Linode API, and whether it contains the given HTTP status code. More than one status code may be given. If len(code) == 0, err is nil or is not a Error, ErrHasStatus will return false.
func FormatConfigPath ¶
func IsNotFound ¶
IsNotFound indicates if err indicates a 404 Not Found error from the Linode API.
Types ¶
type APIError ¶
type APIError struct {
Errors []APIErrorReason `json:"errors"`
}
APIError is the error-set returned by the Linode API when presented with an invalid request
type APIErrorReason ¶
APIErrorReason is an individual invalid request message returned by the Linode API
func (APIErrorReason) Error ¶
func (r APIErrorReason) Error() string
type Account ¶
type Account struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
Company string `json:"company"`
Address1 string `json:"address_1"`
Address2 string `json:"address_2"`
Balance float32 `json:"balance"`
BalanceUninvoiced float32 `json:"balance_uninvoiced"`
City string `json:"city"`
State string `json:"state"`
Zip string `json:"zip"`
Country string `json:"country"`
TaxID string `json:"tax_id"`
Phone string `json:"phone"`
CreditCard *CreditCard `json:"credit_card"`
EUUID string `json:"euuid"`
BillingSource string `json:"billing_source"`
Capabilities []string `json:"capabilities"`
ActiveSince *time.Time `json:"active_since"`
ActivePromotions []Promotion `json:"active_promotions"`
}
Account associated with the token in use.
func (Account) GetUpdateOptions ¶
func (i Account) GetUpdateOptions() (o AccountUpdateOptions)
GetUpdateOptions converts an Account to AccountUpdateOptions for use in UpdateAccount
func (*Account) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type AccountAccess ¶
AccountAccess is the Roles for each Type for the Account
type AccountAgreements ¶
type AccountAgreements struct {
EUModel bool `json:"eu_model"`
MasterServiceAgreement bool `json:"master_service_agreement"`
PrivacyPolicy bool `json:"privacy_policy"`
}
AccountAgreements represents the agreements and their acceptance status for an Account
func (AccountAgreements) GetUpdateOptions ¶
func (i AccountAgreements) GetUpdateOptions() (o AccountAgreementsUpdateOptions)
GetUpdateOptions converts an AccountAgreements to AccountAgreementsUpdateOptions for use in UpdateAccountAgreements
type AccountAgreementsUpdateOptions ¶
type AccountAgreementsUpdateOptions struct {
EUModel bool `json:"eu_model,omitzero"`
MasterServiceAgreement bool `json:"master_service_agreement,omitzero"`
PrivacyPolicy bool `json:"privacy_policy,omitzero"`
}
AccountAgreementsUpdateOptions fields are those accepted by UpdateAccountAgreements
type AccountAvailability ¶
type AccountAvailability struct {
// region id
Region string `json:"region"`
Unavailable []string `json:"unavailable"`
// the available resources in a region to the customer
Available []string `json:"available"`
}
AccountAvailability returns the resources availability in a region to an account.
type AccountBetaProgram ¶
type AccountBetaProgram struct {
Label string `json:"label"`
ID string `json:"id"`
Description string `json:"description"`
Started *time.Time `json:"-"`
Ended *time.Time `json:"-"`
// Date the account was enrolled in the beta program
Enrolled *time.Time `json:"-"`
}
AccountBetaProgram represents an enrolled Account Beta Program object, which contains the details and enrollment information of a Beta program that an account is enrolled in.
func (*AccountBetaProgram) UnmarshalJSON ¶
func (cBeta *AccountBetaProgram) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type AccountBetaProgramCreateOpts ¶
type AccountBetaProgramCreateOpts struct {
ID string `json:"id"`
}
AccountBetaProgramCreateOpts fields are those accepted by JoinBetaProgram
type AccountMaintenance ¶
type AccountMaintenance struct {
Entity *Entity `json:"entity"`
Reason string `json:"reason"`
Status string `json:"status"`
Type string `json:"type"`
MaintenancePolicySet string `json:"maintenance_policy_set"`
Description string `json:"description"`
Source string `json:"source"`
NotBefore *time.Time `json:"-"`
StartTime *time.Time `json:"-"`
CompleteTime *time.Time `json:"-"`
}
AccountMaintenance represents a Maintenance object for any entity a user has permissions to view
func (*AccountMaintenance) UnmarshalJSON ¶
func (accountMaintenance *AccountMaintenance) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type AccountRolePermissions ¶
type AccountRolePermissions struct {
AccountAccess []AccountAccess `json:"account_access"`
EntityAccess []AccountAccess `json:"entity_access"`
}
AccountRolePermissions are the account and entity roles for the Account
type AccountServiceTransfer ¶
type AccountServiceTransfer struct {
Created *time.Time `json:"-"`
Entities AccountServiceTransferEntity `json:"entities"`
Expiry *time.Time `json:"-"`
IsSender bool `json:"is_sender"`
Status AccountServiceTransferStatus `json:"status"`
Token string `json:"token"`
Updated *time.Time `json:"-"`
}
AccountServiceTransfer represents a request to transfer a service on an Account
func (*AccountServiceTransfer) UnmarshalJSON ¶
func (ast *AccountServiceTransfer) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type AccountServiceTransferEntity ¶
type AccountServiceTransferEntity struct {
Linodes []int `json:"linodes"`
}
AccountServiceTransferEntity represents a collection of the services to include in a transfer request, separated by type. Note: At this time, only Linodes can be transferred.
type AccountServiceTransferRequestOptions ¶
type AccountServiceTransferRequestOptions struct {
Entities AccountServiceTransferEntity `json:"entities"`
}
type AccountServiceTransferStatus ¶
type AccountServiceTransferStatus string
AccountServiceTransferStatus constants start with AccountServiceTransfer and include Linode API Account Service Transfer Status values.
const ( AccountServiceTransferAccepted AccountServiceTransferStatus = "accepted" AccountServiceTransferCanceled AccountServiceTransferStatus = "canceled" AccountServiceTransferCompleted AccountServiceTransferStatus = "completed" AccountServiceTransferFailed AccountServiceTransferStatus = "failed" AccountServiceTransferPending AccountServiceTransferStatus = "pending" AccountServiceTransferStale AccountServiceTransferStatus = "stale" )
AccountServiceTransferStatus constants reflect the current status of an AccountServiceTransfer
type AccountSettings ¶
type AccountSettings struct {
// The default backups enrollment status for all new Linodes for all users on the account. When enabled, backups are mandatory per instance.
BackupsEnabled bool `json:"backups_enabled"`
// Whether or not Linode Managed service is enabled for the account.
Managed bool `json:"managed"`
// Whether or not the Network Helper is enabled for all new Linode Instance Configs on the account.
NetworkHelper bool `json:"network_helper"`
// A plan name like "longview-3"..."longview-100", or a nil value for to cancel any existing subscription plan.
LongviewSubscription *string `json:"longview_subscription"`
// A string like "disabled", "suspended", or "active" describing the status of this account’s Object Storage service enrollment.
ObjectStorage *string `json:"object_storage"`
// A new configuration flag defines whether new Linodes can use Linode and/or legacy config interfaces.
InterfacesForNewLinodes InterfacesForNewLinodes `json:"interfaces_for_new_linodes"`
// The slug of the maintenance policy associated with the account.
MaintenancePolicy string `json:"maintenance_policy"`
}
AccountSettings are the account wide flags or plans that effect new resources
type AccountSettingsUpdateOptions ¶
type AccountSettingsUpdateOptions struct {
// The default backups enrollment status for all new Linodes for all users on the account. When enabled, backups are mandatory per instance.
BackupsEnabled *bool `json:"backups_enabled,omitzero"`
// The default network helper setting for all new Linodes and Linode Configs for all users on the account.
NetworkHelper *bool `json:"network_helper,omitzero"`
// NOTE: Interfaces for new linode setting may not currently be available to all users.
// A new configuration flag defines whether new Linodes can use Linode and/or legacy config interfaces.
InterfacesForNewLinodes *InterfacesForNewLinodes `json:"interfaces_for_new_linodes"`
// The slug of the maintenance policy to set the account to.
MaintenancePolicy *string `json:"maintenance_policy,omitzero"`
}
AccountSettingsUpdateOptions are the updateable account wide flags or plans that effect new resources.
type AccountTransfer ¶
type AccountTransfer struct {
Billable int `json:"billable"`
Quota int `json:"quota"`
Used int `json:"used"`
RegionTransfers []AccountTransferRegion `json:"region_transfers"`
}
AccountTransfer represents an Account's network utilization for the current month.
type AccountTransferRegion ¶
type AccountTransferRegion struct {
ID string `json:"id"`
Billable int `json:"billable"`
Quota int `json:"quota"`
Used int `json:"used"`
}
AccountTransferRegion represents an Account's network utilization for the current month in a given region.
type AccountUpdateOptions ¶
type AccountUpdateOptions struct {
Address1 string `json:"address_1,omitzero"`
Address2 string `json:"address_2,omitzero"`
City string `json:"city,omitzero"`
Company string `json:"company,omitzero"`
Country string `json:"country,omitzero"`
Email string `json:"email,omitzero"`
FirstName string `json:"first_name,omitzero"`
LastName string `json:"last_name,omitzero"`
Phone string `json:"phone,omitzero"`
State string `json:"state,omitzero"`
TaxID string `json:"tax_id,omitzero"`
Zip string `json:"zip,omitzero"`
}
AccountUpdateOptions fields are those accepted by UpdateAccount
type AggregateFunction ¶
type AggregateFunction string
AggregateFunction is an enum object for AggregateFunction
const ( AggregateFunctionMin AggregateFunction = "min" AggregateFunctionMax AggregateFunction = "max" AggregateFunctionAvg AggregateFunction = "avg" AggregateFunctionSum AggregateFunction = "sum" AggregateFunctionRate AggregateFunction = "rate" AggregateFunctionIncrease AggregateFunction = "increase" AggregateFunctionCount AggregateFunction = "count" AggregateFunctionLast AggregateFunction = "last" )
type AlertChannel ¶
type AlertChannel struct {
Alerts AlertsInfo `json:"alerts"`
ChannelType AlertNotificationType `json:"channel_type"`
Details ChannelDetails `json:"details"`
Created *time.Time `json:"-"`
CreatedBy string `json:"created_by"`
Updated *time.Time `json:"-"`
UpdatedBy string `json:"updated_by"`
ID int `json:"id"`
Label string `json:"label"`
Type AlertChannelType `json:"type"`
}
AlertChannel represents a Monitor Channel object.
func (*AlertChannel) UnmarshalJSON ¶
func (a *AlertChannel) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type AlertChannelEnvelope ¶
type AlertChannelEnvelope struct {
ID int `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
URL string `json:"url"`
}
AlertChannelEnvelope represents a single alert channel entry returned inside alert definition
type AlertChannelType ¶
type AlertChannelType string
const ( SystemAlertChannel AlertChannelType = "system" UserAlertChannel AlertChannelType = "user" )
type AlertDefinition ¶
type AlertDefinition struct {
ID int `json:"id"`
Label string `json:"label"`
Severity int `json:"severity"`
Type string `json:"type"`
ServiceType string `json:"service_type"`
Status AlertDefinitionStatus `json:"status"`
RuleCriteria RuleCriteria `json:"rule_criteria"`
TriggerConditions TriggerConditions `json:"trigger_conditions"`
AlertChannels []AlertChannelEnvelope `json:"alert_channels"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
UpdatedBy string `json:"updated_by"`
CreatedBy string `json:"created_by"`
Description string `json:"description"`
Class string `json:"class"`
Scope AlertDefinitionScope `json:"scope"`
Regions []string `json:"regions"`
Entities AlertDefinitionEntities `json:"entities"`
}
AlertDefinition represents an ACLP Alert Definition object
func (*AlertDefinition) UnmarshalJSON ¶
func (i *AlertDefinition) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type AlertDefinitionCreateOptions ¶
type AlertDefinitionCreateOptions struct {
Label string `json:"label"`
Severity int `json:"severity"`
ChannelIDs []int `json:"channel_ids"`
RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitzero"`
TriggerConditions *TriggerConditions `json:"trigger_conditions,omitzero"`
EntityIDs []string `json:"entity_ids,omitzero"`
Description *string `json:"description,omitzero"`
Scope AlertDefinitionScope `json:"scope,omitzero"`
Regions []string `json:"regions,omitzero"`
}
AlertDefinitionCreateOptions are the options used to create a new alert definition.
type AlertDefinitionEntities ¶
type AlertDefinitionEntities struct {
URL string `json:"url"`
Count int `json:"count"`
HasMoreResources bool `json:"has_more_resources"`
}
AlertDefinitionEntities represents entity metadata for an alert definition. For entity scoped alerts, entities contains the URL to list entities, a count, and a has_more_resources flag. For region/account scoped alerts, the entities are returned as an empty object.
type AlertDefinitionEntity ¶
type AlertDefinitionEntity struct {
ID string `json:"id"`
Label string `json:"label"`
URL string `json:"url"`
Type string `json:"type"`
}
AlertDefinitionEntity represents a single entity associated with an alert definition.
type AlertDefinitionScope ¶
type AlertDefinitionScope string
AlertDefinitionScope represents the scope of an alert definition: "account", "entity", or "region". Defaults to "entity".
const ( AlertDefinitionScopeAccount AlertDefinitionScope = "account" AlertDefinitionScopeEntity AlertDefinitionScope = "entity" AlertDefinitionScopeRegion AlertDefinitionScope = "region" )
type AlertDefinitionStatus ¶
type AlertDefinitionStatus string
const ( AlertDefinitionStatusProvisioning AlertDefinitionStatus = "provisioning" AlertDefinitionStatusEnabling AlertDefinitionStatus = "enabling" AlertDefinitionStatusDisabling AlertDefinitionStatus = "disabling" AlertDefinitionStatusEnabled AlertDefinitionStatus = "enabled" AlertDefinitionStatusDisabled AlertDefinitionStatus = "disabled" AlertDefinitionStatusFailed AlertDefinitionStatus = "failed" )
type AlertDefinitionUpdateOptions ¶
type AlertDefinitionUpdateOptions struct {
Label string `json:"label"`
Severity int `json:"severity"`
ChannelIDs []int `json:"channel_ids"`
RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitzero"`
TriggerConditions *TriggerConditions `json:"trigger_conditions,omitzero"`
EntityIDs []string `json:"entity_ids,omitzero"`
Description *string `json:"description,omitzero"`
Status *AlertDefinitionStatus `json:"status,omitzero"`
Regions []string `json:"regions,omitzero"`
}
AlertDefinitionUpdateOptions are the options used to update an alert definition.
type AlertNotificationType ¶
type AlertNotificationType string
const (
EmailAlertNotification AlertNotificationType = "email"
)
type AlertsInfo ¶
type AlertsInfo struct {
URL string `json:"url"`
Type string `json:"type"`
AlertCount int `json:"alert_count"`
}
AlertsInfo represents alert information for a channel
type AutovacuumMaxWorkers ¶
type AutovacuumNaptime ¶
type BGWriterDelay ¶
type BGWriterFlushAfter ¶
type BGWriterLRUMaxPages ¶
type BGWriterLRUMultiplier ¶
type BetaProgram ¶
type BetaProgram struct {
Label string `json:"label"`
ID string `json:"id"`
Description string `json:"description"`
// Start date of the beta program.
Started *time.Time `json:"-"`
// End date of the beta program.
Ended *time.Time `json:"-"`
// Greenlight is a program that allows customers to gain access to
// certain beta programs and to collect direct feedback from those customers.
GreenlightOnly bool `json:"greenlight_only"`
// Link to product marketing page for the beta program.
MoreInfo string `json:"more_info"`
}
BetaProgram is a new product or service that is not generally available to all Akamai customers. Users must enroll into a beta in order to access the functionality.
func (*BetaProgram) UnmarshalJSON ¶
func (beta *BetaProgram) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ChannelDetails ¶
type ChannelDetails struct {
Email *EmailChannelDetails `json:"email"`
}
ChannelDetails represents the details block for an AlertChannel
type ChildAccount ¶
type ChildAccount = Account
ChildAccount represents an account under the current account. NOTE: This is an alias to prevent any future breaking changes.
type ChildAccountToken ¶
type ChildAccountToken = Token
ChildAccountToken represents a short-lived token created using the CreateChildAccountToken(...) function. NOTE: This is an alias to prevent any future breaking changes.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a wrapper around the http client
func NewClientFromEnv ¶
NewClientFromEnv creates a Client and initializes it with values from the LINODE_CONFIG file and the LINODE_TOKEN environment variable.
func (*Client) AcceptAccountServiceTransfer ¶
AcceptAccountServiceTransfer accepts an AccountServiceTransfer for the provided token to receive the services included in the transfer to the Account.
func (*Client) AcknowledgeAccountAgreements ¶
func (c *Client) AcknowledgeAccountAgreements(ctx context.Context, opts AccountAgreementsUpdateOptions) error
AcknowledgeAccountAgreements acknowledges account agreements for the Account
func (*Client) AddInstanceIPAddress ¶
func (c *Client) AddInstanceIPAddress(ctx context.Context, linodeID int, opts InstanceIPAddOptions) (*InstanceIP, error)
AddInstanceIPAddress adds a public or private IP to a Linode instance
func (*Client) AddPaymentMethod ¶
func (c *Client) AddPaymentMethod(ctx context.Context, opts PaymentMethodCreateOptions) error
AddPaymentMethod adds the provided payment method to the account
func (*Client) AddPromoCode ¶
AddPromoCode adds the provided promo code to the account
func (*Client) AddRetryCondition ¶
func (c *Client) AddRetryCondition(retryCondition RetryConditional) *Client
AddRetryCondition adds a RetryConditional function to the Client
func (*Client) AllocateReserveIP ¶
func (c *Client) AllocateReserveIP(ctx context.Context, opts AllocateReserveIPOptions) (*InstanceIP, error)
AllocateReserveIP allocates a new IPv4 address to the Account, with the option to reserve it and optionally assign it to a Linode.
func (*Client) AppendInstanceConfigInterface ¶
func (c *Client) AppendInstanceConfigInterface( ctx context.Context, linodeID int, configID int, opts InstanceConfigInterfaceCreateOptions, ) (*InstanceConfigInterface, error)
func (*Client) AssignInstanceReservedIP ¶
func (c *Client) AssignInstanceReservedIP(ctx context.Context, linodeID int, opts InstanceReserveIPOptions) (*InstanceIP, error)
AssignInstanceReservedIP adds additional reserved IPV4 addresses to an existing linode
func (*Client) AssignPlacementGroupLinodes ¶
func (c *Client) AssignPlacementGroupLinodes( ctx context.Context, id int, options PlacementGroupAssignOptions, ) (*PlacementGroup, error)
AssignPlacementGroupLinodes assigns the specified Linodes to the given placement group.
func (*Client) AttachVolume ¶
func (c *Client) AttachVolume(ctx context.Context, volumeID int, opts *VolumeAttachOptions) (*Volume, error)
AttachVolume attaches a volume to a Linode instance
func (*Client) BootInstance ¶
BootInstance will boot a Linode instance A configID of 0 will cause Linode to choose the last/best config
func (*Client) CancelAccountServiceTransfer ¶
CancelAccountServiceTransfer cancels the AccountServiceTransfer for the provided token.
func (*Client) CancelInstanceBackups ¶
CancelInstanceBackups Cancels backups for the specified Linode.
func (*Client) CancelObjectStorage ¶
CancelObjectStorage cancels and removes all object storage from the Account
func (*Client) CloneDomain ¶
func (c *Client) CloneDomain(ctx context.Context, domainID int, opts DomainCloneOptions) (*Domain, error)
CloneDomain clones a Domain and all associated DNS records from a Domain that is registered in Linode's DNS manager.
func (*Client) CloneInstance ¶
func (c *Client) CloneInstance(ctx context.Context, linodeID int, opts InstanceCloneOptions) (*Instance, error)
CloneInstance clone an existing Instances Disks and Configuration profiles to another Linode Instance
func (*Client) CloneInstanceDisk ¶
func (c *Client) CloneInstanceDisk(ctx context.Context, linodeID, diskID int) (*InstanceDisk, error)
CloneInstanceDisk clones the given InstanceDisk for the given Instance
func (*Client) CloneVolume ¶
func (c *Client) CloneVolume(ctx context.Context, volumeID int, opts VolumeCloneOptions) (*Volume, error)
CloneVolume clones a Linode volume
func (*Client) ConfirmTwoFactor ¶
func (c *Client) ConfirmTwoFactor(ctx context.Context, opts ConfirmTwoFactorOptions) (*ConfirmTwoFactorResponse, error)
ConfirmTwoFactor confirms that you can successfully generate Two Factor codes and enables TFA on your Account.
func (*Client) CreateChildAccountToken ¶
func (c *Client) CreateChildAccountToken(ctx context.Context, euuid string) (*ChildAccountToken, error)
CreateChildAccountToken creates a short-lived token that can be used to access the Linode API under a child account. The attributes of this token are not currently configurable. NOTE: Parent/Child related features may not be generally available.
func (*Client) CreateDomain ¶
CreateDomain creates a Domain
func (*Client) CreateDomainRecord ¶
func (c *Client) CreateDomainRecord(ctx context.Context, domainID int, opts DomainRecordCreateOptions) (*DomainRecord, error)
CreateDomainRecord creates a DomainRecord
func (*Client) CreateFirewall ¶
CreateFirewall creates a single Firewall with at least one set of inbound or outbound rules
func (*Client) CreateFirewallDevice ¶
func (c *Client) CreateFirewallDevice(ctx context.Context, firewallID int, opts FirewallDeviceCreateOptions) (*FirewallDevice, error)
CreateFirewallDevice associates a Device with a given Firewall
func (*Client) CreateFirewallRuleSet ¶
func (c *Client) CreateFirewallRuleSet(ctx context.Context, opts FirewallRuleSetCreateOptions) (*FirewallRuleSet, error)
CreateFirewallRuleSet creates a new Rule Set.
func (*Client) CreateIPv6Range ¶
func (c *Client) CreateIPv6Range(ctx context.Context, opts IPv6RangeCreateOptions) (*IPv6Range, error)
CreateIPv6Range creates an IPv6 Range and assigns it based on the provided Linode or route target IPv6 SLAAC address.
func (*Client) CreateImage ¶
CreateImage creates an Image.
func (*Client) CreateImageShareGroup ¶
func (c *Client) CreateImageShareGroup( ctx context.Context, opts ImageShareGroupCreateOptions, ) (*ProducerImageShareGroup, error)
CreateImageShareGroup allows the producer to create a new ImageShareGroup. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) CreateImageUpload ¶
func (c *Client) CreateImageUpload(ctx context.Context, opts ImageCreateUploadOptions) (*Image, string, error)
CreateImageUpload creates an Image and an upload URL.
func (*Client) CreateInstance ¶
CreateInstance creates a Linode instance
func (*Client) CreateInstanceConfig ¶
func (c *Client) CreateInstanceConfig(ctx context.Context, linodeID int, opts InstanceConfigCreateOptions) (*InstanceConfig, error)
CreateInstanceConfig creates a new InstanceConfig for the given Instance
func (*Client) CreateInstanceDisk ¶
func (c *Client) CreateInstanceDisk(ctx context.Context, linodeID int, opts InstanceDiskCreateOptions) (*InstanceDisk, error)
CreateInstanceDisk creates a new InstanceDisk for the given Instance
func (*Client) CreateInstanceSnapshot ¶
func (c *Client) CreateInstanceSnapshot(ctx context.Context, linodeID int, opts InstanceSnapshotCreateOptions) (*InstanceSnapshot, error)
CreateInstanceSnapshot Creates or Replaces the snapshot Backup of a Linode. If a previous snapshot exists for this Linode, it will be deleted.
func (*Client) CreateInterface ¶
func (c *Client) CreateInterface(ctx context.Context, linodeID int, opts LinodeInterfaceCreateOptions) (*LinodeInterface, error)
func (*Client) CreateLKECluster ¶
func (c *Client) CreateLKECluster(ctx context.Context, opts LKEClusterCreateOptions) (*LKECluster, error)
CreateLKECluster creates a LKECluster
func (*Client) CreateLKENodePool ¶
func (c *Client) CreateLKENodePool(ctx context.Context, clusterID int, opts LKENodePoolCreateOptions) (*LKENodePool, error)
CreateLKENodePool creates a LKENodePool
func (*Client) CreateLock ¶
CreateLock creates a lock for a resource NOTE: Locks can only be used with v4beta.
func (*Client) CreateLongviewClient ¶
func (c *Client) CreateLongviewClient(ctx context.Context, opts LongviewClientCreateOptions) (*LongviewClient, error)
CreateLongviewClient creates a Longview Client
func (*Client) CreateMonitorAlertDefinition ¶
func (c *Client) CreateMonitorAlertDefinition( ctx context.Context, serviceType string, opts AlertDefinitionCreateOptions, ) (*AlertDefinition, error)
CreateMonitorAlertDefinition creates an ACLP Monitor Alert Definition.
func (*Client) CreateMonitorAlertDefinitionWithIdempotency ¶
func (c *Client) CreateMonitorAlertDefinitionWithIdempotency( ctx context.Context, serviceType string, opts AlertDefinitionCreateOptions, idempotencyKey string, ) (*AlertDefinition, error)
CreateMonitorAlertDefinitionWithIdempotency creates an ACLP Monitor Alert Definition and optionally sends an Idempotency-Key header to make the request idempotent.
func (*Client) CreateMonitorServiceTokenForServiceType ¶
func (c *Client) CreateMonitorServiceTokenForServiceType( ctx context.Context, serviceType string, opts MonitorTokenCreateOptions, ) (*MonitorServiceToken, error)
CreateMonitorServiceTokenForServiceType to create token for a given serviceType
func (*Client) CreateMySQLDatabase ¶
func (c *Client) CreateMySQLDatabase(ctx context.Context, opts MySQLCreateOptions) (*MySQLDatabase, error)
CreateMySQLDatabase creates a new MySQL Database using the createOpts as configuration, returns the new MySQL Database
func (*Client) CreateNodeBalancer ¶
func (c *Client) CreateNodeBalancer(ctx context.Context, opts NodeBalancerCreateOptions) (*NodeBalancer, error)
CreateNodeBalancer creates a NodeBalancer
func (*Client) CreateNodeBalancerConfig ¶
func (c *Client) CreateNodeBalancerConfig(ctx context.Context, nodebalancerID int, opts NodeBalancerConfigCreateOptions) (*NodeBalancerConfig, error)
CreateNodeBalancerConfig creates a NodeBalancerConfig
func (*Client) CreateNodeBalancerNode ¶
func (c *Client) CreateNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, opts NodeBalancerNodeCreateOptions) (*NodeBalancerNode, error)
CreateNodeBalancerNode creates a NodeBalancerNode
func (*Client) CreateOAuthClient ¶
func (c *Client) CreateOAuthClient(ctx context.Context, opts OAuthClientCreateOptions) (*OAuthClient, error)
CreateOAuthClient creates an OAuthClient
func (*Client) CreateObjectStorageBucket ¶
func (c *Client) CreateObjectStorageBucket(ctx context.Context, opts ObjectStorageBucketCreateOptions) (*ObjectStorageBucket, error)
CreateObjectStorageBucket creates an ObjectStorageBucket
func (*Client) CreateObjectStorageKey ¶
func (c *Client) CreateObjectStorageKey(ctx context.Context, opts ObjectStorageKeyCreateOptions) (*ObjectStorageKey, error)
CreateObjectStorageKey creates a ObjectStorageKey
func (*Client) CreateObjectStorageObjectURL ¶
func (c *Client) CreateObjectStorageObjectURL( ctx context.Context, regionID, label string, opts ObjectStorageObjectURLCreateOptions, ) (*ObjectStorageObjectURL, error)
func (*Client) CreatePayment ¶
CreatePayment creates a Payment
func (*Client) CreatePlacementGroup ¶
func (c *Client) CreatePlacementGroup( ctx context.Context, options PlacementGroupCreateOptions, ) (*PlacementGroup, error)
CreatePlacementGroup creates a placement group with the specified options.
func (*Client) CreatePostgresDatabase ¶
func (c *Client) CreatePostgresDatabase(ctx context.Context, opts PostgresCreateOptions) (*PostgresDatabase, error)
CreatePostgresDatabase creates a new Postgres Database using the createOpts as configuration, returns the new Postgres Database
func (*Client) CreateSSHKey ¶
CreateSSHKey creates a SSHKey
func (*Client) CreateStackscript ¶
func (c *Client) CreateStackscript(ctx context.Context, opts StackscriptCreateOptions) (*Stackscript, error)
CreateStackscript creates a StackScript
func (*Client) CreateToken ¶
CreateToken creates a Token
func (*Client) CreateTwoFactorSecret ¶
func (c *Client) CreateTwoFactorSecret(ctx context.Context) (*TwoFactorSecret, error)
CreateTwoFactorSecret generates a Two Factor secret for your User.
func (*Client) CreateUser ¶
CreateUser creates a User. The email address must be confirmed before the User account can be accessed.
func (*Client) CreateVPCSubnet ¶
func (*Client) CreateVolume ¶
CreateVolume creates a Linode Volume
func (*Client) DeleteDomain ¶
DeleteDomain deletes the Domain with the specified id
func (*Client) DeleteDomainRecord ¶
DeleteDomainRecord deletes the DomainRecord with the specified id
func (*Client) DeleteFirewall ¶
DeleteFirewall deletes a single Firewall with the provided ID
func (*Client) DeleteFirewallDevice ¶
DeleteFirewallDevice disassociates a Device with a given Firewall
func (*Client) DeleteFirewallRuleSet ¶
DeleteFirewallRuleSet deletes a Rule Set by ID.
func (*Client) DeleteIPv6Range ¶
DeleteIPv6Range deletes an IPv6 Range.
func (*Client) DeleteImage ¶
DeleteImage deletes the Image with the specified id.
func (*Client) DeleteImageShareGroup ¶
DeleteImageShareGroup deletes the specified ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) DeleteInstance ¶
DeleteInstance deletes a Linode instance
func (*Client) DeleteInstanceConfig ¶
DeleteInstanceConfig deletes a Linode InstanceConfig
func (*Client) DeleteInstanceConfigInterface ¶
func (*Client) DeleteInstanceDisk ¶
DeleteInstanceDisk deletes a Linode Instance Disk
func (*Client) DeleteInstanceIPAddress ¶
func (*Client) DeleteInterface ¶
func (*Client) DeleteLKECluster ¶
DeleteLKECluster deletes the LKECluster with the specified id
func (*Client) DeleteLKEClusterControlPlaneACL ¶
DeleteLKEClusterControlPlaneACL deletes the ACL configuration for the given cluster's control plane.
func (*Client) DeleteLKEClusterKubeconfig ¶
DeleteLKEClusterKubeconfig deletes the Kubeconfig for the LKE Cluster specified
func (*Client) DeleteLKEClusterServiceToken ¶
DeleteLKEClusterServiceToken deletes and regenerate the service account token for a Cluster.
func (*Client) DeleteLKENodePool ¶
DeleteLKENodePool deletes the LKENodePool with the specified id
func (*Client) DeleteLKENodePoolNode ¶
DeleteLKENodePoolNode deletes a given node from a node pool
func (*Client) DeleteLock ¶
DeleteLock deletes a single Lock with the provided ID NOTE: Locks can only be used with v4beta.
func (*Client) DeleteLongviewClient ¶
DeleteLongviewClient deletes a Longview Client
func (*Client) DeleteMonitorAlertDefinition ¶
func (c *Client) DeleteMonitorAlertDefinition(ctx context.Context, serviceType string, alertID int) error
DeleteMonitorAlertDefinition deletes an ACLP Monitor Alert Definition.
func (*Client) DeleteMySQLDatabase ¶
DeleteMySQLDatabase deletes an existing MySQL Database with the given id
func (*Client) DeleteNodeBalancer ¶
DeleteNodeBalancer deletes the NodeBalancer with the specified id
func (*Client) DeleteNodeBalancerConfig ¶
func (c *Client) DeleteNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int) error
DeleteNodeBalancerConfig deletes the NodeBalancerConfig with the specified id
func (*Client) DeleteNodeBalancerNode ¶
func (c *Client) DeleteNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int) error
DeleteNodeBalancerNode deletes the NodeBalancerNode with the specified id
func (*Client) DeleteOAuthClient ¶
DeleteOAuthClient deletes the OAuthClient with the specified id
func (*Client) DeleteObjectStorageBucket ¶
DeleteObjectStorageBucket deletes the ObjectStorageBucket with the specified label
func (*Client) DeleteObjectStorageBucketCert ¶
DeleteObjectStorageBucketCert deletes an ObjectStorageBucketCert
func (*Client) DeleteObjectStorageKey ¶
DeleteObjectStorageKey deletes the ObjectStorageKey with the specified id
func (*Client) DeletePaymentMethod ¶
DeletePaymentMethod deletes the payment method with the provided ID
func (*Client) DeletePhoneNumber ¶
DeletePhoneNumber deletes the verified phone number for the User making this request.
func (*Client) DeletePlacementGroup ¶
DeletePlacementGroup deletes a placement group with the specified ID.
func (*Client) DeletePostgresDatabase ¶
DeletePostgresDatabase deletes an existing Postgres Database with the given id
func (*Client) DeleteProfileApp ¶
DeleteProfileApp revokes the given ProfileApp's access to the account
func (*Client) DeleteProfileDevice ¶
DeleteProfileDevice revokes the given ProfileDevice's status as a trusted device
func (*Client) DeleteReservedIPAddress ¶
DeleteReservedIPAddress deletes a reserved IP address NOTE: Reserved IP feature may not currently be available to all users.
func (*Client) DeleteSSHKey ¶
DeleteSSHKey deletes the SSHKey with the specified id
func (*Client) DeleteStackscript ¶
DeleteStackscript deletes the StackScript with the specified id
func (*Client) DeleteToken ¶
DeleteToken deletes the Token with the specified id
func (*Client) DeleteUser ¶
DeleteUser deletes the User with the specified id
func (*Client) DeleteVPCSubnet ¶
func (*Client) DeleteVolume ¶
DeleteVolume deletes the Volume with the specified id
func (*Client) DetachVolume ¶
DetachVolume detaches a Linode volume
func (*Client) DisableTwoFactor ¶
DisableTwoFactor disables Two Factor Authentication for your User.
func (*Client) EnableInstanceBackups ¶
EnableInstanceBackups Enables backups for the specified Linode.
func (*Client) GetAccount ¶
GetAccount gets the contact and billing information related to the Account.
func (*Client) GetAccountAgreements ¶
func (c *Client) GetAccountAgreements(ctx context.Context) (*AccountAgreements, error)
GetAccountAgreements gets all agreements and their acceptance status for the Account.
func (*Client) GetAccountAvailability ¶
func (c *Client) GetAccountAvailability(ctx context.Context, regionID string) (*AccountAvailability, error)
GetAccountAvailability gets the resources availability in a region to the customer.
func (*Client) GetAccountBetaProgram ¶
func (c *Client) GetAccountBetaProgram(ctx context.Context, betaID string) (*AccountBetaProgram, error)
GetAccountBetaProgram gets the details of a beta program an account is enrolled in.
func (*Client) GetAccountRolePermissions ¶
func (c *Client) GetAccountRolePermissions(ctx context.Context) (*AccountRolePermissions, error)
GetAccountRolePermissions returns the role permissions for this Account
func (*Client) GetAccountServiceTransfer ¶
func (c *Client) GetAccountServiceTransfer(ctx context.Context, token string) (*AccountServiceTransfer, error)
GetAccountServiceTransfer gets the details of the AccountServiceTransfer for the provided token.
func (*Client) GetAccountSettings ¶
func (c *Client) GetAccountSettings(ctx context.Context) (*AccountSettings, error)
GetAccountSettings gets the account wide flags or plans that effect new resources
func (*Client) GetAccountTransfer ¶
func (c *Client) GetAccountTransfer(ctx context.Context) (*AccountTransfer, error)
GetAccountTransfer gets current Account's network utilization for the current month.
func (*Client) GetBetaProgram ¶
GetBetaProgram gets the beta program's detail with the ID
func (*Client) GetChildAccount ¶
GetChildAccount gets a single child accounts under the current account. NOTE: Parent/Child related features may not be generally available.
func (*Client) GetDatabaseEngine ¶
func (c *Client) GetDatabaseEngine(ctx context.Context, _ *ListOptions, engineID string) (*DatabaseEngine, error)
GetDatabaseEngine returns a specific Database Engine. This endpoint is cached by default.
func (*Client) GetDatabaseType ¶
func (c *Client) GetDatabaseType(ctx context.Context, _ *ListOptions, typeID string) (*DatabaseType, error)
GetDatabaseType returns a specific Database Type. This endpoint is cached by default.
func (*Client) GetDomainRecord ¶
func (c *Client) GetDomainRecord(ctx context.Context, domainID int, recordID int) (*DomainRecord, error)
GetDomainRecord gets the domainrecord with the provided ID
func (*Client) GetDomainZoneFile ¶
GetDomainZoneFile gets the zone file for the last rendered zone for the specified domain.
func (*Client) GetEntityRoles ¶
func (c *Client) GetEntityRoles(ctx context.Context, username string, entityType string, entityID int) ([]string, error)
GetEntityRoles returns a list of roles for the entity and user
func (*Client) GetFirewall ¶
GetFirewall gets a single Firewall with the provided ID
func (*Client) GetFirewallDevice ¶
func (c *Client) GetFirewallDevice(ctx context.Context, firewallID, deviceID int) (*FirewallDevice, error)
GetFirewallDevice gets a FirewallDevice given an ID
func (*Client) GetFirewallRuleSet ¶
GetFirewallRuleSet fetches a Rule Set by ID.
func (*Client) GetFirewallRules ¶
GetFirewallRules gets the FirewallRules for the given Firewall.
func (*Client) GetFirewallRulesExpansion ¶
func (c *Client) GetFirewallRulesExpansion(ctx context.Context, firewallID int) (*FirewallRules, error)
GetFirewallRulesExpansion gets the expanded FirewallRules for the given Firewall.
func (*Client) GetFirewallSettings ¶
func (c *Client) GetFirewallSettings(ctx context.Context) (*FirewallSettings, error)
GetFirewallSettings returns default firewalls for Linodes, Linode VPC and public interfaces, and NodeBalancers.
func (*Client) GetFirewallTemplate ¶
GetFirewallTemplate gets a FirewallTemplate given a slug. NOTE: This feature may not currently be available to all users.
func (*Client) GetIPAddress ¶
GetIPAddress gets the IPAddress with the provided IP.
func (*Client) GetIPv6Pool ¶
GetIPv6Pool gets the template with the provided ID
func (*Client) GetIPv6Range ¶
GetIPv6Range gets details about an IPv6 range
func (*Client) GetImageShareGroup ¶
func (c *Client) GetImageShareGroup( ctx context.Context, imageShareGroupID int, ) (*ProducerImageShareGroup, error)
GetImageShareGroup gets the specified ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) GetInstance ¶
GetInstance gets the instance with the provided ID
func (*Client) GetInstanceBackups ¶
func (c *Client) GetInstanceBackups(ctx context.Context, linodeID int) (*InstanceBackupsResponse, error)
GetInstanceBackups gets the Instance's available Backups. This is not called ListInstanceBackups because a single object is returned, matching the API response.
func (*Client) GetInstanceConfig ¶
func (c *Client) GetInstanceConfig(ctx context.Context, linodeID int, configID int) (*InstanceConfig, error)
GetInstanceConfig gets the template with the provided ID
func (*Client) GetInstanceConfigInterface ¶
func (*Client) GetInstanceDisk ¶
func (c *Client) GetInstanceDisk(ctx context.Context, linodeID int, diskID int) (*InstanceDisk, error)
GetInstanceDisk gets the template with the provided ID
func (*Client) GetInstanceIPAddress ¶
func (c *Client) GetInstanceIPAddress(ctx context.Context, linodeID int, ipaddress string) (*InstanceIP, error)
GetInstanceIPAddress gets the IPAddress for a Linode instance matching a supplied IP address
func (*Client) GetInstanceIPAddresses ¶
func (c *Client) GetInstanceIPAddresses(ctx context.Context, linodeID int) (*InstanceIPAddressResponse, error)
GetInstanceIPAddresses gets the IPAddresses for a Linode instance
func (*Client) GetInstanceSnapshot ¶
func (c *Client) GetInstanceSnapshot(ctx context.Context, linodeID int, snapshotID int) (*InstanceSnapshot, error)
GetInstanceSnapshot gets the snapshot with the provided ID
func (*Client) GetInstanceStats ¶
GetInstanceStats gets the template with the provided ID
func (*Client) GetInstanceStatsByDate ¶
func (c *Client) GetInstanceStatsByDate(ctx context.Context, linodeID int, year int, month int) (*InstanceStats, error)
GetInstanceStatsByDate gets the template with the provided ID, year, and month
func (*Client) GetInstanceTransfer ¶
GetInstanceTransfer gets the instance's network transfer pool statistics for the current month.
func (*Client) GetInstanceTransferMonthly ¶
func (c *Client) GetInstanceTransferMonthly(ctx context.Context, linodeID, year, month int) (*MonthlyInstanceTransferStats, error)
GetInstanceTransferMonthly gets the instance's network transfer pool statistics for a specific month.
func (*Client) GetInterface ¶
func (*Client) GetInterfaceSettings ¶
func (*Client) GetInvoice ¶
GetInvoice gets a single Invoice matching the provided ID
func (*Client) GetKernel ¶
GetKernel gets the kernel with the provided ID. This endpoint is cached by default.
func (*Client) GetLKECluster ¶
GetLKECluster gets the lkeCluster with the provided ID
func (*Client) GetLKEClusterAPLConsoleURL ¶
GetLKEClusterAPLConsoleURL gets the URL of this cluster's APL installation if this cluster is APL-enabled.
func (*Client) GetLKEClusterAPLHealthCheckURL ¶
GetLKEClusterAPLHealthCheckURL gets the URL of this cluster's APL health check endpoint if this cluster is APL-enabled.
func (*Client) GetLKEClusterControlPlaneACL ¶
func (c *Client) GetLKEClusterControlPlaneACL(ctx context.Context, clusterID int) (*LKEClusterControlPlaneACLResponse, error)
GetLKEClusterControlPlaneACL gets the ACL configuration for the given cluster's control plane.
func (*Client) GetLKEClusterKubeconfig ¶
func (c *Client) GetLKEClusterKubeconfig(ctx context.Context, clusterID int) (*LKEClusterKubeconfig, error)
GetLKEClusterKubeconfig gets the Kubeconfig for the LKE Cluster specified
func (*Client) GetLKENodePool ¶
GetLKENodePool gets the LKENodePool with the provided ID
func (*Client) GetLKENodePoolNode ¶
func (c *Client) GetLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) (*LKENodePoolLinode, error)
GetLKENodePoolNode gets the LKENodePoolLinode with the provided ID
func (*Client) GetLKETierVersion ¶
func (c *Client) GetLKETierVersion(ctx context.Context, tier string, versionID string) (*LKETierVersion, error)
GetLKETierVersion gets the details of a specific LKE tier version. NOTE: This endpoint may not currently be available to all users and can only be used with v4beta.
func (*Client) GetLKEVersion ¶
GetLKEVersion gets details about a specific LKE Version. This endpoint is cached by default.
func (*Client) GetLock ¶
GetLock gets a single Lock with the provided ID NOTE: Locks can only be used with v4beta.
func (*Client) GetLongviewClient ¶
GetLongviewClient gets the template with the provided ID
func (*Client) GetLongviewPlan ¶
func (c *Client) GetLongviewPlan(ctx context.Context) (*LongviewPlan, error)
GetLongviewPlan gets the template with the provided ID
func (*Client) GetLongviewSubscription ¶
func (c *Client) GetLongviewSubscription(ctx context.Context, templateID string) (*LongviewSubscription, error)
GetLongviewSubscription gets the template with the provided ID
func (*Client) GetMonitorAlertDefinition ¶
func (c *Client) GetMonitorAlertDefinition( ctx context.Context, serviceType string, alertID int, ) (*AlertDefinition, error)
GetMonitorAlertDefinition gets an ACLP Monitor Alert Definition.
func (*Client) GetMonitorDashboard ¶
func (c *Client) GetMonitorDashboard(ctx context.Context, dashboardID int) (*MonitorDashboard, error)
GetMonitorDashboard gets an ACLP Monitor Dashboard for a given dashboardID
func (*Client) GetMonitorServiceByType ¶
func (c *Client) GetMonitorServiceByType(ctx context.Context, serviceType string) (*MonitorService, error)
GetMonitorServiceByType gets a monitor service by a given service_type
func (*Client) GetMySQLDatabase ¶
GetMySQLDatabase returns a single MySQL Database matching the id
func (*Client) GetMySQLDatabaseConfig ¶
func (c *Client) GetMySQLDatabaseConfig(ctx context.Context) (*MySQLDatabaseConfigInfo, error)
GetMySQLDatabaseConfig returns a detailed list of all the configuration options for MySQL Databases
func (*Client) GetMySQLDatabaseCredentials ¶
func (c *Client) GetMySQLDatabaseCredentials(ctx context.Context, databaseID int) (*MySQLDatabaseCredential, error)
GetMySQLDatabaseCredentials returns the Root Credentials for the given MySQL Database
func (*Client) GetMySQLDatabaseSSL ¶
func (c *Client) GetMySQLDatabaseSSL(ctx context.Context, databaseID int) (*MySQLDatabaseSSL, error)
GetMySQLDatabaseSSL returns the SSL Certificate for the given MySQL Database
func (*Client) GetNodeBalancer ¶
GetNodeBalancer gets the NodeBalancer with the provided ID
func (*Client) GetNodeBalancerConfig ¶
func (c *Client) GetNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int) (*NodeBalancerConfig, error)
GetNodeBalancerConfig gets the template with the provided ID
func (*Client) GetNodeBalancerNode ¶
func (c *Client) GetNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int) (*NodeBalancerNode, error)
GetNodeBalancerNode gets the template with the provided ID
func (*Client) GetNodeBalancerStats ¶
func (c *Client) GetNodeBalancerStats(ctx context.Context, nodebalancerID int) (*NodeBalancerStats, error)
GetNodeBalancerStats gets the template with the provided ID
func (*Client) GetNodeBalancerVPCConfig ¶
func (c *Client) GetNodeBalancerVPCConfig(ctx context.Context, nodebalancerID int, vpcID int) (*NodeBalancerVPCConfig, error)
GetNodeBalancerVPCConfig gets the NodeBalancer VPC config with the specified id
func (*Client) GetOAuthClient ¶
GetOAuthClient gets the OAuthClient with the provided ID
func (*Client) GetObjectStorageBucket ¶
func (c *Client) GetObjectStorageBucket(ctx context.Context, regionID, label string) (*ObjectStorageBucket, error)
GetObjectStorageBucket gets the ObjectStorageBucket with the provided label
func (*Client) GetObjectStorageBucketAccess ¶
func (c *Client) GetObjectStorageBucketAccess(ctx context.Context, regionID, label string) (*ObjectStorageBucketAccess, error)
GetObjectStorageBucketAccess gets the current access config for a bucket
func (*Client) GetObjectStorageBucketCert ¶
func (c *Client) GetObjectStorageBucketCert(ctx context.Context, regionID, bucket string) (*ObjectStorageBucketCert, error)
GetObjectStorageBucketCert gets an ObjectStorageBucketCert
func (*Client) GetObjectStorageGlobalQuota ¶
func (c *Client) GetObjectStorageGlobalQuota(ctx context.Context, quotaID string) (*ObjectStorageGlobalQuota, error)
GetObjectStorageGlobalQuota gets information about a specific global/account-level ObjectStorage-related quota on your account.
func (*Client) GetObjectStorageGlobalQuotaUsage ¶
func (c *Client) GetObjectStorageGlobalQuotaUsage(ctx context.Context, quotaID string) (*ObjectStorageGlobalQuotaUsage, error)
GetObjectStorageGlobalQuotaUsage gets usage data for a specific global/account-level ObjectStorage quota resource.
func (*Client) GetObjectStorageKey ¶
GetObjectStorageKey gets the object storage key with the provided ID
func (*Client) GetObjectStorageObjectACLConfig ¶
func (*Client) GetObjectStorageQuota ¶
func (c *Client) GetObjectStorageQuota(ctx context.Context, quotaID string) (*ObjectStorageQuota, error)
GetObjectStorageQuota gets information about a specific ObjectStorage-related quota on your account.
func (*Client) GetObjectStorageQuotaUsage ¶
func (c *Client) GetObjectStorageQuotaUsage(ctx context.Context, quotaID string) (*ObjectStorageQuotaUsage, error)
GetObjectStorageQuotaUsage gets usage data for a specific ObjectStorage Quota resource you can have on your account and the current usage for that resource.
func (*Client) GetObjectStorageTransfer ¶
func (c *Client) GetObjectStorageTransfer(ctx context.Context) (*ObjectStorageTransfer, error)
GetObjectStorageTransfer returns the amount of outbound data transferred used by the Account
func (*Client) GetPayment ¶
GetPayment gets the payment with the provided ID
func (*Client) GetPaymentMethod ¶
GetPaymentMethod gets the payment method with the provided ID
func (*Client) GetPlacementGroup ¶
GetPlacementGroup gets a placement group with the specified ID.
func (*Client) GetPollDelay ¶
GetPollDelay gets the number of milliseconds to wait between events or status polls. Affects all WaitFor* functions and retries.
func (*Client) GetPostgresDatabase ¶
func (c *Client) GetPostgresDatabase(ctx context.Context, databaseID int) (*PostgresDatabase, error)
GetPostgresDatabase returns a single Postgres Database matching the id
func (*Client) GetPostgresDatabaseConfig ¶
func (c *Client) GetPostgresDatabaseConfig(ctx context.Context) (*PostgresDatabaseConfigInfo, error)
GetPostgresDatabaseConfig returns a detailed list of all the configuration options for PostgreSQL Databases
func (*Client) GetPostgresDatabaseCredentials ¶
func (c *Client) GetPostgresDatabaseCredentials(ctx context.Context, databaseID int) (*PostgresDatabaseCredential, error)
GetPostgresDatabaseCredentials returns the Root Credentials for the given Postgres Database
func (*Client) GetPostgresDatabaseSSL ¶
func (c *Client) GetPostgresDatabaseSSL(ctx context.Context, databaseID int) (*PostgresDatabaseSSL, error)
GetPostgresDatabaseSSL returns the SSL Certificate for the given Postgres Database
func (*Client) GetPrefixList ¶
GetPrefixList fetches a single Prefix List by its ID.
func (*Client) GetProfile ¶
GetProfile returns the Profile of the authenticated user
func (*Client) GetProfileApp ¶
GetProfileApp returns the ProfileApp with the provided id
func (*Client) GetProfileDevice ¶
GetProfileDevice returns the ProfileDevice with the provided id
func (*Client) GetProfileLogin ¶
GetProfileLogin returns the Profile Login of the authenticated user
func (*Client) GetProfilePreferences ¶
func (c *Client) GetProfilePreferences(ctx context.Context) (*ProfilePreferences, error)
GetProfilePreferences retrieves the user preferences for the current User
func (*Client) GetRegion ¶
GetRegion gets the template with the provided ID. This endpoint is cached by default.
func (*Client) GetRegionAvailability ¶
func (c *Client) GetRegionAvailability(ctx context.Context, regionID string) ([]RegionAvailability, error)
GetRegionAvailability gets availability for all plans in the provided region. This endpoint is cached by default.
func (*Client) GetRegionVPCAvailability ¶
func (c *Client) GetRegionVPCAvailability(ctx context.Context, regionID string) (*RegionVPCAvailability, error)
GetRegionVPCAvailability gets VPC availability data for a single region. NOTE: IPv6 VPCs may not currently be available to all users.
func (*Client) GetReservedIPAddress ¶
GetReservedIPAddress retrieves details of a specific reserved IP address NOTE: Reserved IP feature may not currently be available to all users.
func (*Client) GetStackscript ¶
GetStackscript gets the Stackscript with the provided ID
func (*Client) GetType ¶
GetType gets the type with the provided ID. This endpoint is cached by default.
func (*Client) GetUserAccountPermissions ¶
GetUserAccountPermissions returns the account permissions for username
func (*Client) GetUserGrants ¶
func (*Client) GetUserRolePermissions ¶
func (c *Client) GetUserRolePermissions(ctx context.Context, username string) (*UserRolePermissions, error)
GetUserRolePermissions returns any role permissions for username
func (*Client) GetVLANIPAMAddress ¶
func (c *Client) GetVLANIPAMAddress(ctx context.Context, linodeID int, vlanLabel string) (string, error)
GetVLANIPAMAddress returns the IPAM Address for a given VLAN Label as a string (10.0.0.1/24)
func (*Client) GetVPCSubnet ¶
func (*Client) GrantsList ¶
func (c *Client) GrantsList(ctx context.Context) (*GrantsListResponse, error)
func (*Client) ImageShareGroupAddImages ¶
func (c *Client) ImageShareGroupAddImages( ctx context.Context, imageShareGroupID int, opts ImageShareGroupAddImagesOptions, ) ([]ImageShareEntry, error)
ImageShareGroupAddImages allows the producer to add images to a specific ImageShareGroup. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupAddMember ¶
func (c *Client) ImageShareGroupAddMember( ctx context.Context, imageShareGroupID int, opts ImageShareGroupAddMemberOptions, ) (*ImageShareGroupMember, error)
ImageShareGroupAddMember allows the producer to add members to a specific ImageShareGroup. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupCreateToken ¶
func (c *Client) ImageShareGroupCreateToken(ctx context.Context, opts ImageShareGroupCreateTokenOptions) (*ImageShareGroupCreateTokenResponse, error)
ImageShareGroupCreateToken allows the consumer to create a single-use ImageShareGroup membership token for a specific ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupGetByToken ¶
func (c *Client) ImageShareGroupGetByToken(ctx context.Context, tokenUUID string) (*ConsumerImageShareGroup, error)
ImageShareGroupGetByToken gets information about the ImageShareGroup that the consumer's specified token has been accepted into. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupGetImageShareEntriesByToken ¶
func (c *Client) ImageShareGroupGetImageShareEntriesByToken(ctx context.Context, tokenUUID string, opts *ListOptions) ([]ImageShareEntry, error)
ImageShareGroupGetImageShareEntriesByToken lists the shared image entries in the ImageShareGroup that the consumer's specified token has been accepted into. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupGetMember ¶
func (c *Client) ImageShareGroupGetMember( ctx context.Context, imageShareGroupID int, tokenUUID string, ) (*ImageShareGroupMember, error)
ImageShareGroupGetMember gets the details of the specified ImageShareGroupMember in the specified ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupGetToken ¶
func (c *Client) ImageShareGroupGetToken(ctx context.Context, tokenUUID string) (*ImageShareGroupToken, error)
ImageShareGroupGetToken gets information about the specified ImageShareGroupToken created by the user. The tokens themselves are only visible once upon creation. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupListImageShareEntries ¶
func (c *Client) ImageShareGroupListImageShareEntries( ctx context.Context, imageShareGroupID int, opts *ListOptions, ) ([]ImageShareEntry, error)
ImageShareGroupListImageShareEntries lists the shared image entries of a specified ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupListMembers ¶
func (c *Client) ImageShareGroupListMembers( ctx context.Context, imageShareGroupID int, opts *ListOptions, ) ([]ImageShareGroupMember, error)
ImageShareGroupListMembers lists the ImageShareGroupMembers of the provided ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupListTokens ¶
func (c *Client) ImageShareGroupListTokens(ctx context.Context, opts *ListOptions) ([]ImageShareGroupToken, error)
ImageShareGroupListTokens lists information about all the ImageShareGroupTokens created by the user. The tokens themselves are only visible once upon creation. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupRemoveImage ¶
func (c *Client) ImageShareGroupRemoveImage( ctx context.Context, imageShareGroupID int, imageID string, ) error
ImageShareGroupRemoveImage allows the producer to remove access to an image within an ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupRemoveMember ¶
func (c *Client) ImageShareGroupRemoveMember( ctx context.Context, imageShareGroupID int, tokenUUID string, ) error
ImageShareGroupRemoveMember allows the producer to remove an individual ImageShareGroupMember that’s been accepted into the ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupRemoveToken ¶
ImageShareGroupRemoveToken allows the consumer to remove an individual ImageShareGroupToken from an ImageShareGroup this token has been accepted into. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupUpdateImageShareEntry ¶
func (c *Client) ImageShareGroupUpdateImageShareEntry( ctx context.Context, imageShareGroupID int, imageID string, opts ImageShareGroupUpdateImageOptions, ) (*ImageShareEntry, error)
ImageShareGroupUpdateImageShareEntry allows the producer to update the description and label of a specified ImageShareEntry within the specified ImageShareGroup. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupUpdateMember ¶
func (c *Client) ImageShareGroupUpdateMember( ctx context.Context, imageShareGroupID int, tokenUUID string, opts ImageShareGroupUpdateMemberOptions, ) (*ImageShareGroupMember, error)
ImageShareGroupUpdateMember allows the producer to update the label associated with the specified ImageShareGroupMember in the specified ImageShareGroup owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImageShareGroupUpdateToken ¶
func (c *Client) ImageShareGroupUpdateToken(ctx context.Context, tokenUUID string, opts ImageShareGroupUpdateTokenOptions) (*ImageShareGroupToken, error)
ImageShareGroupUpdateToken allows the consumer to update an ImageShareGroupToken's label. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ImportDomain ¶
ImportDomain imports a domain zone from a remote nameserver.
func (*Client) InstancesAssignIPs ¶
func (c *Client) InstancesAssignIPs(ctx context.Context, opts LinodesAssignIPsOptions) error
InstancesAssignIPs assigns multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region. This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.
func (*Client) InvalidateCache ¶
func (c *Client) InvalidateCache()
InvalidateCache clears all cached responses for all endpoints.
func (*Client) InvalidateCacheEndpoint ¶
InvalidateCacheEndpoint invalidates a single cached endpoint.
func (*Client) JoinBetaProgram ¶
func (c *Client) JoinBetaProgram(ctx context.Context, opts AccountBetaProgramCreateOpts) (*AccountBetaProgram, error)
JoinBetaProgram enrolls an account into a beta program.
func (*Client) ListAccountAvailabilities ¶
func (c *Client) ListAccountAvailabilities(ctx context.Context, opts *ListOptions) ([]AccountAvailability, error)
ListAccountAvailabilities lists all regions and the resource availabilities to the account.
func (*Client) ListAccountBetaPrograms ¶
func (c *Client) ListAccountBetaPrograms(ctx context.Context, opts *ListOptions) ([]AccountBetaProgram, error)
ListAccountBetaPrograms lists all beta programs an account is enrolled in.
func (*Client) ListAccountServiceTransfer ¶
func (c *Client) ListAccountServiceTransfer(ctx context.Context, opts *ListOptions) ([]AccountServiceTransfer, error)
ListAccountServiceTransfer gets a paginated list of AccountServiceTransfer for the Account.
func (*Client) ListAlertChannels ¶
func (c *Client) ListAlertChannels(ctx context.Context, opts *ListOptions) ([]AlertChannel, error)
ListAlertChannels gets a paginated list of Alert Channels.
func (*Client) ListAllMonitorAlertDefinitions ¶
func (c *Client) ListAllMonitorAlertDefinitions( ctx context.Context, opts *ListOptions, ) ([]AlertDefinition, error)
ListAllMonitorAlertDefinitions returns a paginated list of all ACLP Monitor Alert Definitions under this account.
func (*Client) ListAllVPCIPAddresses ¶
ListAllVPCIPAddresses gets the list of all IP addresses of all VPCs in the Linode account.
func (*Client) ListAllVPCIPv6Addresses ¶
func (c *Client) ListAllVPCIPv6Addresses( ctx context.Context, opts *ListOptions, ) ([]VPCIP, error)
ListAllVPCIPv6Addresses gets a list of all IPv6 addresses related to all VPCs accessible by the current Linode account. NOTE: IPv6 VPCs may not currently be available to all users.
func (*Client) ListBetaPrograms ¶
func (c *Client) ListBetaPrograms(ctx context.Context, opts *ListOptions) ([]BetaProgram, error)
ListBetaPrograms lists active beta programs
func (*Client) ListChildAccounts ¶
func (c *Client) ListChildAccounts(ctx context.Context, opts *ListOptions) ([]ChildAccount, error)
ListChildAccounts lists child accounts under the current account. NOTE: Parent/Child related features may not be generally available.
func (*Client) ListDatabaseEngines ¶
func (c *Client) ListDatabaseEngines(ctx context.Context, opts *ListOptions) ([]DatabaseEngine, error)
ListDatabaseEngines lists all Database Engines. This endpoint is cached by default.
func (*Client) ListDatabaseTypes ¶
func (c *Client) ListDatabaseTypes(ctx context.Context, opts *ListOptions) ([]DatabaseType, error)
ListDatabaseTypes lists all Types of Database provided in Linode Managed Databases. This endpoint is cached by default.
func (*Client) ListDatabases ¶
ListDatabases lists all Database instances in Linode Managed Databases for the account
func (*Client) ListDomainRecords ¶
func (c *Client) ListDomainRecords(ctx context.Context, domainID int, opts *ListOptions) ([]DomainRecord, error)
ListDomainRecords lists DomainRecords
func (*Client) ListDomains ¶
ListDomains lists Domains
func (*Client) ListEntities ¶
func (c *Client) ListEntities(ctx context.Context, opts *ListOptions) ([]LinodeEntity, error)
ListEntities returns a paginated list of all entities
func (*Client) ListEvents ¶
ListEvents gets a collection of Event objects representing actions taken on the Account. The Events returned depend on the token grants and the grants of the associated user.
func (*Client) ListFirewallDevices ¶
func (c *Client) ListFirewallDevices(ctx context.Context, firewallID int, opts *ListOptions) ([]FirewallDevice, error)
ListFirewallDevices get devices associated with a given Firewall
func (*Client) ListFirewallRuleSets ¶
func (c *Client) ListFirewallRuleSets(ctx context.Context, opts *ListOptions) ([]FirewallRuleSet, error)
ListFirewallRuleSets returns a paginated list of Rule Sets. Supports filtering (e.g., by label) via ListOptions.Filter.
func (*Client) ListFirewallTemplates ¶
func (c *Client) ListFirewallTemplates(ctx context.Context, opts *ListOptions) ([]FirewallTemplate, error)
ListFirewallTemplates gets all available firewall templates for the account. NOTE: This feature may not currently be available to all users.
func (*Client) ListFirewalls ¶
ListFirewalls returns a paginated list of Cloud Firewalls
func (*Client) ListIPAddresses ¶
func (c *Client) ListIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error)
ListIPAddresses lists IPAddresses.
func (*Client) ListIPv6Pools ¶
ListIPv6Pools lists IPv6Pools
func (*Client) ListIPv6Ranges ¶
ListIPv6Ranges lists IPv6Ranges
func (*Client) ListImageShareGroups ¶
func (c *Client) ListImageShareGroups( ctx context.Context, opts *ListOptions, ) ([]ProducerImageShareGroup, error)
ListImageShareGroups lists all ImageShareGroups owned by the producer. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ListImageShareGroupsContainingPrivateImage ¶
func (c *Client) ListImageShareGroupsContainingPrivateImage( ctx context.Context, privateImageID string, opts *ListOptions, ) ([]ProducerImageShareGroup, error)
ListImageShareGroupsContainingPrivateImage lists all current ImageShareGroups owned by the producer where the given private image is present. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) ListImages ¶
ListImages lists Images.
func (*Client) ListInstanceConfigInterfaces ¶
func (*Client) ListInstanceConfigs ¶
func (c *Client) ListInstanceConfigs(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceConfig, error)
ListInstanceConfigs lists InstanceConfigs
func (*Client) ListInstanceDisks ¶
func (c *Client) ListInstanceDisks(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceDisk, error)
ListInstanceDisks lists InstanceDisks
func (*Client) ListInstanceFirewalls ¶
func (c *Client) ListInstanceFirewalls(ctx context.Context, linodeID int, opts *ListOptions) ([]Firewall, error)
ListInstanceFirewalls returns a paginated list of Cloud Firewalls for linodeID
func (*Client) ListInstanceNodeBalancers ¶
func (c *Client) ListInstanceNodeBalancers(ctx context.Context, linodeID int, opts *ListOptions) ([]NodeBalancer, error)
ListInstanceNodeBalancers lists NodeBalancers that the provided instance is a node in
func (*Client) ListInstanceVolumes ¶
func (c *Client) ListInstanceVolumes(ctx context.Context, linodeID int, opts *ListOptions) ([]Volume, error)
ListInstanceVolumes lists InstanceVolumes
func (*Client) ListInstances ¶
ListInstances lists linode instances
func (*Client) ListInterfaceFirewalls ¶
func (*Client) ListInterfaces ¶
func (c *Client) ListInterfaces(ctx context.Context, linodeID int, opts *ListOptions) ([]LinodeInterface, error)
func (*Client) ListInvoiceItems ¶
func (c *Client) ListInvoiceItems(ctx context.Context, invoiceID int, opts *ListOptions) ([]InvoiceItem, error)
ListInvoiceItems gets the invoice items associated with a specific Invoice
func (*Client) ListInvoices ¶
ListInvoices gets a paginated list of Invoices against the Account
func (*Client) ListKernels ¶
func (c *Client) ListKernels(ctx context.Context, opts *ListOptions) ([]LinodeKernel, error)
ListKernels lists linode kernels. This endpoint is cached by default.
func (*Client) ListLKEClusterAPIEndpoints ¶
func (c *Client) ListLKEClusterAPIEndpoints(ctx context.Context, clusterID int, opts *ListOptions) ([]LKEClusterAPIEndpoint, error)
ListLKEClusterAPIEndpoints gets the API Endpoint for the LKE Cluster specified
func (*Client) ListLKEClusters ¶
func (c *Client) ListLKEClusters(ctx context.Context, opts *ListOptions) ([]LKECluster, error)
ListLKEClusters lists LKEClusters
func (*Client) ListLKENodePools ¶
func (c *Client) ListLKENodePools(ctx context.Context, clusterID int, opts *ListOptions) ([]LKENodePool, error)
ListLKENodePools lists LKENodePools
func (*Client) ListLKETierVersions ¶
func (c *Client) ListLKETierVersions(ctx context.Context, tier string, opts *ListOptions) ([]LKETierVersion, error)
ListLKETierVersions lists all Kubernetes versions available given tier through LKE. NOTE: This endpoint may not currently be available to all users and can only be used with v4beta.
func (*Client) ListLKETypes ¶
ListLKETypes lists LKE types. This endpoint is cached by default.
func (*Client) ListLKEVersions ¶
func (c *Client) ListLKEVersions(ctx context.Context, opts *ListOptions) ([]LKEVersion, error)
ListLKEVersions lists the Kubernetes versions available through LKE. This endpoint is cached by default.
func (*Client) ListLocks ¶
ListLocks returns a paginated list of Locks NOTE: Locks can only be used with v4beta.
func (*Client) ListLogins ¶
func (*Client) ListLongviewClients ¶
func (c *Client) ListLongviewClients(ctx context.Context, opts *ListOptions) ([]LongviewClient, error)
ListLongviewClients lists LongviewClients
func (*Client) ListLongviewSubscriptions ¶
func (c *Client) ListLongviewSubscriptions(ctx context.Context, opts *ListOptions) ([]LongviewSubscription, error)
ListLongviewSubscriptions lists LongviewSubscriptions
func (*Client) ListMaintenancePolicies ¶
func (c *Client) ListMaintenancePolicies(ctx context.Context, opts *ListOptions) ([]MaintenancePolicy, error)
ListMaintenancePolicies lists all available maintenance policies that can be applied to Linodes.
func (*Client) ListMaintenances ¶
func (c *Client) ListMaintenances(ctx context.Context, opts *ListOptions) ([]AccountMaintenance, error)
ListMaintenances lists Account Maintenance objects for any entity a user has permissions to view
func (*Client) ListMonitorAlertDefinitionEntities ¶
func (c *Client) ListMonitorAlertDefinitionEntities( ctx context.Context, serviceType string, alertID int, opts *ListOptions, ) ([]AlertDefinitionEntity, error)
ListMonitorAlertDefinitionEntities gets the entities associated with an ACLP Monitor Alert Definition.
func (*Client) ListMonitorAlertDefinitions ¶
func (c *Client) ListMonitorAlertDefinitions( ctx context.Context, serviceType string, opts *ListOptions, ) ([]AlertDefinition, error)
ListMonitorAlertDefinitions returns a paginated list of ACLP Monitor Alert Definitions by service type.
func (*Client) ListMonitorDashboards ¶
func (c *Client) ListMonitorDashboards(ctx context.Context, opts *ListOptions) ([]MonitorDashboard, error)
ListMonitorDashboards lists all the ACLP Monitor Dashboards
func (*Client) ListMonitorDashboardsByServiceType ¶
func (c *Client) ListMonitorDashboardsByServiceType(ctx context.Context, serviceType string, opts *ListOptions) ([]MonitorDashboard, error)
ListMonitorDashboardsByServiceType lists ACLP Monitor Dashboards for a given serviceType
func (*Client) ListMonitorMetricsDefinitionByServiceType ¶
func (c *Client) ListMonitorMetricsDefinitionByServiceType(ctx context.Context, serviceType string, opts *ListOptions) ([]MonitorMetricsDefinition, error)
ListMonitorMetricsDefinitionByServiceType lists metric definitions
func (*Client) ListMonitorServices ¶
func (c *Client) ListMonitorServices(ctx context.Context, opts *ListOptions) ([]MonitorService, error)
ListMonitorServices lists all the registered ACLP MonitorServices
func (*Client) ListMySQLDatabases ¶
func (c *Client) ListMySQLDatabases(ctx context.Context, opts *ListOptions) ([]MySQLDatabase, error)
ListMySQLDatabases lists all MySQL Databases associated with the account
func (*Client) ListNetworkTransferPrices ¶
func (c *Client) ListNetworkTransferPrices(ctx context.Context, opts *ListOptions) ([]NetworkTransferPrice, error)
ListNetworkTransferPrices lists network transfer prices. This endpoint is cached by default.
func (*Client) ListNodeBalancerConfigs ¶
func (c *Client) ListNodeBalancerConfigs(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]NodeBalancerConfig, error)
ListNodeBalancerConfigs lists NodeBalancerConfigs
func (*Client) ListNodeBalancerFirewalls ¶
func (c *Client) ListNodeBalancerFirewalls(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]Firewall, error)
ListNodeBalancerFirewalls returns a paginated list of Cloud Firewalls for nodebalancerID
func (*Client) ListNodeBalancerNodes ¶
func (c *Client) ListNodeBalancerNodes(ctx context.Context, nodebalancerID int, configID int, opts *ListOptions) ([]NodeBalancerNode, error)
ListNodeBalancerNodes lists NodeBalancerNodes
func (*Client) ListNodeBalancerTypes ¶
func (c *Client) ListNodeBalancerTypes(ctx context.Context, opts *ListOptions) ([]NodeBalancerType, error)
ListNodeBalancerTypes lists NodeBalancer types. This endpoint is cached by default.
func (*Client) ListNodeBalancerVPCConfigs ¶
func (c *Client) ListNodeBalancerVPCConfigs(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]NodeBalancerVPCConfig, error)
ListNodeBalancerVPCConfigs lists NodeBalancer VPC configs
func (*Client) ListNodeBalancers ¶
func (c *Client) ListNodeBalancers(ctx context.Context, opts *ListOptions) ([]NodeBalancer, error)
ListNodeBalancers lists NodeBalancers
func (*Client) ListNotifications ¶
func (c *Client) ListNotifications(ctx context.Context, opts *ListOptions) ([]Notification, error)
ListNotifications gets a collection of Notification objects representing important, often time-sensitive items related to the Account. An account cannot interact directly with Notifications, and a Notification will disappear when the circumstances causing it have been resolved. For example, if the account has an important Ticket open, a response to the Ticket will dismiss the Notification.
func (*Client) ListOAuthClients ¶
func (c *Client) ListOAuthClients(ctx context.Context, opts *ListOptions) ([]OAuthClient, error)
ListOAuthClients lists OAuthClients
func (*Client) ListObjectStorageBucketContents ¶
func (c *Client) ListObjectStorageBucketContents( ctx context.Context, regionID, label string, params *ObjectStorageBucketListContentsParams, ) (*ObjectStorageBucketContent, error)
ListObjectStorageBucketContents lists the contents of the specified ObjectStorageBucket
func (*Client) ListObjectStorageBuckets ¶
func (c *Client) ListObjectStorageBuckets(ctx context.Context, opts *ListOptions) ([]ObjectStorageBucket, error)
ListObjectStorageBuckets lists ObjectStorageBuckets
func (*Client) ListObjectStorageBucketsInRegion ¶
func (c *Client) ListObjectStorageBucketsInRegion(ctx context.Context, opts *ListOptions, regionID string) ([]ObjectStorageBucket, error)
ListObjectStorageBucketsInRegion lists all ObjectStorageBuckets in the specified region
func (*Client) ListObjectStorageEndpoints ¶
func (c *Client) ListObjectStorageEndpoints(ctx context.Context, opts *ListOptions) ([]ObjectStorageEndpoint, error)
ListObjectStorageEndpoints lists all endpoints in all regions
func (*Client) ListObjectStorageGlobalQuotas ¶
func (c *Client) ListObjectStorageGlobalQuotas(ctx context.Context, opts *ListOptions) ([]ObjectStorageGlobalQuota, error)
ListObjectStorageGlobalQuotas lists the global/account-level ObjectStorage-related quotas applied to your account.
func (*Client) ListObjectStorageKeys ¶
func (c *Client) ListObjectStorageKeys(ctx context.Context, opts *ListOptions) ([]ObjectStorageKey, error)
ListObjectStorageKeys lists ObjectStorageKeys
func (*Client) ListObjectStorageQuotas ¶
func (c *Client) ListObjectStorageQuotas(ctx context.Context, opts *ListOptions) ([]ObjectStorageQuota, error)
ListObjectStorageQuotas lists the active ObjectStorage-related quotas applied to your account.
func (*Client) ListPaymentMethods ¶
func (c *Client) ListPaymentMethods(ctx context.Context, opts *ListOptions) ([]PaymentMethod, error)
ListPaymentMethods lists PaymentMethods
func (*Client) ListPayments ¶
ListPayments lists Payments
func (*Client) ListPlacementGroups ¶
func (c *Client) ListPlacementGroups( ctx context.Context, options *ListOptions, ) ([]PlacementGroup, error)
ListPlacementGroups lists placement groups under the current account matching the given list options.
func (*Client) ListPostgresDatabases ¶
func (c *Client) ListPostgresDatabases(ctx context.Context, opts *ListOptions) ([]PostgresDatabase, error)
ListPostgresDatabases lists all Postgres Databases associated with the account
func (*Client) ListPrefixLists ¶
func (c *Client) ListPrefixLists(ctx context.Context, opts *ListOptions) ([]PrefixList, error)
ListPrefixLists returns a paginated collection of Prefix Lists.
func (*Client) ListProfileApps ¶
func (c *Client) ListProfileApps(ctx context.Context, opts *ListOptions) ([]ProfileApp, error)
ListProfileApps lists ProfileApps that have access to the Account
func (*Client) ListProfileDevices ¶
func (c *Client) ListProfileDevices(ctx context.Context, opts *ListOptions) ([]ProfileDevice, error)
ListProfileDevices lists ProfileDevices for the User
func (*Client) ListProfileLogins ¶
func (c *Client) ListProfileLogins(ctx context.Context, opts *ListOptions) ([]ProfileLogin, error)
ListProfileLogins lists Profile Logins of the authenticated user
func (*Client) ListRegions ¶
ListRegions lists Regions. This endpoint is cached by default.
func (*Client) ListRegionsAvailability ¶
func (c *Client) ListRegionsAvailability(ctx context.Context, opts *ListOptions) ([]RegionAvailability, error)
ListRegionsAvailability lists Regions. This endpoint is cached by default.
func (*Client) ListRegionsVPCAvailability ¶
func (c *Client) ListRegionsVPCAvailability(ctx context.Context, opts *ListOptions) ([]RegionVPCAvailability, error)
ListRegionsVPCAvailability lists VPC availability data for all regions. NOTE: IPv6 VPCs may not currently be available to all users.
func (*Client) ListReservedIPAddresses ¶
func (c *Client) ListReservedIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error)
ListReservedIPAddresses retrieves a list of reserved IP addresses NOTE: Reserved IP feature may not currently be available to all users.
func (*Client) ListSSHKeys ¶
ListSSHKeys lists SSHKeys
func (*Client) ListStackscripts ¶
func (c *Client) ListStackscripts(ctx context.Context, opts *ListOptions) ([]Stackscript, error)
ListStackscripts lists Stackscripts
func (*Client) ListTaggedObjects ¶
func (c *Client) ListTaggedObjects(ctx context.Context, label string, opts *ListOptions) (TaggedObjectList, error)
ListTaggedObjects lists Tagged Objects
func (*Client) ListTickets ¶
ListTickets returns a collection of Support Tickets on the Account. Support Tickets can be both tickets opened with Linode for support, as well as tickets generated by Linode regarding the Account. This collection includes all Support Tickets generated on the Account, with open tickets returned first.
func (*Client) ListTokens ¶
ListTokens lists Tokens
func (*Client) ListTypes ¶
func (c *Client) ListTypes(ctx context.Context, opts *ListOptions) ([]LinodeType, error)
ListTypes lists linode types. This endpoint is cached by default.
func (*Client) ListVPCIPAddresses ¶
func (c *Client) ListVPCIPAddresses( ctx context.Context, vpcID int, opts *ListOptions, ) ([]VPCIP, error)
ListVPCIPAddresses gets the list of all IP addresses of a specific VPC.
func (*Client) ListVPCIPv6Addresses ¶
func (c *Client) ListVPCIPv6Addresses( ctx context.Context, vpcID int, opts *ListOptions, ) ([]VPCIP, error)
ListVPCIPv6Addresses gets the list of all IPv6 addresses of a specific VPC. NOTE: IPv6 VPCs may not currently be available to all users.
func (*Client) ListVPCSubnets ¶
func (*Client) ListVolumeTypes ¶
func (c *Client) ListVolumeTypes(ctx context.Context, opts *ListOptions) ([]VolumeType, error)
ListVolumeTypes lists Volume types. This endpoint is cached by default.
func (*Client) ListVolumes ¶
ListVolumes lists Volumes
func (*Client) LoadConfig ¶
func (c *Client) LoadConfig(options *LoadConfigOptions) error
LoadConfig loads a Linode config according to the option's argument. If no options are specified, the following defaults will be used: Path: ~/.config/linode Profile: default
func (*Client) MarkEventsSeen ¶
MarkEventsSeen marks all Events up to and including this Event by ID as seen.
func (*Client) MigrateInstance ¶
func (c *Client) MigrateInstance(ctx context.Context, linodeID int, opts InstanceMigrateOptions) error
MigrateInstance - Migrate an instance
func (*Client) ModifyObjectStorageBucketAccess ¶
func (c *Client) ModifyObjectStorageBucketAccess(ctx context.Context, regionID, label string, opts ObjectStorageBucketModifyAccessOptions) error
ModifyObjectStorageBucketAccess modifies the access configuration for an ObjectStorageBucket
func (Client) NewEventPoller ¶
func (client Client) NewEventPoller( ctx context.Context, id any, entityType EntityType, action EventAction, ) (*EventPoller, error)
NewEventPoller initializes a new Linode event poller. This should be run before the event is triggered as it stores the previous state of the entity's events.
func (Client) NewEventPollerWithSecondary ¶
func (client Client) NewEventPollerWithSecondary( ctx context.Context, id any, primaryEntityType EntityType, secondaryID int, action EventAction, ) (*EventPoller, error)
NewEventPollerWithSecondary initializes a new Linode event poller with for events with a specific secondary entity.
func (Client) NewEventPollerWithoutEntity ¶
func (client Client) NewEventPollerWithoutEntity(entityType EntityType, action EventAction) (*EventPoller, error)
NewEventPollerWithoutEntity initializes a new Linode event poller without a target entity ID. This is useful for create events where the ID of the entity is not yet known. For example: p, _ := client.NewEventPollerWithoutEntity(...) inst, _ := client.CreateInstance(...) p.EntityID = inst.ID ...
func (*Client) PasswordResetInstanceDisk ¶
func (c *Client) PasswordResetInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskPasswordResetOptions) error
PasswordResetInstanceDisk resets the "root" account password on the Instance disk
func (*Client) PatchMySQLDatabase ¶
PatchMySQLDatabase applies security patches and updates to the underlying operating system of the Managed MySQL Database
func (*Client) PatchPostgresDatabase ¶
PatchPostgresDatabase applies security patches and updates to the underlying operating system of the Managed Postgres Database
func (*Client) RebootInstance ¶
func (c *Client) RebootInstance(ctx context.Context, linodeID int, opts InstanceRebootOptions) error
RebootInstance reboots a Linode instance A configID of 0 will cause Linode to choose the last/best config
func (*Client) RebuildInstance ¶
func (c *Client) RebuildInstance(ctx context.Context, linodeID int, opts InstanceRebuildOptions) (*Instance, error)
RebuildInstance Deletes all Disks and Configs on this Linode, then deploys a new Image to this Linode with the given attributes.
func (*Client) RebuildNodeBalancerConfig ¶
func (c *Client) RebuildNodeBalancerConfig( ctx context.Context, nodeBalancerID int, configID int, opts NodeBalancerConfigRebuildOptions, ) (*NodeBalancerConfig, error)
RebuildNodeBalancerConfig updates the NodeBalancer with the specified id
func (*Client) RecycleLKEClusterNodes ¶
RecycleLKEClusterNodes recycles all nodes in all pools of the specified LKE Cluster.
func (*Client) RecycleLKENodePool ¶
RecycleLKENodePool recycles a LKENodePool
func (*Client) RecycleLKENodePoolNode ¶
RecycleLKENodePoolNode recycles a LKENodePoolLinode
func (*Client) RegenerateLKECluster ¶
func (c *Client) RegenerateLKECluster(ctx context.Context, clusterID int, opts LKEClusterRegenerateOptions) (*LKECluster, error)
RegenerateLKECluster regenerates the Kubeconfig file and/or the service account token for the specified LKE Cluster.
func (*Client) RenameInstance ¶
RenameInstance renames an Instance
func (*Client) RenameInstanceConfig ¶
func (c *Client) RenameInstanceConfig(ctx context.Context, linodeID int, configID int, label string) (*InstanceConfig, error)
RenameInstanceConfig renames an InstanceConfig
func (*Client) RenameInstanceDisk ¶
func (c *Client) RenameInstanceDisk(ctx context.Context, linodeID int, diskID int, label string) (*InstanceDisk, error)
RenameInstanceDisk renames an InstanceDisk
func (*Client) ReorderInstanceConfigInterfaces ¶
func (*Client) ReplicateImage ¶
func (c *Client) ReplicateImage(ctx context.Context, imageID string, opts ImageReplicateOptions) (*Image, error)
ReplicateImage replicates an image to a given set of regions.
func (*Client) RequestAccountServiceTransfer ¶
func (c *Client) RequestAccountServiceTransfer(ctx context.Context, opts AccountServiceTransferRequestOptions) (*AccountServiceTransfer, error)
RequestAccountServiceTransfer creates a transfer request for the specified services.
func (*Client) RescueInstance ¶
func (c *Client) RescueInstance(ctx context.Context, linodeID int, opts InstanceRescueOptions) error
RescueInstance reboots an instance into a safe environment for performing many system recovery and disk management tasks. Rescue Mode is based on the Finnix recovery distribution, a self-contained and bootable Linux distribution. You can also use Rescue Mode for tasks other than disaster recovery, such as formatting disks to use different filesystems, copying data between disks, and downloading files from a disk via SSH and SFTP.
func (*Client) ReserveIPAddress ¶
func (c *Client) ReserveIPAddress(ctx context.Context, opts ReserveIPOptions) (*InstanceIP, error)
ReserveIPAddress reserves a new IP address NOTE: Reserved IP feature may not currently be available to all users.
func (*Client) ResetInstancePassword ¶
func (c *Client) ResetInstancePassword(ctx context.Context, linodeID int, opts InstancePasswordResetOptions) error
ResetInstancePassword resets a Linode instance's root password
func (*Client) ResetMySQLDatabaseCredentials ¶
ResetMySQLDatabaseCredentials returns the Root Credentials for the given MySQL Database (may take a few seconds to work)
func (*Client) ResetOAuthClientSecret ¶
ResetOAuthClientSecret resets the OAuth Client secret for a client with a specified id
func (*Client) ResetPostgresDatabaseCredentials ¶
ResetPostgresDatabaseCredentials returns the Root Credentials for the given Postgres Database (may take a few seconds to work)
func (*Client) ResizeInstance ¶
func (c *Client) ResizeInstance(ctx context.Context, linodeID int, opts InstanceResizeOptions) error
ResizeInstance resizes an instance to new Linode type
func (*Client) ResizeInstanceDisk ¶
func (c *Client) ResizeInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskResizeOptions) error
ResizeInstanceDisk resizes the size of the Instance disk
func (*Client) ResizeVolume ¶
ResizeVolume resizes an instance to new Linode type
func (*Client) RestoreInstanceBackup ¶
func (c *Client) RestoreInstanceBackup(ctx context.Context, linodeID int, backupID int, opts RestoreInstanceOptions) error
RestoreInstanceBackup Restores a Linode's Backup to the specified Linode.
func (*Client) ResumeMySQLDatabase ¶
ResumeMySQLDatabase resumes a suspended MySQL Managed Database
func (*Client) ResumePostgresDatabase ¶
ResumePostgresDatabase resumes a suspended PostgreSQL Managed Database
func (*Client) SecurityQuestionsAnswer ¶
func (c *Client) SecurityQuestionsAnswer(ctx context.Context, opts SecurityQuestionsAnswerOptions) error
SecurityQuestionsAnswer adds security question responses for your User.
func (*Client) SecurityQuestionsList ¶
func (c *Client) SecurityQuestionsList(ctx context.Context) (*SecurityQuestionsListResponse, error)
SecurityQuestionsList returns a collection of security questions and their responses, if any, for your User Profile.
func (*Client) SendPhoneNumberVerificationCode ¶
func (c *Client) SendPhoneNumberVerificationCode(ctx context.Context, opts SendPhoneNumberVerificationCodeOptions) error
SendPhoneNumberVerificationCode sends a one-time verification code via SMS message to the submitted phone number.
func (*Client) SetAPIVersion ¶
SetAPIVersion sets the version of the API to interface with
func (*Client) SetBaseURL ¶
func (*Client) SetDefaultPaymentMethod ¶
SetDefaultPaymentMethod sets the payment method with the provided ID as the default
func (*Client) SetGlobalCacheExpiration ¶
SetGlobalCacheExpiration sets the desired time for any cached response to be valid for.
func (*Client) SetHeader ¶
SetHeader sets a custom header to be used in all API requests made with the current client. NOTE: Some headers may be overridden by the individual request functions.
func (*Client) SetPollDelay ¶
SetPollDelay sets the number of milliseconds to wait between events or status polls. Affects all WaitFor* functions and retries.
func (*Client) SetRetries ¶
SetRetries adds retry conditions for "Linode Busy." errors and 429s.
func (*Client) SetRetryAfter ¶
func (c *Client) SetRetryAfter(callback RetryAfter) *Client
SetRetryAfter sets the callback function to be invoked with a failed request to determine wben it should be retried.
func (*Client) SetRetryCount ¶
SetRetryCount sets the maximum retry attempts before aborting.
func (*Client) SetRetryMaxWaitTime ¶
SetRetryMaxWaitTime sets the maximum delay before retrying a request.
func (*Client) SetRetryWaitTime ¶
SetRetryWaitTime sets the default (minimum) delay before retrying a request.
func (*Client) SetRootCertificate ¶
SetRootCertificate adds a root certificate to the underlying TLS client config.
func (*Client) SetToken ¶
SetToken sets the API token for all requests from this client Only necessary if you haven't already provided the http client to NewClient() configured with the token.
func (*Client) SetUserAgent ¶
SetUserAgent sets a custom user-agent for HTTP requests
func (*Client) ShareIPAddresses ¶
func (c *Client) ShareIPAddresses(ctx context.Context, opts IPAddressesShareOptions) error
ShareIPAddresses allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive.
func (*Client) ShutdownInstance ¶
ShutdownInstance - Shutdown an instance
func (*Client) SuspendMySQLDatabase ¶
SuspendMySQLDatabase suspends a MySQL Managed Database, releasing idle resources and keeping only necessary data. All service data is lost if there are no backups available.
func (*Client) SuspendPostgresDatabase ¶
SuspendPostgresDatabase suspends a PostgreSQL Managed Database, releasing idle resources and keeping only necessary data. All service data is lost if there are no backups available.
func (*Client) UnassignPlacementGroupLinodes ¶
func (c *Client) UnassignPlacementGroupLinodes( ctx context.Context, id int, options PlacementGroupUnAssignOptions, ) (*PlacementGroup, error)
UnassignPlacementGroupLinodes un-assigns the specified Linodes from the given placement group.
func (*Client) UpdateAccount ¶
UpdateAccount updates the Account
func (*Client) UpdateAccountSettings ¶
func (c *Client) UpdateAccountSettings(ctx context.Context, opts AccountSettingsUpdateOptions) (*AccountSettings, error)
UpdateAccountSettings updates the settings associated with the account
func (*Client) UpdateDomain ¶
func (c *Client) UpdateDomain(ctx context.Context, domainID int, opts DomainUpdateOptions) (*Domain, error)
UpdateDomain updates the Domain with the specified id
func (*Client) UpdateDomainRecord ¶
func (c *Client) UpdateDomainRecord(ctx context.Context, domainID int, recordID int, opts DomainRecordUpdateOptions) (*DomainRecord, error)
UpdateDomainRecord updates the DomainRecord with the specified id
func (*Client) UpdateFirewall ¶
func (c *Client) UpdateFirewall(ctx context.Context, firewallID int, opts FirewallUpdateOptions) (*Firewall, error)
UpdateFirewall updates a Firewall with the given ID
func (*Client) UpdateFirewallRuleSet ¶
func (c *Client) UpdateFirewallRuleSet(ctx context.Context, rulesetID int, opts FirewallRuleSetUpdateOptions) (*FirewallRuleSet, error)
UpdateFirewallRuleSet updates a Rule Set by ID.
func (*Client) UpdateFirewallRules ¶
func (c *Client) UpdateFirewallRules(ctx context.Context, firewallID int, rules FirewallRulesUpdateOptions) (*FirewallRules, error)
UpdateFirewallRules updates the FirewallRules for the given Firewall
func (*Client) UpdateFirewallSettings ¶
func (c *Client) UpdateFirewallSettings(ctx context.Context, opts FirewallSettingsUpdateOptions) (*FirewallSettings, error)
UpdateFirewallSettings updates the default firewalls for Linodes, Linode VPC and public interfaces, and NodeBalancers.
func (*Client) UpdateIPAddress ¶
func (c *Client) UpdateIPAddress(ctx context.Context, address string, opts IPAddressUpdateOptions) (*InstanceIP, error)
UpdateIPAddress updates the IP address with the specified address.
func (*Client) UpdateImage ¶
func (c *Client) UpdateImage(ctx context.Context, imageID string, opts ImageUpdateOptions) (*Image, error)
UpdateImage updates the Image with the specified id.
func (*Client) UpdateImageShareGroup ¶
func (c *Client) UpdateImageShareGroup( ctx context.Context, imageShareGroupID int, opts ImageShareGroupUpdateOptions, ) (*ProducerImageShareGroup, error)
UpdateImageShareGroup allows the producer to update an existing ImageShareGroup's description and label. NOTE: May not currently be available to all users and can only be used with v4beta.
func (*Client) UpdateInstance ¶
func (c *Client) UpdateInstance(ctx context.Context, linodeID int, opts InstanceUpdateOptions) (*Instance, error)
UpdateInstance updates a Linode instance
func (*Client) UpdateInstanceConfig ¶
func (c *Client) UpdateInstanceConfig(ctx context.Context, linodeID int, configID int, opts InstanceConfigUpdateOptions) (*InstanceConfig, error)
UpdateInstanceConfig update an InstanceConfig for the given Instance
func (*Client) UpdateInstanceConfigInterface ¶
func (c *Client) UpdateInstanceConfigInterface( ctx context.Context, linodeID int, configID int, interfaceID int, opts InstanceConfigInterfaceUpdateOptions, ) (*InstanceConfigInterface, error)
func (*Client) UpdateInstanceDisk ¶
func (c *Client) UpdateInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskUpdateOptions) (*InstanceDisk, error)
UpdateInstanceDisk creates a new InstanceDisk for the given Instance
func (*Client) UpdateInstanceFirewalls ¶
func (c *Client) UpdateInstanceFirewalls(ctx context.Context, linodeID int, opts InstanceFirewallUpdateOptions) ([]Firewall, error)
UpdateInstanceFirewalls updates the Cloud Firewalls for a Linode instance Followup this call with `ListInstanceFirewalls` to verify the changes if necessary.
func (*Client) UpdateInstanceIPAddress ¶
func (c *Client) UpdateInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string, opts InstanceIPAddressUpdateOptions) (*InstanceIP, error)
UpdateInstanceIPAddress updates the IPAddress with the specified instance id and IP address
func (*Client) UpdateInterface ¶
func (c *Client) UpdateInterface(ctx context.Context, linodeID int, interfaceID int, opts LinodeInterfaceUpdateOptions) (*LinodeInterface, error)
func (*Client) UpdateInterfaceSettings ¶
func (c *Client) UpdateInterfaceSettings(ctx context.Context, linodeID int, opts InterfaceSettingsUpdateOptions) (*InterfaceSettings, error)
func (*Client) UpdateLKECluster ¶
func (c *Client) UpdateLKECluster(ctx context.Context, clusterID int, opts LKEClusterUpdateOptions) (*LKECluster, error)
UpdateLKECluster updates the LKECluster with the specified id
func (*Client) UpdateLKEClusterControlPlaneACL ¶
func (c *Client) UpdateLKEClusterControlPlaneACL( ctx context.Context, clusterID int, opts LKEClusterControlPlaneACLUpdateOptions, ) (*LKEClusterControlPlaneACLResponse, error)
UpdateLKEClusterControlPlaneACL updates the ACL configuration for the given cluster's control plane.
func (*Client) UpdateLKENodePool ¶
func (c *Client) UpdateLKENodePool(ctx context.Context, clusterID, poolID int, opts LKENodePoolUpdateOptions) (*LKENodePool, error)
UpdateLKENodePool updates the LKENodePool with the specified id
func (*Client) UpdateLongviewClient ¶
func (c *Client) UpdateLongviewClient(ctx context.Context, clientID int, opts LongviewClientUpdateOptions) (*LongviewClient, error)
UpdateLongviewClient updates a Longview Client
func (*Client) UpdateLongviewPlan ¶
func (c *Client) UpdateLongviewPlan(ctx context.Context, opts LongviewPlanUpdateOptions) (*LongviewPlan, error)
UpdateLongviewPlan updates a Longview Plan
func (*Client) UpdateMonitorAlertDefinition ¶
func (c *Client) UpdateMonitorAlertDefinition( ctx context.Context, serviceType string, alertID int, opts AlertDefinitionUpdateOptions, ) (*AlertDefinition, error)
UpdateMonitorAlertDefinition updates an ACLP Monitor Alert Definition.
func (*Client) UpdateMySQLDatabase ¶
func (c *Client) UpdateMySQLDatabase(ctx context.Context, databaseID int, opts MySQLUpdateOptions) (*MySQLDatabase, error)
UpdateMySQLDatabase updates the given MySQL Database with the provided opts, returns the MySQLDatabase with the new settings
func (*Client) UpdateNodeBalancer ¶
func (c *Client) UpdateNodeBalancer(ctx context.Context, nodebalancerID int, opts NodeBalancerUpdateOptions) (*NodeBalancer, error)
UpdateNodeBalancer updates the NodeBalancer with the specified id
func (*Client) UpdateNodeBalancerConfig ¶
func (c *Client) UpdateNodeBalancerConfig( ctx context.Context, nodebalancerID int, configID int, opts NodeBalancerConfigUpdateOptions, ) (*NodeBalancerConfig, error)
UpdateNodeBalancerConfig updates the NodeBalancerConfig with the specified id
func (*Client) UpdateNodeBalancerNode ¶
func (c *Client) UpdateNodeBalancerNode( ctx context.Context, nodebalancerID int, configID int, nodeID int, opts NodeBalancerNodeUpdateOptions, ) (*NodeBalancerNode, error)
UpdateNodeBalancerNode updates the NodeBalancerNode with the specified id
func (*Client) UpdateOAuthClient ¶
func (c *Client) UpdateOAuthClient(ctx context.Context, clientID string, opts OAuthClientUpdateOptions) (*OAuthClient, error)
UpdateOAuthClient updates the OAuthClient with the specified id
func (*Client) UpdateObjectStorageBucketAccess ¶
func (c *Client) UpdateObjectStorageBucketAccess(ctx context.Context, regionID, label string, opts ObjectStorageBucketUpdateAccessOptions) error
UpdateObjectStorageBucketAccess updates the access configuration for an ObjectStorageBucket
func (*Client) UpdateObjectStorageKey ¶
func (c *Client) UpdateObjectStorageKey(ctx context.Context, keyID int, opts ObjectStorageKeyUpdateOptions) (*ObjectStorageKey, error)
UpdateObjectStorageKey updates the object storage key with the specified id
func (*Client) UpdateObjectStorageObjectACLConfig ¶
func (c *Client) UpdateObjectStorageObjectACLConfig( ctx context.Context, regionID, label string, opts ObjectStorageObjectACLConfigUpdateOptions, ) (*ObjectStorageObjectACLConfig, error)
func (*Client) UpdatePlacementGroup ¶
func (c *Client) UpdatePlacementGroup( ctx context.Context, id int, options PlacementGroupUpdateOptions, ) (*PlacementGroup, error)
UpdatePlacementGroup updates a placement group with the specified ID using the provided options.
func (*Client) UpdatePostgresDatabase ¶
func (c *Client) UpdatePostgresDatabase(ctx context.Context, databaseID int, opts PostgresUpdateOptions) (*PostgresDatabase, error)
UpdatePostgresDatabase updates the given Postgres Database with the provided opts, returns the PostgresDatabase with the new settings
func (*Client) UpdateProfile ¶
UpdateProfile updates the Profile with the specified id
func (*Client) UpdateProfilePreferences ¶
func (c *Client) UpdateProfilePreferences(ctx context.Context, opts ProfilePreferences) (*ProfilePreferences, error)
UpdateProfilePreferences updates the user's preferences with the provided data
func (*Client) UpdateSSHKey ¶
func (c *Client) UpdateSSHKey(ctx context.Context, keyID int, opts SSHKeyUpdateOptions) (*SSHKey, error)
UpdateSSHKey updates the SSHKey with the specified id
func (*Client) UpdateStackscript ¶
func (c *Client) UpdateStackscript(ctx context.Context, scriptID int, opts StackscriptUpdateOptions) (*Stackscript, error)
UpdateStackscript updates the StackScript with the specified id
func (*Client) UpdateToken ¶
func (c *Client) UpdateToken(ctx context.Context, tokenID int, opts TokenUpdateOptions) (*Token, error)
UpdateToken updates the Token with the specified id
func (*Client) UpdateUser ¶
func (c *Client) UpdateUser(ctx context.Context, userID string, opts UserUpdateOptions) (*User, error)
UpdateUser updates the User with the specified id
func (*Client) UpdateUserGrants ¶
func (c *Client) UpdateUserGrants(ctx context.Context, username string, opts UserGrantsUpdateOptions) (*UserGrants, error)
func (*Client) UpdateUserRolePermissions ¶
func (c *Client) UpdateUserRolePermissions(ctx context.Context, username string, opts UserRolePermissionsUpdateOptions) (*UserRolePermissions, error)
UpdateUserRolePermissions updates any role permissions for username
func (*Client) UpdateVPCSubnet ¶
func (*Client) UpdateVolume ¶
func (c *Client) UpdateVolume(ctx context.Context, volumeID int, opts VolumeUpdateOptions) (*Volume, error)
UpdateVolume updates the Volume with the specified id
func (*Client) UpgradeInstance ¶
func (c *Client) UpgradeInstance(ctx context.Context, linodeID int, opts InstanceUpgradeOptions) error
UpgradeInstance upgrades a Linode to its next generation.
func (*Client) UpgradeInterfaces ¶
func (c *Client) UpgradeInterfaces(ctx context.Context, linodeID int, opts LinodeInterfacesUpgradeOptions) (*LinodeInterfacesUpgrade, error)
func (*Client) UploadImage ¶
UploadImage creates and uploads an image.
func (*Client) UploadImageToURL ¶
UploadImageToURL uploads the given image to the given upload URL.
func (*Client) UploadObjectStorageBucketCert ¶
func (c *Client) UploadObjectStorageBucketCert( ctx context.Context, regionID, bucket string, opts ObjectStorageBucketCertUploadOptions, ) (*ObjectStorageBucketCert, error)
UploadObjectStorageBucketCert uploads a TLS/SSL Cert to be used with an Object Storage Bucket.
func (*Client) UseProfile ¶
UseProfile switches client to use the specified profile. The specified profile must be already be loaded using client.LoadConfig(...)
func (*Client) UseURL ¶
UseURL parses the individual components of the given API URL and configures the client accordingly. For example, a valid URL. For example:
client.UseURL("https://api.test.linode.com/v4beta")
func (*Client) VerifyPhoneNumber ¶
func (c *Client) VerifyPhoneNumber(ctx context.Context, opts VerifyPhoneNumberOptions) error
VerifyPhoneNumber verifies a phone number by confirming the one-time code received via SMS message after accessing the Phone Verification Code Send command.
func (Client) WaitForAlertDefinitionStatus ¶
func (client Client) WaitForAlertDefinitionStatus( ctx context.Context, status AlertDefinitionStatus, serviceType string, alertID int, ) (*AlertDefinition, error)
WaitForAlertDefinitionStatus waits for the Alert Definition to reach the specified status
func (Client) WaitForDatabaseStatus ¶
func (client Client) WaitForDatabaseStatus( ctx context.Context, dbID int, dbEngine DatabaseEngineType, status DatabaseStatus, ) error
WaitForDatabaseStatus waits for the provided database to have the given status.
func (Client) WaitForEventFinished ¶
func (client Client) WaitForEventFinished( ctx context.Context, id any, entityType EntityType, action EventAction, minStart time.Time, ) (*Event, error)
WaitForEventFinished waits for an entity action to reach the 'finished' state before returning. If the event indicates a failure both the failed event and the error will be returned. nolint
func (Client) WaitForImageRegionStatus ¶
func (client Client) WaitForImageRegionStatus(ctx context.Context, imageID, region string, status ImageRegionStatus) (*Image, error)
WaitForImageRegionStatus waits for an Image's replica to reach the desired state before returning.
func (Client) WaitForImageStatus ¶
func (client Client) WaitForImageStatus(ctx context.Context, imageID string, status ImageStatus) (*Image, error)
WaitForImageStatus waits for the Image to reach the desired state before returning.
func (Client) WaitForInstanceDiskStatus ¶
func (client Client) WaitForInstanceDiskStatus(ctx context.Context, instanceID int, diskID int, status DiskStatus) (*InstanceDisk, error)
WaitForInstanceDiskStatus waits for the Linode instance disk to reach the desired state before returning.
func (Client) WaitForInstanceStatus ¶
func (client Client) WaitForInstanceStatus(ctx context.Context, instanceID int, status InstanceStatus) (*Instance, error)
WaitForInstanceStatus waits for the Linode instance to reach the desired state before returning.
func (Client) WaitForLKEClusterConditions ¶
func (client Client) WaitForLKEClusterConditions( ctx context.Context, clusterID int, options LKEClusterPollOptions, conditions ...ClusterConditionFunc, ) error
WaitForLKEClusterConditions waits for the given LKE conditions to be true
func (Client) WaitForLKEClusterStatus ¶
func (client Client) WaitForLKEClusterStatus(ctx context.Context, clusterID int, status LKEClusterStatus) (*LKECluster, error)
WaitForLKEClusterStatus waits for the LKECluster to reach the desired state before returning.
func (Client) WaitForResourceFree ¶
func (client Client) WaitForResourceFree( ctx context.Context, entityType EntityType, entityID any, ) error
WaitForResourceFree waits for a resource to have no running events.
func (Client) WaitForSnapshotStatus ¶
func (client Client) WaitForSnapshotStatus( ctx context.Context, instanceID int, snapshotID int, status InstanceSnapshotStatus, ) (*InstanceSnapshot, error)
WaitForSnapshotStatus waits for the Snapshot to reach the desired state before returning.
func (Client) WaitForVolumeIOReadyStatus ¶
func (client Client) WaitForVolumeIOReadyStatus( ctx context.Context, volumeID int, status bool, ) (*Volume, error)
WaitForVolumeIOReadyStatus waits for the io_ready status to verify whether the volume is successfully attached to a Linode instance and ready for read and write operations
func (Client) WaitForVolumeLinodeID ¶
func (client Client) WaitForVolumeLinodeID(ctx context.Context, volumeID int, linodeID *int) (*Volume, error)
WaitForVolumeLinodeID waits for the Volume to match the desired LinodeID before returning. An active Instance will not immediately attach or detach a volume, so the LinodeID must be polled to determine volume readiness from the API.
func (Client) WaitForVolumeStatus ¶
func (client Client) WaitForVolumeStatus(ctx context.Context, volumeID int, status VolumeStatus) (*Volume, error)
WaitForVolumeStatus waits for the Volume to reach the desired state before returning.
type ClusterConditionFunc ¶
type ClusterConditionFunc func(context.Context, ClusterConditionOptions) (bool, error)
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.
type ClusterConditionOptions ¶
type ClusterConditionOptions struct {
LKEClusterKubeconfig *LKEClusterKubeconfig
TransportWrapper func(http.RoundTripper) http.RoundTripper
}
ClusterConditionOptions configures LKE cluster condition checks.
type ClusterPrice ¶
ClusterPrice for Hourly and Monthly price models
type Comp ¶
type Comp struct {
Column string
Operator FilterOperator
Value any
}
func (*Comp) JSONValueSegment ¶
type ConfigAlgorithm ¶
type ConfigAlgorithm string
ConfigAlgorithm constants start with Algorithm and include Linode API NodeBalancer Config Algorithms
const ( AlgorithmRoundRobin ConfigAlgorithm = "roundrobin" AlgorithmLeastConn ConfigAlgorithm = "leastconn" AlgorithmSource ConfigAlgorithm = "source" AlgorithmRingHash ConfigAlgorithm = "ring_hash" )
ConfigAlgorithm constants reflect the NodeBalancer Config Algorithm
type ConfigCheck ¶
type ConfigCheck string
ConfigCheck constants start with Check and include Linode API NodeBalancer Config Check methods
const ( CheckNone ConfigCheck = "none" CheckConnection ConfigCheck = "connection" CheckHTTP ConfigCheck = "http" CheckHTTPBody ConfigCheck = "http_body" )
ConfigCheck constants reflect the node health status checking method for a NodeBalancer Config
type ConfigCipher ¶
type ConfigCipher string
ConfigCipher constants start with Cipher and include Linode API NodeBalancer Config Cipher values
const ( CipherRecommended ConfigCipher = "recommended" CipherLegacy ConfigCipher = "legacy" )
ConfigCipher constants reflect the preferred cipher set for a NodeBalancer Config
type ConfigInterfacePurpose ¶
type ConfigInterfacePurpose string
ConfigInterfacePurpose options start with InterfacePurpose and include all known interface purpose types
const ( InterfacePurposePublic ConfigInterfacePurpose = "public" InterfacePurposeVLAN ConfigInterfacePurpose = "vlan" InterfacePurposeVPC ConfigInterfacePurpose = "vpc" )
type ConfigProfile ¶
type ConfigProtocol ¶
type ConfigProtocol string
ConfigProtocol constants start with Protocol and include Linode API Nodebalancer Config protocols
const ( ProtocolHTTP ConfigProtocol = "http" ProtocolHTTPS ConfigProtocol = "https" ProtocolTCP ConfigProtocol = "tcp" ProtocolUDP ConfigProtocol = "udp" )
ConfigProtocol constants reflect the protocol used by a NodeBalancer Config
type ConfigProxyProtocol ¶
type ConfigProxyProtocol string
ConfigProxyProtocol constants start with ProxyProtocol and include Linode API NodeBalancer Config proxy protocol versions
const ( ProxyProtocolNone ConfigProxyProtocol = "none" ProxyProtocolV1 ConfigProxyProtocol = "v1" ProxyProtocolV2 ConfigProxyProtocol = "v2" )
ConfigProxyProtocol constants reflect the proxy protocol version used by a NodeBalancer Config
type ConfigStickiness ¶
type ConfigStickiness string
ConfigStickiness constants start with Stickiness and include Linode API NodeBalancer Config Stickiness
const ( StickinessNone ConfigStickiness = "none" StickinessSession ConfigStickiness = "session" StickinessTable ConfigStickiness = "table" StickinessHTTPCookie ConfigStickiness = "http_cookie" StickinessSourceIP ConfigStickiness = "source_ip" )
ConfigStickiness constants reflect the node stickiness method for a NodeBalancer Config
type ConfirmTwoFactorOptions ¶
type ConfirmTwoFactorOptions struct {
TFACode string `json:"tfa_code"`
}
ConfirmTwoFactorOptions contains fields used by ConfirmTwoFactor
type ConfirmTwoFactorResponse ¶
type ConfirmTwoFactorResponse struct {
Scratch string `json:"scratch"`
}
ConfirmTwoFactorResponse contains fields returned by ConfirmTwoFactor
type ConnectTimeout ¶
type ConsumerImageShareGroup ¶
type ConsumerImageShareGroup struct {
}
ConsumerImageShareGroup represents an ImageShareGroup that the consumer is a member of.
func (*ConsumerImageShareGroup) UnmarshalJSON ¶
func (isg *ConsumerImageShareGroup) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type CreditCard ¶
CreditCard information associated with the Account.
type CriteriaCondition ¶
type CriteriaCondition string
CriteriaCondition represents supported criteria conditions
const (
CriteriaConditionAll CriteriaCondition = "ALL"
)
type DashboardFilter ¶
type DashboardFilter struct {
DimensionLabel string `json:"dimension_label"`
Operator string `json:"operator"`
Value string `json:"value"`
}
DashboardFilter represents a filter for dashboard widgets
type DashboardType ¶
type DashboardType string
DashboardType is an enum object for DashboardType
const ( DashboardTypeStandard DashboardType = "standard" DashboardTypeCustom DashboardType = "custom" )
type DashboardWidget ¶
type DashboardWidget struct {
Metric string `json:"metric"`
Unit string `json:"unit"`
Label string `json:"label"`
Color string `json:"color"`
Size int `json:"size"`
ChartType ChartType `json:"chart_type"`
YLabel string `json:"y_label"`
AggregateFunction AggregateFunction `json:"aggregate_function"`
GroupBy []string `json:"group_by"`
Filters []DashboardFilter `json:"filters"`
}
DashboardWidget represents an ACLP DashboardWidget object
type Database ¶
type Database struct {
ID int `json:"id"`
Status DatabaseStatus `json:"status"`
Label string `json:"label"`
Hosts DatabaseHost `json:"hosts"`
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
Version string `json:"version"`
ClusterSize int `json:"cluster_size"`
Platform DatabasePlatform `json:"platform"`
Fork *DatabaseFork `json:"fork"`
Updates DatabaseMaintenanceWindow `json:"updates"`
UsedDiskSizeGB int `json:"used_disk_size_gb"`
TotalDiskSizeGB int `json:"total_disk_size_gb"`
Port int `json:"port"`
// Members has dynamic keys so it is a map
Members map[string]DatabaseMemberType `json:"members"`
Encrypted bool `json:"encrypted"`
AllowList []string `json:"allow_list"`
InstanceURI string `json:"instance_uri"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
OldestRestoreTime *time.Time `json:"-"`
PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
A Database is a instance of Linode Managed Databases
func (*Database) UnmarshalJSON ¶
type DatabaseDayOfWeek ¶
type DatabaseDayOfWeek int
const ( DatabaseMaintenanceDayMonday DatabaseDayOfWeek = iota + 1 DatabaseMaintenanceDayTuesday DatabaseMaintenanceDayWednesday DatabaseMaintenanceDayThursday DatabaseMaintenanceDayFriday DatabaseMaintenanceDaySaturday DatabaseMaintenanceDaySunday )
type DatabaseEngine ¶
type DatabaseEngine struct {
ID string `json:"id"`
Engine string `json:"engine"`
Version string `json:"version"`
}
DatabaseEngine is information about Engines supported by Linode Managed Databases
type DatabaseEngineType ¶
type DatabaseEngineType string
const ( DatabaseEngineTypeMySQL DatabaseEngineType = "mysql" DatabaseEngineTypePostgres DatabaseEngineType = "postgresql" )
type DatabaseFork ¶
DatabaseFork describes the source and restore time for the fork for forked DBs
func (*DatabaseFork) UnmarshalJSON ¶
func (d *DatabaseFork) UnmarshalJSON(b []byte) error
type DatabaseHost ¶
DatabaseHost for Primary/Secondary of Database
type DatabaseMaintenanceFrequency ¶
type DatabaseMaintenanceFrequency string
const ( DatabaseMaintenanceFrequencyWeekly DatabaseMaintenanceFrequency = "weekly" DatabaseMaintenanceFrequencyMonthly DatabaseMaintenanceFrequency = "monthly" )
type DatabaseMaintenanceWindow ¶
type DatabaseMaintenanceWindow struct {
DayOfWeek DatabaseDayOfWeek `json:"day_of_week"`
Duration int `json:"duration"`
Frequency DatabaseMaintenanceFrequency `json:"frequency"`
HourOfDay int `json:"hour_of_day"`
Pending []DatabaseMaintenanceWindowPending `json:"pending,omitzero"`
}
DatabaseMaintenanceWindow stores information about a MySQL cluster's maintenance window
type DatabaseMaintenanceWindowPending ¶
type DatabaseMaintenanceWindowPending struct {
Deadline *time.Time `json:"-"`
Description string `json:"description"`
PlannedFor *time.Time `json:"-"`
}
func (*DatabaseMaintenanceWindowPending) UnmarshalJSON ¶
func (d *DatabaseMaintenanceWindowPending) UnmarshalJSON(b []byte) error
type DatabaseMemberType ¶
type DatabaseMemberType string
const ( DatabaseMemberTypePrimary DatabaseMemberType = "primary" DatabaseMemberTypeFailover DatabaseMemberType = "failover" )
type DatabasePlatform ¶
type DatabasePlatform string
const ( DatabasePlatformRDBMSLegacy DatabasePlatform = "rdbms-legacy" DatabasePlatformRDBMSDefault DatabasePlatform = "rdbms-default" )
type DatabasePrivateNetwork ¶
type DatabaseStatus ¶
type DatabaseStatus string
const ( DatabaseStatusProvisioning DatabaseStatus = "provisioning" DatabaseStatusActive DatabaseStatus = "active" DatabaseStatusDeleting DatabaseStatus = "deleting" DatabaseStatusDeleted DatabaseStatus = "deleted" DatabaseStatusSuspending DatabaseStatus = "suspending" DatabaseStatusSuspended DatabaseStatus = "suspended" DatabaseStatusResuming DatabaseStatus = "resuming" DatabaseStatusRestoring DatabaseStatus = "restoring" DatabaseStatusFailed DatabaseStatus = "failed" DatabaseStatusDegraded DatabaseStatus = "degraded" DatabaseStatusUpdating DatabaseStatus = "updating" DatabaseStatusBackingUp DatabaseStatus = "backing_up" )
type DatabaseType ¶
type DatabaseType struct {
ID string `json:"id"`
Label string `json:"label"`
Class string `json:"class"`
VirtualCPUs int `json:"vcpus"`
Disk int `json:"disk"`
Memory int `json:"memory"`
Engines DatabaseTypeEngineMap `json:"engines"`
Deprecated bool `json:"deprecated"`
}
DatabaseType is information about the supported Database Types by Linode Managed Databases
type DatabaseTypeEngine ¶
type DatabaseTypeEngine struct {
Quantity int `json:"quantity"`
Price ClusterPrice `json:"price"`
}
DatabaseTypeEngine Sizes and Prices
type DatabaseTypeEngineMap ¶
type DatabaseTypeEngineMap struct {
MySQL []DatabaseTypeEngine `json:"mysql"`
PostgreSQL []DatabaseTypeEngine `json:"postgresql"`
}
DatabaseTypeEngineMap stores a list of Database Engine types by engine
type DeadlockTimeout ¶
type DefaultFirewallIDs ¶
type DefaultTimeZone ¶
type DefaultToastCompression ¶
type DevicesCreationOptions ¶
type DevicesCreationOptions struct {
Linodes []int `json:"linodes,omitzero"`
NodeBalancers []int `json:"nodebalancers,omitzero"`
LinodeInterfaces []int `json:"linode_interfaces,omitzero"`
}
DevicesCreationOptions fields are used when adding devices during the Firewall creation process.
type DimensionFilter ¶
type DimensionFilter struct {
DimensionLabel string `json:"dimension_label"`
Label string `json:"label"`
Operator string `json:"operator"`
Value string `json:"value"`
}
DimensionFilter represents a single dimension filter used inside a Rule.
type DimensionFilterOptions ¶
type DimensionFilterOptions struct {
DimensionLabel string `json:"dimension_label,omitzero"`
Operator string `json:"operator,omitzero"`
Value string `json:"value,omitzero"`
}
DimensionFilterOptions represents a single dimension filter option used inside a Rule.
type DiskFilesystem ¶
type DiskFilesystem string
DiskFilesystem constants start with Filesystem and include Linode API Filesystems
const ( FilesystemRaw DiskFilesystem = "raw" FilesystemSwap DiskFilesystem = "swap" FilesystemExt3 DiskFilesystem = "ext3" FilesystemExt4 DiskFilesystem = "ext4" FilesystemInitrd DiskFilesystem = "initrd" )
DiskFilesystem constants represent the filesystems types an Instance Disk may use
type DiskStatus ¶
type DiskStatus string
DiskStatus constants have the prefix "Disk" and include Linode API Instance Disk Status
const ( DiskReady DiskStatus = "ready" DiskNotReady DiskStatus = "not ready" DiskDeleting DiskStatus = "deleting" )
DiskStatus constants represent the status values an Instance Disk may have
type Domain ¶
type Domain struct {
// This Domain's unique ID
ID int `json:"id"`
// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
Domain string `json:"domain"`
// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
Type DomainType `json:"type"` // Enum:"master" "slave"
// Used to control whether this Domain is currently being rendered.
Status DomainStatus `json:"status"` // Enum:"disabled" "active" "edit_mode" "has_errors"
// A description for this Domain. This is for display purposes only.
Description string `json:"description"`
// Start of Authority email address. This is required for master Domains.
SOAEmail string `json:"soa_email"`
// The interval, in seconds, at which a failed refresh should be retried.
// Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
RetrySec int `json:"retry_sec"`
// The IP addresses representing the master DNS for this Domain.
MasterIPs []string `json:"master_ips"`
// The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.
AXfrIPs []string `json:"axfr_ips"`
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []string `json:"tags"`
// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
ExpireSec int `json:"expire_sec"`
// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
RefreshSec int `json:"refresh_sec"`
// "Time to Live" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
TTLSec int `json:"ttl_sec"`
}
Domain represents a Domain object
func (Domain) GetUpdateOptions ¶
func (d Domain) GetUpdateOptions() (du DomainUpdateOptions)
GetUpdateOptions converts a Domain to DomainUpdateOptions for use in UpdateDomain
type DomainCloneOptions ¶
type DomainCloneOptions struct {
Domain string `json:"domain"`
}
type DomainCreateOptions ¶
type DomainCreateOptions struct {
// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
Domain string `json:"domain"`
// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
// Enum:"master" "slave"
Type DomainType `json:"type"`
// Used to control whether this Domain is currently being rendered.
// Enum:"disabled" "active" "edit_mode" "has_errors"
Status DomainStatus `json:"status,omitzero"`
// A description for this Domain. This is for display purposes only.
Description string `json:"description,omitzero"`
// Start of Authority email address. This is required for master Domains.
SOAEmail string `json:"soa_email,omitzero"`
// The interval, in seconds, at which a failed refresh should be retried.
// Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
RetrySec int `json:"retry_sec,omitzero"`
// The IP addresses representing the master DNS for this Domain.
MasterIPs []string `json:"master_ips"`
// The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.
AXfrIPs []string `json:"axfr_ips"`
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []string `json:"tags"`
// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
ExpireSec int `json:"expire_sec,omitzero"`
// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
RefreshSec int `json:"refresh_sec,omitzero"`
// "Time to Live" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
TTLSec int `json:"ttl_sec,omitzero"`
}
DomainCreateOptions fields are those accepted by CreateDomain
type DomainImportOptions ¶
type DomainRecord ¶
type DomainRecord struct {
ID int `json:"id"`
Type DomainRecordType `json:"type"`
Name string `json:"name"`
Target string `json:"target"`
Priority int `json:"priority"`
Weight int `json:"weight"`
Port int `json:"port"`
Service *string `json:"service"`
Protocol *string `json:"protocol"`
TTLSec int `json:"ttl_sec"`
Tag *string `json:"tag"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
DomainRecord represents a DomainRecord object
func (DomainRecord) GetUpdateOptions ¶
func (d DomainRecord) GetUpdateOptions() (du DomainRecordUpdateOptions)
GetUpdateOptions converts a DomainRecord to DomainRecordUpdateOptions for use in UpdateDomainRecord
func (*DomainRecord) UnmarshalJSON ¶
func (d *DomainRecord) UnmarshalJSON(b []byte) error
UnmarshalJSON for DomainRecord responses
type DomainRecordCreateOptions ¶
type DomainRecordCreateOptions struct {
Type DomainRecordType `json:"type"`
Name string `json:"name"`
Target string `json:"target"`
Priority *int `json:"priority,omitzero"`
Weight *int `json:"weight,omitzero"`
Port *int `json:"port,omitzero"`
Service *string `json:"service,omitzero"`
Protocol *string `json:"protocol,omitzero"`
TTLSec int `json:"ttl_sec,omitzero"` // 0 is not accepted by Linode, so can be omitted
Tag *string `json:"tag,omitzero"`
}
DomainRecordCreateOptions fields are those accepted by CreateDomainRecord
type DomainRecordType ¶
type DomainRecordType string
DomainRecordType constants start with RecordType and include Linode API Domain Record Types
const ( RecordTypeA DomainRecordType = "A" RecordTypeAAAA DomainRecordType = "AAAA" RecordTypeNS DomainRecordType = "NS" RecordTypeMX DomainRecordType = "MX" RecordTypeCNAME DomainRecordType = "CNAME" RecordTypeTXT DomainRecordType = "TXT" RecordTypeSRV DomainRecordType = "SRV" RecordTypePTR DomainRecordType = "PTR" RecordTypeCAA DomainRecordType = "CAA" )
DomainRecordType constants are the DNS record types a DomainRecord can assign
type DomainRecordUpdateOptions ¶
type DomainRecordUpdateOptions struct {
Type DomainRecordType `json:"type,omitzero"`
Name string `json:"name,omitzero"`
Target string `json:"target,omitzero"`
Priority *int `json:"priority,omitzero"` // 0 is valid, so omit only nil values
Weight *int `json:"weight,omitzero"` // 0 is valid, so omit only nil values
Port *int `json:"port,omitzero"` // 0 is valid to spec, so omit only nil values
Service *string `json:"service,omitzero"`
Protocol *string `json:"protocol,omitzero"`
TTLSec int `json:"ttl_sec,omitzero"` // 0 is not accepted by Linode, so can be omitted
Tag *string `json:"tag,omitzero"`
}
DomainRecordUpdateOptions fields are those accepted by UpdateDomainRecord
type DomainStatus ¶
type DomainStatus string
DomainStatus constants start with DomainStatus and include Linode API Domain Status values
const ( DomainStatusDisabled DomainStatus = "disabled" DomainStatusActive DomainStatus = "active" DomainStatusEditMode DomainStatus = "edit_mode" DomainStatusHasErrors DomainStatus = "has_errors" )
DomainStatus constants reflect the current status of a Domain
type DomainType ¶
type DomainType string
DomainType constants start with DomainType and include Linode API Domain Type values
const ( DomainTypeMaster DomainType = "master" DomainTypeSlave DomainType = "slave" )
DomainType constants reflect the DNS zone type of a Domain
type DomainUpdateOptions ¶
type DomainUpdateOptions struct {
// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
Domain string `json:"domain,omitzero"`
// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
// Enum:"master" "slave"
Type DomainType `json:"type,omitzero"`
// Used to control whether this Domain is currently being rendered.
// Enum:"disabled" "active" "edit_mode" "has_errors"
Status DomainStatus `json:"status,omitzero"`
// A description for this Domain. This is for display purposes only.
Description string `json:"description,omitzero"`
// Start of Authority email address. This is required for master Domains.
SOAEmail string `json:"soa_email,omitzero"`
// The interval, in seconds, at which a failed refresh should be retried.
// Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
RetrySec int `json:"retry_sec,omitzero"`
// The IP addresses representing the master DNS for this Domain.
MasterIPs []string `json:"master_ips"`
// The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.
AXfrIPs []string `json:"axfr_ips"`
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []string `json:"tags"`
// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
ExpireSec int `json:"expire_sec,omitzero"`
// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
RefreshSec int `json:"refresh_sec,omitzero"`
// "Time to Live" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
TTLSec int `json:"ttl_sec,omitzero"`
}
DomainUpdateOptions converts a Domain to DomainUpdateOptions for use in UpdateDomain
type DomainZoneFile ¶
type DomainZoneFile struct {
ZoneFile []string `json:"zone_file"`
}
DomainZoneFile represents the Zone File of a Domain
type EmailChannelDetails ¶
type EmailChannelDetails struct {
Usernames []string `json:"usernames"`
RecipientType string `json:"recipient_type"`
}
EmailChannelDetails represents email-specific details for a channel
type Entity ¶
type Entity struct {
ID int `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
URL string `json:"url"`
}
Entity represents the entity being affected by maintenance
type EntityMetric ¶
type EntityMetric struct {
Name string `json:"name"`
AggregateFunction AggregateFunction `json:"aggregate_function"`
}
EntityMetric specifies a metric name and its corresponding aggregation function.
type EntityMetrics ¶
type EntityMetrics struct {
Data EntityMetricsData `json:"data"`
IsPartial bool `json:"is_partial"`
Stats EntityMetricsStats `json:"stats"`
Status string `json:"status"`
}
EntityMetrics is the response body of the metrics for the entities requested
type EntityMetricsData ¶
type EntityMetricsData struct {
Result []EntityMetricsDataResult `json:"result"`
ResultType string `json:"result_type"`
}
EntityMetricsData describes the result and type for the entity metrics
type EntityMetricsDataResult ¶
type EntityMetricsDataResult struct {
Metric map[string]any `json:"metric"`
Values [][]any `json:"values"`
}
EntityMetricsDataResult contains the information of a metric and values
type EntityMetricsFetchOptions ¶
type EntityMetricsFetchOptions struct {
// EntityIDs are expected to be type "any" as different service_types have different variable type for their entity_ids. For example, Linode has "int" entity_ids whereas object storage has "string" as entity_ids.
EntityIDs []any `json:"entity_ids"`
Filters []MetricFilter `json:"filters,omitzero"`
Metrics []EntityMetric `json:"metrics"`
TimeGranularity []MetricTimeGranularity `json:"time_granularity,omitzero"`
RelativeTimeDuration *MetricRelativeTimeDuration `json:"relative_time_duration,omitzero"`
AbsoluteTimeDuration *MetricAbsoluteTimeDuration `json:"absolute_time_duration,omitzero"`
}
EntityMetricsFetchOptions are the options used to fetch metrics with the entity ids provided
type EntityMetricsStats ¶
type EntityMetricsStats struct {
ExecutionTimeMsec int `json:"executionTimeMsec"`
SeriesFetched string `json:"seriesFetched"`
}
EntityMetricsStats shows statistics info of the metrics fetched
type EntityType ¶
type EntityType string
EntityType constants start with Entity and include Linode API Event Entity Types
const ( EntityAccount EntityType = "account" EntityBackups EntityType = "backups" EntityCommunity EntityType = "community" EntityDatabase EntityType = "database" EntityDisk EntityType = "disk" EntityDomain EntityType = "domain" EntityTransfer EntityType = "entity_transfer" EntityFirewall EntityType = "firewall" EntityImage EntityType = "image" EntityIPAddress EntityType = "ipaddress" EntityLinode EntityType = "linode" EntityLKECluster EntityType = "lkecluster" EntityLKENodePool EntityType = "lkenodepool" EntityLongview EntityType = "longview" EntityManagedService EntityType = "managed_service" EntityNodebalancer EntityType = "nodebalancer" EntityOAuthClient EntityType = "oauth_client" EntityPlacementGroup EntityType = "placement_group" EntityProfile EntityType = "profile" EntityStackscript EntityType = "stackscript" EntityTag EntityType = "tag" EntityTicket EntityType = "ticket" EntityToken EntityType = "token" EntityUser EntityType = "user" EntityUserSSHKey EntityType = "user_ssh_key" EntityVolume EntityType = "volume" EntityVPC EntityType = "vpc" EntityVPCSubnet EntityType = "subnet" )
EntityType constants are the entities an Event can be related to.
type EntityUserGrant ¶
type EntityUserGrant struct {
ID int `json:"id"`
Permissions *GrantPermissionLevel `json:"permissions"`
}
type EnvDefaults ¶
type Error ¶
Error wraps the LinodeGo error with the relevant http.Response
func NewError ¶
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 http.Response object
func (Error) StatusCode ¶
type Event ¶
type Event struct {
// The unique ID of this Event.
ID int `json:"id"`
// Current status of the Event, Enum: "failed" "finished" "notification" "scheduled" "started"
Status EventStatus `json:"status"`
// The action that caused this Event. New actions may be added in the future.
Action EventAction `json:"action"`
// A percentage estimating the amount of time remaining for an Event. Returns null for notification events.
PercentComplete int `json:"percent_complete"`
// The rate of completion of the Event. Only some Events will return rate; for example, migration and resize Events.
Rate *string `json:"rate"`
// If this Event has been read.
Read bool `json:"read"`
// If this Event has been seen.
Seen bool `json:"seen"`
// The estimated time remaining until the completion of this Event. This value is only returned for in-progress events.
TimeRemaining *int `json:"-"`
// The username of the User who caused the Event.
Username string `json:"username"`
// Detailed information about the Event's entity, including ID, type, label, and URL used to access it.
Entity *EventEntity `json:"entity"`
// Detailed information about the Event's secondary or related entity, including ID, type, label, and URL used to access it.
SecondaryEntity *EventEntity `json:"secondary_entity"`
// When this Event was created.
Created *time.Time `json:"-"`
// Provides additional information about the event.
Message string `json:"message"`
// The total duration in seconds that it takes for the Event to complete.
Duration float64 `json:"duration"`
// The maintenance policy configured by the user for the event.
MaintenancePolicySet string `json:"maintenance_policy_set"`
// Describes the nature of the event (e.g., whether it is scheduled or emergency).
Description string `json:"description"`
// The origin of the event (e.g., platform, user).
Source string `json:"source"`
// Scheduled start time for the event.
NotBefore *time.Time `json:"-"`
// The actual start time of the event.
StartTime *time.Time `json:"-"`
// The actual completion time of the event.
CompleteTime *time.Time `json:"-"`
}
Event represents an action taken on the Account.
func (*Event) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type EventAction ¶
type EventAction string
EventAction constants start with Action and include all known Linode API Event Actions.
const ( ActionAccountUpdate EventAction = "account_update" ActionAccountSettingsUpdate EventAction = "account_settings_update" ActionBackupsEnable EventAction = "backups_enable" ActionBackupsCancel EventAction = "backups_cancel" ActionBackupsRestore EventAction = "backups_restore" ActionCommunityQuestionReply EventAction = "community_question_reply" ActionCommunityLike EventAction = "community_like" ActionCreditCardUpdated EventAction = "credit_card_updated" ActionDatabaseCreate EventAction = "database_create" ActionDatabaseDegraded EventAction = "database_degraded" ActionDatabaseDelete EventAction = "database_delete" ActionDatabaseFailed EventAction = "database_failed" ActionDatabaseUpdate EventAction = "database_update" ActionDatabaseResize EventAction = "database_resize" ActionDatabaseCreateFailed EventAction = "database_create_failed" ActionDatabaseUpdateFailed EventAction = "database_update_failed" ActionDatabaseBackupCreate EventAction = "database_backup_create" ActionDatabaseBackupRestore EventAction = "database_backup_restore" ActionDatabaseCredentialsReset EventAction = "database_credentials_reset" ActionDiskCreate EventAction = "disk_create" ActionDiskDelete EventAction = "disk_delete" ActionDiskUpdate EventAction = "disk_update" ActionDiskDuplicate EventAction = "disk_duplicate" ActionDiskImagize EventAction = "disk_imagize" ActionDiskResize EventAction = "disk_resize" ActionDNSRecordCreate EventAction = "dns_record_create" ActionDNSRecordDelete EventAction = "dns_record_delete" ActionDNSRecordUpdate EventAction = "dns_record_update" ActionDNSZoneCreate EventAction = "dns_zone_create" ActionDNSZoneDelete EventAction = "dns_zone_delete" ActionDNSZoneUpdate EventAction = "dns_zone_update" ActionDNSZoneImport EventAction = "dns_zone_import" ActionEntityTransferAccept EventAction = "entity_transfer_accept" ActionEntityTransferCancel EventAction = "entity_transfer_cancel" ActionEntityTransferCreate EventAction = "entity_transfer_create" ActionEntityTransferFail EventAction = "entity_transfer_fail" ActionEntityTransferStale EventAction = "entity_transfer_stale" ActionFirewallCreate EventAction = "firewall_create" ActionFirewallDelete EventAction = "firewall_delete" ActionFirewallDisable EventAction = "firewall_disable" ActionFirewallEnable EventAction = "firewall_enable" ActionFirewallUpdate EventAction = "firewall_update" ActionFirewallDeviceAdd EventAction = "firewall_device_add" ActionFirewallDeviceRemove EventAction = "firewall_device_remove" ActionFirewallRuleSetCreate EventAction = "firewall_ruleset_create" ActionFirewallRuleSetUpdate EventAction = "firewall_ruleset_update" ActionFirewallRuleSetDelete EventAction = "firewall_ruleset_delete" ActionFirewallRuleSetFirewallUpdate EventAction = "firewall_ruleset_firewall_update" ActionHostReboot EventAction = "host_reboot" ActionImageDelete EventAction = "image_delete" ActionImageUpdate EventAction = "image_update" ActionImageUpload EventAction = "image_upload" ActionIPAddressUpdate EventAction = "ipaddress_update" ActionLassieReboot EventAction = "lassie_reboot" ActionLinodeAddIP EventAction = "linode_addip" ActionLinodeBoot EventAction = "linode_boot" ActionLinodeClone EventAction = "linode_clone" ActionLinodeCreate EventAction = "linode_create" ActionLinodeDelete EventAction = "linode_delete" ActionLinodeUpdate EventAction = "linode_update" ActionLinodeDeleteIP EventAction = "linode_deleteip" ActionLinodeMigrate EventAction = "linode_migrate" ActionLinodeMigrateDatacenter EventAction = "linode_migrate_datacenter" ActionLinodeMigrateDatacenterCreate EventAction = "linode_migrate_datacenter_create" ActionLinodeMutate EventAction = "linode_mutate" ActionLinodeMutateCreate EventAction = "linode_mutate_create" ActionLinodePowerOffOn EventAction = "linode_poweroff_on" ActionLinodeReboot EventAction = "linode_reboot" ActionLinodeRebuild EventAction = "linode_rebuild" ActionLinodeResize EventAction = "linode_resize" ActionLinodeResizeCreate EventAction = "linode_resize_create" ActionLinodeShutdown EventAction = "linode_shutdown" ActionLinodeSnapshot EventAction = "linode_snapshot" ActionLinodeConfigCreate EventAction = "linode_config_create" ActionLinodeConfigDelete EventAction = "linode_config_delete" ActionLinodeConfigUpdate EventAction = "linode_config_update" ActionLishBoot EventAction = "lish_boot" ActionLKENodeCreate EventAction = "lke_node_create" ActionLKEControlPlaneACLCreate EventAction = "lke_control_plane_acl_create" ActionLKEControlPlaneACLUpdate EventAction = "lke_control_plane_acl_update" ActionLKEControlPlaneACLDelete EventAction = "lke_control_plane_acl_delete" ActionLongviewClientCreate EventAction = "longviewclient_create" ActionLongviewClientDelete EventAction = "longviewclient_delete" ActionLongviewClientUpdate EventAction = "longviewclient_update" ActionManagedDisabled EventAction = "managed_disabled" ActionManagedEnabled EventAction = "managed_enabled" ActionManagedServiceCreate EventAction = "managed_service_create" ActionManagedServiceDelete EventAction = "managed_service_delete" ActionNodebalancerCreate EventAction = "nodebalancer_create" ActionNodebalancerDelete EventAction = "nodebalancer_delete" ActionNodebalancerUpdate EventAction = "nodebalancer_update" ActionNodebalancerConfigCreate EventAction = "nodebalancer_config_create" ActionNodebalancerConfigDelete EventAction = "nodebalancer_config_delete" ActionNodebalancerConfigUpdate EventAction = "nodebalancer_config_update" ActionNodebalancerFirewallModificationSuccess EventAction = "nodebalancer_firewall_modification_success" ActionNodebalancerFirewallModificationFailed EventAction = "nodebalancer_firewall_modification_failed" ActionNodebalancerNodeCreate EventAction = "nodebalancer_node_create" ActionNodebalancerNodeDelete EventAction = "nodebalancer_node_delete" ActionNodebalancerNodeUpdate EventAction = "nodebalancer_node_update" ActionOAuthClientCreate EventAction = "oauth_client_create" ActionOAuthClientDelete EventAction = "oauth_client_delete" ActionOAuthClientSecretReset EventAction = "oauth_client_secret_reset" //#nosec G101 ActionOAuthClientUpdate EventAction = "oauth_client_update" ActionOBJAccessKeyCreate EventAction = "obj_access_key_create" ActionOBJAccessKeyDelete EventAction = "obj_access_key_delete" ActionOBJAccessKeyUpdate EventAction = "obj_access_key_update" ActionPaymentMethodAdd EventAction = "payment_method_add" ActionPaymentSubmitted EventAction = "payment_submitted" ActionPasswordReset EventAction = "password_reset" ActionPlacementGroupCreate EventAction = "placement_group_create" ActionPlacementGroupUpdate EventAction = "placement_group_update" ActionPlacementGroupDelete EventAction = "placement_group_delete" ActionPlacementGroupAssign EventAction = "placement_group_assign" ActionPlacementGroupUnassign EventAction = "placement_group_unassign" ActionPlacementGroupBecameNonCompliant EventAction = "placement_group_became_non_compliant" ActionPlacementGroupBecameCompliant EventAction = "placement_group_became_compliant" ActionProfileUpdate EventAction = "profile_update" ActionStackScriptCreate EventAction = "stackscript_create" ActionStackScriptDelete EventAction = "stackscript_delete" ActionStackScriptUpdate EventAction = "stackscript_update" ActionStackScriptPublicize EventAction = "stackscript_publicize" ActionStackScriptRevise EventAction = "stackscript_revise" ActionTaxIDInvalid EventAction = "tax_id_invalid" ActionTagCreate EventAction = "tag_create" ActionTagDelete EventAction = "tag_delete" ActionTFADisabled EventAction = "tfa_disabled" ActionTFAEnabled EventAction = "tfa_enabled" ActionTicketAttachmentUpload EventAction = "ticket_attachment_upload" ActionTicketCreate EventAction = "ticket_create" ActionTicketUpdate EventAction = "ticket_update" ActionTokenCreate EventAction = "token_create" ActionTokenDelete EventAction = "token_delete" ActionTokenUpdate EventAction = "token_update" ActionUserCreate EventAction = "user_create" ActionUserDelete EventAction = "user_delete" ActionUserUpdate EventAction = "user_update" ActionUserSSHKeyAdd EventAction = "user_ssh_key_add" ActionUserSSHKeyDelete EventAction = "user_ssh_key_delete" ActionUserSSHKeyUpdate EventAction = "user_ssh_key_update" ActionVLANAttach EventAction = "vlan_attach" ActionVLANDetach EventAction = "vlan_detach" ActionVolumeAttach EventAction = "volume_attach" ActionVolumeClone EventAction = "volume_clone" ActionVolumeCreate EventAction = "volume_create" ActionVolumeDelete EventAction = "volume_delete" ActionVolumeUpdate EventAction = "volume_update" ActionVolumeDetach EventAction = "volume_detach" ActionVolumeResize EventAction = "volume_resize" ActionVPCCreate EventAction = "vpc_create" ActionVPCDelete EventAction = "vpc_delete" ActionVPCUpdate EventAction = "vpc_update" ActionVPCSubnetCreate EventAction = "subnet_create" ActionVPCSubnetDelete EventAction = "subnet_delete" ActionVPCSubnetUpdate EventAction = "subnet_update" )
EventAction constants represent the actions that cause an Event. New actions may be added in the future.
type EventEntity ¶
type EventEntity struct {
// ID may be a string or int, it depends on the EntityType
ID any `json:"id"`
Label string `json:"label"`
Type EntityType `json:"type"`
Status string `json:"status"`
URL string `json:"url"`
}
EventEntity provides detailed information about the Event's associated entity, including ID, Type, Label, and a URL that can be used to access it.
type EventPoller ¶
type EventPoller struct {
EntityID any
EntityType EntityType
// Type is excluded here because it is implicitly determined
// by the event action.
SecondaryEntityID any
Action EventAction
// contains filtered or unexported fields
}
EventPoller waits for events associated with a given entity and action.
func (*EventPoller) WaitForFinished ¶
func (p *EventPoller) WaitForFinished(ctx context.Context) (*Event, error)
WaitForFinished waits for a new event to be finished.
func (*EventPoller) WaitForLatestUnknownEvent ¶
func (p *EventPoller) WaitForLatestUnknownEvent(ctx context.Context) (*Event, error)
WaitForLatestUnknownEvent waits for the next event not observed by this poller.
type EventStatus ¶
type EventStatus string
EventStatus constants start with Event and include Linode API Event Status values
const ( EventFailed EventStatus = "failed" EventFinished EventStatus = "finished" EventNotification EventStatus = "notification" EventScheduled EventStatus = "scheduled" EventStarted EventStatus = "started" EventCanceled EventStatus = "canceled" )
EventStatus constants reflect the current status of an Event
type Filter ¶
type Filter struct {
// Operator is the logic for all Children nodes ("+and"/"+or")
Operator string
Children []FilterNode
// OrderBy is the field you want to order your results by (ex: "+order_by": "class")
OrderBy string
// Order is the direction in which to order the results ("+order": "asc"/"desc")
Order string
}
func (*Filter) MarshalJSON ¶
type FilterNode ¶
type FilterOperator ¶
type FilterOperator string
const ( Eq FilterOperator = "+eq" Neq FilterOperator = "+neq" Gt FilterOperator = "+gt" Gte FilterOperator = "+gte" Lt FilterOperator = "+lt" Lte FilterOperator = "+lte" Contains FilterOperator = "+contains" Ascending = "asc" Descending = "desc" )
type Firewall ¶
type Firewall struct {
ID int `json:"id"`
Label string `json:"label"`
Status FirewallStatus `json:"status"`
Tags []string `json:"tags"`
Rules FirewallRules `json:"rules"`
Entities []FirewallDeviceEntity `json:"entities"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
A Firewall is a set of networking rules (iptables) applied to Devices with which it is associated
func (*Firewall) GetUpdateOptions ¶
func (f *Firewall) GetUpdateOptions() FirewallUpdateOptions
GetUpdateOptions converts a Firewall to FirewallUpdateOptions for use in Client.UpdateFirewall.
func (*Firewall) UnmarshalJSON ¶
UnmarshalJSON for Firewall responses
type FirewallCreateOptions ¶
type FirewallCreateOptions struct {
Label string `json:"label,omitzero"`
Rules FirewallRulesCreateOptions `json:"rules"`
Tags []string `json:"tags,omitzero"`
Devices DevicesCreationOptions `json:"devices,omitzero"`
}
FirewallCreateOptions fields are those accepted by CreateFirewall
type FirewallDevice ¶
type FirewallDevice struct {
ID int `json:"id"`
Entity FirewallDeviceEntity `json:"entity"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
FirewallDevice represents a device governed by a Firewall
func (*FirewallDevice) UnmarshalJSON ¶
func (device *FirewallDevice) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type FirewallDeviceCreateOptions ¶
type FirewallDeviceCreateOptions struct {
ID int `json:"id"`
Type FirewallDeviceType `json:"type"`
}
FirewallDeviceCreateOptions fields are those accepted by CreateFirewallDevice
type FirewallDeviceEntity ¶
type FirewallDeviceEntity struct {
ID int `json:"id"`
Type FirewallDeviceType `json:"type"`
Label *string `json:"label"`
URL string `json:"url"`
ParentEntity *FirewallDeviceEntity `json:"parent_entity"`
}
FirewallDeviceEntity contains information about a device associated with a Firewall
type FirewallDeviceType ¶
type FirewallDeviceType string
FirewallDeviceType represents the different kinds of devices governable by a Firewall
const ( FirewallDeviceLinode FirewallDeviceType = "linode" FirewallDeviceNodeBalancer FirewallDeviceType = "nodebalancer" FirewallDeviceLinodeInterface FirewallDeviceType = "linode_interface" )
FirewallDeviceType constants start with FirewallDevice
type FirewallRuleInbound ¶
type FirewallRuleInbound struct {
Action string `json:"action"`
Label string `json:"label"`
Description string `json:"description,omitzero"`
Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
// FirewallRuleInbound references one `Rule Set` by ID. When provided, this entry
// represents a reference and should be mutually exclusive with ordinary
// rule fields according to the API contract.
RuleSet int `json:"ruleset,omitzero"`
}
func (FirewallRuleInbound) MarshalJSON ¶
func (r FirewallRuleInbound) MarshalJSON() ([]byte, error)
MarshalJSON ensures that when a rule references a Rule Set (FirewallRuleSet != 0), only the reference shape { "ruleset": <id> } is emitted. Otherwise, the ordinary rule fields are emitted without the ruleset key.
type FirewallRuleOutbound ¶
type FirewallRuleOutbound struct {
Action string `json:"action"`
Label string `json:"label"`
Description string `json:"description,omitzero"`
Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
// FirewallRuleOutbound references one `Rule Set` by ID. When provided, this entry
// represents a reference and should be mutually exclusive with ordinary
// rule fields according to the API contract.
RuleSet int `json:"ruleset,omitzero"`
}
func (FirewallRuleOutbound) MarshalJSON ¶
func (r FirewallRuleOutbound) MarshalJSON() ([]byte, error)
MarshalJSON ensures that when a rule references a Rule Set (FirewallRuleSet != 0), only the reference shape { "ruleset": <id> } is emitted. Otherwise, the ordinary rule fields are emitted without the ruleset key.
type FirewallRuleSet ¶
type FirewallRuleSet struct {
ID int `json:"id"`
Label string `json:"label"`
Description string `json:"description,omitzero"`
Type FirewallRuleSetType `json:"type"`
Rules []FirewallRuleSetRule `json:"rules"`
IsServiceDefined bool `json:"is_service_defined"`
Version int `json:"version"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Deleted *time.Time `json:"-"`
}
FirewallRuleSet represents the Rule Set resource. Note: created/updated/deleted are parsed via UnmarshalJSON into time.Time pointers.
func (*FirewallRuleSet) UnmarshalJSON ¶
func (r *FirewallRuleSet) UnmarshalJSON(b []byte) error
UnmarshalJSON implements custom timestamp parsing for FirewallRuleSet.
type FirewallRuleSetCreateOptions ¶
type FirewallRuleSetCreateOptions struct {
Label string `json:"label"`
Description string `json:"description,omitzero"`
Type FirewallRuleSetType `json:"type"`
Rules []FirewallRuleSetRuleCreateOptions `json:"rules"`
}
FirewallRuleSetCreateOptions fields accepted by CreateRuleSet.
type FirewallRuleSetRule ¶
type FirewallRuleSetRule struct {
Action string `json:"action"`
Label string `json:"label"`
Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
}
A FirewallRuleSetRule is a whitelist of ports, protocols, and addresses for which traffic should be allowed. The ipv4/ipv6 address lists may contain Prefix List tokens (for example, "pl::..." or "pl:system:...") in addition to literal IP addresses.
type FirewallRuleSetRuleCreateOptions ¶
type FirewallRuleSetRuleCreateOptions struct {
Action string `json:"action"`
Label string `json:"label"`
Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
}
FirewallRuleSetRuleCreateOptions fields accepted in Firewall Rule Set create payloads.
type FirewallRuleSetRuleUpdateOptions ¶
type FirewallRuleSetRuleUpdateOptions struct {
Action string `json:"action"`
Label string `json:"label"`
Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
}
FirewallRuleSetRuleUpdateOptions fields accepted in Firewall Rule Set update payloads.
type FirewallRuleSetType ¶
type FirewallRuleSetType string
FirewallRuleSetType represents the type of rules a Rule Set contains. Valid values are "inbound" and "outbound".
const ( FirewallRuleSetTypeInbound FirewallRuleSetType = "inbound" FirewallRuleSetTypeOutbound FirewallRuleSetType = "outbound" )
type FirewallRuleSetUpdateOptions ¶
type FirewallRuleSetUpdateOptions struct {
Label *string `json:"label,omitzero"`
Description *string `json:"description,omitzero"`
Rules []FirewallRuleSetRuleUpdateOptions `json:"rules,omitzero"`
}
FirewallRuleSetUpdateOptions fields accepted by UpdateRuleSet. Omit a top-level field to leave it unchanged. If Rules is provided, it replaces the entire ordered rules array.
type FirewallRules ¶
type FirewallRules struct {
Inbound []FirewallRuleInbound `json:"inbound"`
InboundPolicy string `json:"inbound_policy"`
Outbound []FirewallRuleOutbound `json:"outbound"`
OutboundPolicy string `json:"outbound_policy"`
Version int `json:"version,omitzero"`
Fingerprint string `json:"fingerprint,omitzero"`
}
FirewallRules is a pair of inbound and outbound rules that specify what network traffic should be allowed.
type FirewallRulesCreateOptions ¶
type FirewallRulesCreateOptions struct {
Inbound []FirewallRuleInbound `json:"inbound"`
InboundPolicy string `json:"inbound_policy"`
Outbound []FirewallRuleOutbound `json:"outbound"`
OutboundPolicy string `json:"outbound_policy"`
}
type FirewallRulesUpdateOptions ¶
type FirewallRulesUpdateOptions struct {
Inbound []FirewallRuleInbound `json:"inbound"`
InboundPolicy string `json:"inbound_policy"`
Outbound []FirewallRuleOutbound `json:"outbound"`
OutboundPolicy string `json:"outbound_policy"`
}
type FirewallSettings ¶
type FirewallSettings struct {
DefaultFirewallIDs DefaultFirewallIDs `json:"default_firewall_ids"`
}
FirewallSettings represents the default firewalls for Linodes, Linode VPC and public interfaces, and NodeBalancers.
type FirewallSettingsUpdateOptions ¶
type FirewallSettingsUpdateOptions struct {
DefaultFirewallIDs *DefaultFirewallIDsOptions `json:"default_firewall_ids,omitzero"`
}
FirewallSettingsUpdateOptions is an options struct used when Updating FirewallSettings
type FirewallStatus ¶
type FirewallStatus string
FirewallStatus enum type
const ( FirewallEnabled FirewallStatus = "enabled" FirewallDisabled FirewallStatus = "disabled" FirewallDeleted FirewallStatus = "deleted" )
FirewallStatus enums start with Firewall
type FirewallTemplate ¶
type FirewallTemplate struct {
Slug string `json:"slug"`
Rules FirewallRules `json:"rules"`
}
type FirewallUpdateOptions ¶
type FirewallUpdateOptions struct {
Label string `json:"label,omitzero"`
Status FirewallStatus `json:"status,omitzero"`
Tags []string `json:"tags,omitzero"`
}
FirewallUpdateOptions is an options struct used when Updating a Firewall
type GlobalUserGrants ¶
type GlobalUserGrants struct {
AccountAccess *GrantPermissionLevel `json:"account_access"`
AddDatabases bool `json:"add_databases"`
AddDomains bool `json:"add_domains"`
AddFirewalls bool `json:"add_firewalls"`
AddImages bool `json:"add_images"`
AddLinodes bool `json:"add_linodes"`
AddLongview bool `json:"add_longview"`
AddNodeBalancers bool `json:"add_nodebalancers"`
AddStackScripts bool `json:"add_stackscripts"`
AddVolumes bool `json:"add_volumes"`
AddVPCs bool `json:"add_vpcs"`
CancelAccount bool `json:"cancel_account"`
ChildAccountAccess bool `json:"child_account_access"`
LongviewSubscription bool `json:"longview_subscription"`
}
type GrantPermissionLevel ¶
type GrantPermissionLevel string
const ( AccessLevelReadOnly GrantPermissionLevel = "read_only" AccessLevelReadWrite GrantPermissionLevel = "read_write" )
type GrantedEntity ¶
type GrantedEntity struct {
ID int `json:"id"`
Label string `json:"label"`
Permissions GrantPermissionLevel `json:"permissions"`
}
type GrantsListResponse ¶
type GrantsListResponse = UserGrants
type GroupConcatMaxLen ¶
type IPAddressUpdateOptions ¶
type IPAddressUpdateOptions struct {
// The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if set to nil.
Reserved *bool `json:"reserved,omitzero"`
RDNS **string `json:"rdns,omitzero"`
}
IPAddressUpdateOptions fields are those accepted by UpdateIPAddress. NOTE: An IP's RDNS can be reset to default using the following pattern:
IPAddressUpdateOptions{
RDNS: linodego.Pointer[*string](nil),
}
type IPAddressesShareOptions ¶
type IPAddressesShareOptions struct {
}
IPAddressesShareOptions fields are those accepted by ShareIPAddresses.
type IPv6Range ¶
type IPv6Range struct {
Range string `json:"range"`
Region string `json:"region"`
Prefix int `json:"prefix"`
RouteTarget string `json:"route_target"`
// These fields are only returned by GetIPv6Range(...)
IsBGP bool `json:"is_bgp"`
Linodes []int `json:"linodes"`
}
IPv6Range represents a range of IPv6 addresses routed to a single Linode in a given Region
type IPv6RangeCreateOptions ¶
type IPv6RangeCreateOptions struct {
LinodeID int `json:"linode_id,omitzero"`
PrefixLength int `json:"prefix_length"`
RouteTarget string `json:"route_target,omitzero"`
}
IPv6RangeCreateOptions fields are those accepted by CreateIPv6Range
type Image ¶
type Image struct {
ID string `json:"id"`
CreatedBy string `json:"created_by"`
Capabilities []string `json:"capabilities"`
Label string `json:"label"`
Description string `json:"description"`
Type string `json:"type"`
Vendor string `json:"vendor"`
Status ImageStatus `json:"status"`
Size int `json:"size"`
TotalSize int `json:"total_size"`
IsPublic bool `json:"is_public"`
IsShared bool `json:"is_shared"`
Deprecated bool `json:"deprecated"`
Regions []ImageRegion `json:"regions"`
Tags []string `json:"tags"`
Updated *time.Time `json:"-"`
Created *time.Time `json:"-"`
Expiry *time.Time `json:"-"`
EOL *time.Time `json:"-"`
// NOTE: ImageSharing may not currently be available to all users and can only be used with v4beta.
ImageSharing ImageSharing `json:"image_sharing"`
}
Image represents a deployable Image object for use with Linode Instances
func (Image) GetUpdateOptions ¶
func (i Image) GetUpdateOptions() (iu ImageUpdateOptions)
GetUpdateOptions converts an Image to ImageUpdateOptions for use in UpdateImage
func (*Image) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type ImageCreateOptions ¶
type ImageCreateOptions struct {
DiskID int `json:"disk_id"`
Label string `json:"label"`
Description string `json:"description,omitzero"`
CloudInit bool `json:"cloud_init,omitzero"`
Tags []string `json:"tags,omitzero"`
}
ImageCreateOptions fields are those accepted by CreateImage
type ImageCreateUploadOptions ¶
type ImageCreateUploadOptions struct {
Region string `json:"region"`
Label string `json:"label"`
Description string `json:"description,omitzero"`
CloudInit bool `json:"cloud_init,omitzero"`
Tags []string `json:"tags,omitzero"`
}
ImageCreateUploadOptions fields are those accepted by CreateImageUpload
type ImageCreateUploadResponse ¶
type ImageCreateUploadResponse struct {
Image *Image `json:"image"`
UploadTo string `json:"upload_to"`
}
ImageCreateUploadResponse fields are those returned by CreateImageUpload
type ImageRegion ¶
type ImageRegion struct {
Region string `json:"region"`
Status ImageRegionStatus `json:"status"`
}
ImageRegion represents the status of an Image object in a given Region.
type ImageRegionStatus ¶
type ImageRegionStatus string
ImageRegionStatus represents the status of an Image's replica.
const ( ImageRegionStatusAvailable ImageRegionStatus = "available" ImageRegionStatusCreating ImageRegionStatus = "creating" ImageRegionStatusPending ImageRegionStatus = "pending" ImageRegionStatusPendingReplication ImageRegionStatus = "pending replication" ImageRegionStatusPendingDeletion ImageRegionStatus = "pending deletion" ImageRegionStatusReplicating ImageRegionStatus = "replicating" )
ImageRegionStatus options start with ImageRegionStatus and include all Image replica statuses
type ImageReplicateOptions ¶
type ImageReplicateOptions struct {
Regions []string `json:"regions"`
}
ImageReplicateOptions represents the options accepted by the ReplicateImage(...) function.
type ImageShareEntry ¶
type ImageShareEntry struct {
}
ImageShareEntry represents a shared image entry for an ImageShareGroup
func (*ImageShareEntry) UnmarshalJSON ¶
func (ise *ImageShareEntry) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ImageShareGroupAddImagesOptions ¶
type ImageShareGroupAddImagesOptions struct {
}
ImageShareGroupAddImagesOptions fields are those accepted by ImageShareGroupAddImages.
type ImageShareGroupAddMemberOptions ¶
type ImageShareGroupAddMemberOptions struct {
}
ImageShareGroupAddMemberOptions fields are those accepted by ImageShareGroupAddMember. The token must be provided to the producer by the consumer via an outside medium.
type ImageShareGroupCreateOptions ¶
type ImageShareGroupCreateOptions struct {
}
ImageShareGroupCreateOptions fields are those accepted by CreateImageShareGroup.
type ImageShareGroupCreateTokenOptions ¶
type ImageShareGroupCreateTokenOptions struct {
}
ImageShareGroupCreateTokenOptions fields are those accepted by ImageShareGroupCreateToken
type ImageShareGroupCreateTokenResponse ¶
type ImageShareGroupCreateTokenResponse struct {
}
ImageShareGroupCreateTokenResponse represents the response when the consumer creates a single-use ImageShareGroup membership token. The token itself is only provided upon creation, and must be given to the producer via an outside medium for the consumer to be added as a member of the producer's ImageShareGroup.
func (*ImageShareGroupCreateTokenResponse) UnmarshalJSON ¶
func (t *ImageShareGroupCreateTokenResponse) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ImageShareGroupImage ¶
type ImageShareGroupImage struct {
}
ImageShareGroupImage represents an Image to be included in a ProducerImageShareGroup.
type ImageShareGroupMember ¶
type ImageShareGroupMember struct {
}
ImageShareGroupMember represents a Member of an ImageShareGroup owned by the producer.
func (*ImageShareGroupMember) UnmarshalJSON ¶
func (m *ImageShareGroupMember) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ImageShareGroupToken ¶
type ImageShareGroupToken struct {
}
ImageShareGroupToken contains information about a token created by a consumer. The token itself is only visible once upon creation.
func (*ImageShareGroupToken) UnmarshalJSON ¶
func (t *ImageShareGroupToken) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ImageShareGroupUpdateImageOptions ¶
type ImageShareGroupUpdateImageOptions struct {
}
ImageShareGroupUpdateImageOptions fields are those accepted by ImageShareGroupUpdateImage.
type ImageShareGroupUpdateMemberOptions ¶
type ImageShareGroupUpdateMemberOptions struct {
}
ImageShareGroupUpdateMemberOptions fields are those accepted by ImageShareGroupUpdateMember.
type ImageShareGroupUpdateOptions ¶
type ImageShareGroupUpdateOptions struct {
}
ImageShareGroupUpdateOptions fields are those accepted by UpdateImageShareGroup.
type ImageShareGroupUpdateTokenOptions ¶
type ImageShareGroupUpdateTokenOptions struct {
}
ImageShareGroupUpdateTokenOptions fields are those accepted by ImageShareGroupUpdateToken
type ImageSharing ¶
type ImageSharing struct {
}
type ImageSharingSharedBy ¶
type ImageSharingSharedBy struct {
}
type ImageSharingSharedWith ¶
type ImageSharingSharedWith struct {
}
type ImageStatus ¶
type ImageStatus string
ImageStatus represents the status of an Image.
const ( ImageStatusCreating ImageStatus = "creating" ImageStatusPendingUpload ImageStatus = "pending_upload" ImageStatusAvailable ImageStatus = "available" )
ImageStatus options start with ImageStatus and include all Image statuses
type ImageUpdateOptions ¶
type ImageUpdateOptions struct {
Label string `json:"label,omitzero"`
Description *string `json:"description,omitzero"`
Tags []string `json:"tags,omitzero"`
}
ImageUpdateOptions fields are those accepted by UpdateImage
type ImageUploadOptions ¶
type ImageUploadOptions struct {
Region string `json:"region"`
Label string `json:"label"`
Description string `json:"description,omitzero"`
CloudInit bool `json:"cloud_init"`
Tags []string `json:"tags,omitzero"`
Image io.Reader
}
ImageUploadOptions fields are those accepted by UploadImage
type InnoDBFTMinTokenSize ¶
type InnoDBFlushNeighbors ¶
type InnoDBLockWaitTimeout ¶
type InnoDBLogBufferSize ¶
type InnoDBReadIOThreads ¶
type InnoDBRollbackOnTimeout ¶
type InnoDBThreadConcurrency ¶
type InnoDBWriteIOThreads ¶
type Instance ¶
type Instance struct {
ID int `json:"id"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Region string `json:"region"`
Alerts *InstanceAlert `json:"alerts"`
Backups *InstanceBackup `json:"backups"`
Image string `json:"image"`
Group string `json:"group"`
IPv4 []net.IP `json:"ipv4"`
IPv6 string `json:"ipv6"`
Label string `json:"label"`
Type string `json:"type"`
Status InstanceStatus `json:"status"`
HasUserData bool `json:"has_user_data"`
Hypervisor string `json:"hypervisor"`
HostUUID string `json:"host_uuid"`
Specs *InstanceSpec `json:"specs"`
WatchdogEnabled bool `json:"watchdog_enabled"`
Tags []string `json:"tags"`
PlacementGroup *InstancePlacementGroup `json:"placement_group"`
DiskEncryption InstanceDiskEncryption `json:"disk_encryption"`
LKEClusterID int `json:"lke_cluster_id"`
Capabilities []string `json:"capabilities"`
InterfaceGeneration InterfaceGeneration `json:"interface_generation"`
MaintenancePolicy string `json:"maintenance_policy"`
// NOTE: Both cannot_delete and cannot_delete_with_subresources apply to Instances and can only be used with v4beta.
Locks []LockType `json:"locks"`
}
Instance represents a linode object
func (*Instance) GetUpdateOptions ¶
func (i *Instance) GetUpdateOptions() InstanceUpdateOptions
GetUpdateOptions converts an Instance to InstanceUpdateOptions for use in UpdateInstance
func (*Instance) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type InstanceAlert ¶
type InstanceAlert struct {
CPU int `json:"cpu"`
IO int `json:"io"`
NetworkIn int `json:"network_in"`
NetworkOut int `json:"network_out"`
TransferQuota int `json:"transfer_quota"`
}
InstanceAlert represents a metric alert
type InstanceBackup ¶
type InstanceBackup struct {
Available bool `json:"available,omitzero"` // read-only
Enabled bool `json:"enabled,omitzero"` // read-only
LastSuccessful *time.Time `json:"-"` // read-only
Schedule struct {
Day string `json:"day,omitzero"`
Window string `json:"window,omitzero"`
} `json:"schedule"`
}
InstanceBackup represents backup settings for an instance
func (*InstanceBackup) UnmarshalJSON ¶
func (backup *InstanceBackup) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type InstanceBackupSnapshotResponse ¶
type InstanceBackupSnapshotResponse struct {
Current *InstanceSnapshot `json:"current"`
InProgress *InstanceSnapshot `json:"in_progress"`
}
InstanceBackupSnapshotResponse fields are those representing Instance Backup Snapshots
type InstanceBackupsResponse ¶
type InstanceBackupsResponse struct {
Automatic []InstanceSnapshot `json:"automatic"`
Snapshot *InstanceBackupSnapshotResponse `json:"snapshot"`
}
InstanceBackupsResponse response struct for backup snapshot
type InstanceBootOptions ¶
type InstanceBootOptions struct {
ConfigID *int `json:"config_id,omitzero"`
}
type InstanceCloneOptions ¶
type InstanceCloneOptions struct {
Region string `json:"region,omitzero"`
Type string `json:"type,omitzero"`
// LinodeID is an optional existing instance to use as the target of the clone
LinodeID int `json:"linode_id,omitzero"`
Label string `json:"label,omitzero"`
BackupsEnabled bool `json:"backups_enabled"`
Disks []int `json:"disks,omitzero"`
Configs []int `json:"configs,omitzero"`
PrivateIP bool `json:"private_ip,omitzero"`
Metadata *InstanceMetadataOptions `json:"metadata,omitzero"`
PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitzero"`
}
InstanceCloneOptions is an options struct sent when Cloning an Instance
type InstanceConfig ¶
type InstanceConfig struct {
ID int `json:"id"`
Label string `json:"label"`
Comments string `json:"comments"`
Devices *InstanceConfigDeviceMap `json:"devices"`
Helpers *InstanceConfigHelpers `json:"helpers"`
Interfaces []InstanceConfigInterface `json:"interfaces"`
MemoryLimit int `json:"memory_limit"`
Kernel string `json:"kernel"`
InitRD *int `json:"init_rd"`
RootDevice string `json:"root_device"`
RunLevel string `json:"run_level"`
VirtMode string `json:"virt_mode"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
InstanceConfig represents all of the settings that control the boot and run configuration of a Linode Instance
func (InstanceConfig) GetCreateOptions ¶
func (i InstanceConfig) GetCreateOptions() InstanceConfigCreateOptions
GetCreateOptions converts a InstanceConfig to InstanceConfigCreateOptions for use in CreateInstanceConfig
func (InstanceConfig) GetUpdateOptions ¶
func (i InstanceConfig) GetUpdateOptions() InstanceConfigUpdateOptions
GetUpdateOptions converts a InstanceConfig to InstanceConfigUpdateOptions for use in UpdateInstanceConfig
func (*InstanceConfig) UnmarshalJSON ¶
func (i *InstanceConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type InstanceConfigCreateOptions ¶
type InstanceConfigCreateOptions struct {
Label string `json:"label,omitzero"`
Comments string `json:"comments,omitzero"`
Devices InstanceConfigDeviceMap `json:"devices"`
Helpers *InstanceConfigHelpers `json:"helpers,omitzero"`
Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces"`
MemoryLimit int `json:"memory_limit,omitzero"`
Kernel string `json:"kernel,omitzero"`
InitRD int `json:"init_rd,omitzero"`
RootDevice *string `json:"root_device,omitzero"`
RunLevel string `json:"run_level,omitzero"`
VirtMode string `json:"virt_mode,omitzero"`
}
InstanceConfigCreateOptions are InstanceConfig settings that can be used at creation
type InstanceConfigDevice ¶
type InstanceConfigDevice struct {
DiskID int `json:"disk_id,omitzero"`
VolumeID int `json:"volume_id,omitzero"`
}
InstanceConfigDevice contains either the DiskID or VolumeID assigned to a Config Device
type InstanceConfigDeviceMap ¶
type InstanceConfigDeviceMap struct {
// sda-sdz
SDA *InstanceConfigDevice `json:"sda,omitzero"`
SDB *InstanceConfigDevice `json:"sdb,omitzero"`
SDC *InstanceConfigDevice `json:"sdc,omitzero"`
SDD *InstanceConfigDevice `json:"sdd,omitzero"`
SDE *InstanceConfigDevice `json:"sde,omitzero"`
SDF *InstanceConfigDevice `json:"sdf,omitzero"`
SDG *InstanceConfigDevice `json:"sdg,omitzero"`
SDH *InstanceConfigDevice `json:"sdh,omitzero"`
SDI *InstanceConfigDevice `json:"sdi,omitzero"`
SDJ *InstanceConfigDevice `json:"sdj,omitzero"`
SDK *InstanceConfigDevice `json:"sdk,omitzero"`
SDL *InstanceConfigDevice `json:"sdl,omitzero"`
SDM *InstanceConfigDevice `json:"sdm,omitzero"`
SDN *InstanceConfigDevice `json:"sdn,omitzero"`
SDO *InstanceConfigDevice `json:"sdo,omitzero"`
SDP *InstanceConfigDevice `json:"sdp,omitzero"`
SDQ *InstanceConfigDevice `json:"sdq,omitzero"`
SDR *InstanceConfigDevice `json:"sdr,omitzero"`
SDS *InstanceConfigDevice `json:"sds,omitzero"`
SDT *InstanceConfigDevice `json:"sdt,omitzero"`
SDU *InstanceConfigDevice `json:"sdu,omitzero"`
SDV *InstanceConfigDevice `json:"sdv,omitzero"`
SDW *InstanceConfigDevice `json:"sdw,omitzero"`
SDX *InstanceConfigDevice `json:"sdx,omitzero"`
SDY *InstanceConfigDevice `json:"sdy,omitzero"`
SDZ *InstanceConfigDevice `json:"sdz,omitzero"`
// sdaa-sdaz
SDAA *InstanceConfigDevice `json:"sdaa,omitzero"`
SDAB *InstanceConfigDevice `json:"sdab,omitzero"`
SDAC *InstanceConfigDevice `json:"sdac,omitzero"`
SDAD *InstanceConfigDevice `json:"sdad,omitzero"`
SDAE *InstanceConfigDevice `json:"sdae,omitzero"`
SDAF *InstanceConfigDevice `json:"sdaf,omitzero"`
SDAG *InstanceConfigDevice `json:"sdag,omitzero"`
SDAH *InstanceConfigDevice `json:"sdah,omitzero"`
SDAI *InstanceConfigDevice `json:"sdai,omitzero"`
SDAJ *InstanceConfigDevice `json:"sdaj,omitzero"`
SDAK *InstanceConfigDevice `json:"sdak,omitzero"`
SDAL *InstanceConfigDevice `json:"sdal,omitzero"`
SDAM *InstanceConfigDevice `json:"sdam,omitzero"`
SDAN *InstanceConfigDevice `json:"sdan,omitzero"`
SDAO *InstanceConfigDevice `json:"sdao,omitzero"`
SDAP *InstanceConfigDevice `json:"sdap,omitzero"`
SDAQ *InstanceConfigDevice `json:"sdaq,omitzero"`
SDAR *InstanceConfigDevice `json:"sdar,omitzero"`
SDAS *InstanceConfigDevice `json:"sdas,omitzero"`
SDAT *InstanceConfigDevice `json:"sdat,omitzero"`
SDAU *InstanceConfigDevice `json:"sdau,omitzero"`
SDAV *InstanceConfigDevice `json:"sdav,omitzero"`
SDAW *InstanceConfigDevice `json:"sdaw,omitzero"`
SDAX *InstanceConfigDevice `json:"sdax,omitzero"`
SDAY *InstanceConfigDevice `json:"sday,omitzero"`
SDAZ *InstanceConfigDevice `json:"sdaz,omitzero"`
// sdba-sdbl
SDBA *InstanceConfigDevice `json:"sdba,omitzero"`
SDBB *InstanceConfigDevice `json:"sdbb,omitzero"`
SDBC *InstanceConfigDevice `json:"sdbc,omitzero"`
SDBD *InstanceConfigDevice `json:"sdbd,omitzero"`
SDBE *InstanceConfigDevice `json:"sdbe,omitzero"`
SDBF *InstanceConfigDevice `json:"sdbf,omitzero"`
SDBG *InstanceConfigDevice `json:"sdbg,omitzero"`
SDBH *InstanceConfigDevice `json:"sdbh,omitzero"`
SDBI *InstanceConfigDevice `json:"sdbi,omitzero"`
SDBJ *InstanceConfigDevice `json:"sdbj,omitzero"`
SDBK *InstanceConfigDevice `json:"sdbk,omitzero"`
SDBL *InstanceConfigDevice `json:"sdbl,omitzero"`
}
InstanceConfigDeviceMap contains SDA-SDH InstanceConfigDevice settings
type InstanceConfigHelpers ¶
type InstanceConfigHelpers struct {
UpdateDBDisabled bool `json:"updatedb_disabled"`
Distro bool `json:"distro"`
ModulesDep bool `json:"modules_dep"`
Network bool `json:"network"`
DevTmpFsAutomount bool `json:"devtmpfs_automount"`
}
InstanceConfigHelpers are Instance Config options that control Linux distribution specific tweaks
type InstanceConfigInterface ¶
type InstanceConfigInterface struct {
ID int `json:"id"`
IPAMAddress string `json:"ipam_address"`
Label string `json:"label"`
Purpose ConfigInterfacePurpose `json:"purpose"`
Primary bool `json:"primary"`
Active bool `json:"active"`
VPCID *int `json:"vpc_id"`
SubnetID *int `json:"subnet_id"`
IPv4 *VPCIPv4 `json:"ipv4"`
// NOTE: IPv6 interfaces may not currently be available to all users.
IPv6 *InstanceConfigInterfaceIPv6 `json:"ipv6"`
IPRanges []string `json:"ip_ranges"`
}
InstanceConfigInterface contains information about a configuration's network interface
func (InstanceConfigInterface) GetCreateOptions ¶
func (i InstanceConfigInterface) GetCreateOptions() InstanceConfigInterfaceCreateOptions
func (InstanceConfigInterface) GetUpdateOptions ¶
func (i InstanceConfigInterface) GetUpdateOptions() InstanceConfigInterfaceUpdateOptions
type InstanceConfigInterfaceCreateOptions ¶
type InstanceConfigInterfaceCreateOptions struct {
IPAMAddress string `json:"ipam_address,omitzero"`
Label string `json:"label,omitzero"`
Purpose ConfigInterfacePurpose `json:"purpose,omitzero"`
Primary bool `json:"primary,omitzero"`
SubnetID *int `json:"subnet_id,omitzero"`
IPv4 *VPCIPv4CreateOptions `json:"ipv4,omitzero"`
// NOTE: IPv6 interfaces may not currently be available to all users.
IPv6 *InstanceConfigInterfaceCreateOptionsIPv6 `json:"ipv6,omitzero"`
IPRanges []string `json:"ip_ranges,omitzero"`
}
type InstanceConfigInterfaceCreateOptionsIPv6 ¶
type InstanceConfigInterfaceCreateOptionsIPv6 struct {
SLAAC []InstanceConfigInterfaceCreateOptionsIPv6SLAAC `json:"slaac,omitzero"`
Ranges []InstanceConfigInterfaceCreateOptionsIPv6Range `json:"ranges,omitzero"`
IsPublic *bool `json:"is_public,omitzero"`
}
InstanceConfigInterfaceCreateOptionsIPv6 represents the IPv6 configuration of a Linode interface specified during creation. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceCreateOptionsIPv6Range ¶
type InstanceConfigInterfaceCreateOptionsIPv6Range struct {
Range *string `json:"range,omitzero"`
}
InstanceConfigInterfaceCreateOptionsIPv6Range represents a single IPv6 ranges of a Linode interface specified during creation. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceCreateOptionsIPv6SLAAC ¶
type InstanceConfigInterfaceCreateOptionsIPv6SLAAC struct {
Range string `json:"range"`
}
InstanceConfigInterfaceCreateOptionsIPv6SLAAC represents a single IPv6 SLAAC of a Linode interface specified during creation. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceIPv6 ¶
type InstanceConfigInterfaceIPv6 struct {
SLAAC []InstanceConfigInterfaceIPv6SLAAC `json:"slaac"`
Ranges []InstanceConfigInterfaceIPv6Range `json:"ranges"`
IsPublic *bool `json:"is_public"`
}
InstanceConfigInterfaceIPv6 represents the IPv6 configuration of a Linode interface. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceIPv6Range ¶
type InstanceConfigInterfaceIPv6Range struct {
Range string `json:"range"`
}
InstanceConfigInterfaceIPv6Range represents a single IPv6 range under a Linode interface. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceIPv6SLAAC ¶
type InstanceConfigInterfaceIPv6SLAAC struct {
Range string `json:"range"`
Address string `json:"address"`
}
InstanceConfigInterfaceIPv6SLAAC represents a single IPv6 SLAAC under a Linode interface. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceUpdateOptions ¶
type InstanceConfigInterfaceUpdateOptions struct {
Primary bool `json:"primary,omitzero"`
IPv4 *VPCIPv4UpdateOptions `json:"ipv4,omitzero"`
// NOTE: IPv6 interfaces may not currently be available to all users.
IPv6 *InstanceConfigInterfaceUpdateOptionsIPv6 `json:"ipv6,omitzero"`
IPRanges []string `json:"ip_ranges,omitzero"`
}
type InstanceConfigInterfaceUpdateOptionsIPv6 ¶
type InstanceConfigInterfaceUpdateOptionsIPv6 struct {
SLAAC []InstanceConfigInterfaceUpdateOptionsIPv6SLAAC `json:"slaac,omitzero"`
Ranges []InstanceConfigInterfaceUpdateOptionsIPv6Range `json:"ranges,omitzero"`
IsPublic *bool `json:"is_public,omitzero"`
}
InstanceConfigInterfaceUpdateOptionsIPv6 represents the IPv6 configuration of a Linode interface specified during updates. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceUpdateOptionsIPv6Range ¶
type InstanceConfigInterfaceUpdateOptionsIPv6Range struct {
Range *string `json:"range,omitzero"`
}
InstanceConfigInterfaceUpdateOptionsIPv6Range represents a single IPv6 ranges of a Linode interface specified during updates. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceUpdateOptionsIPv6SLAAC ¶
type InstanceConfigInterfaceUpdateOptionsIPv6SLAAC struct {
Range *string `json:"range,omitzero"`
}
InstanceConfigInterfaceUpdateOptionsIPv6SLAAC represents a single IPv6 SLAAC of a Linode interface specified during updates. NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfacesReorderOptions ¶
type InstanceConfigInterfacesReorderOptions struct {
IDs []int `json:"ids"`
}
type InstanceConfigUpdateOptions ¶
type InstanceConfigUpdateOptions struct {
Label string `json:"label,omitzero"`
Comments string `json:"comments"`
Devices *InstanceConfigDeviceMap `json:"devices,omitzero"`
Helpers *InstanceConfigHelpers `json:"helpers,omitzero"`
Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces"`
// MemoryLimit 0 means unlimitted, this is not omitted
MemoryLimit int `json:"memory_limit"`
Kernel string `json:"kernel,omitzero"`
// InitRD is nullable, permit the sending of null
InitRD *int `json:"init_rd"`
RootDevice string `json:"root_device,omitzero"`
RunLevel string `json:"run_level,omitzero"`
VirtMode string `json:"virt_mode,omitzero"`
}
InstanceConfigUpdateOptions are InstanceConfig settings that can be used in updates
type InstanceCreateOptions ¶
type InstanceCreateOptions struct {
Region string `json:"region"`
Type string `json:"type"`
Label string `json:"label,omitzero"`
RootPass string `json:"root_pass,omitzero"`
AuthorizedKeys []string `json:"authorized_keys,omitzero"`
AuthorizedUsers []string `json:"authorized_users,omitzero"`
StackScriptID int `json:"stackscript_id,omitzero"`
StackScriptData map[string]string `json:"stackscript_data,omitzero"`
BackupID int `json:"backup_id,omitzero"`
Image string `json:"image,omitzero"`
BackupsEnabled bool `json:"backups_enabled,omitzero"`
PrivateIP bool `json:"private_ip,omitzero"`
NetworkHelper *bool `json:"network_helper,omitzero"`
Tags []string `json:"tags,omitzero"`
Metadata *InstanceMetadataOptions `json:"metadata,omitzero"`
FirewallID int `json:"firewall_id,omitzero"`
InterfaceGeneration InterfaceGeneration `json:"interface_generation,omitzero"`
DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitzero"`
PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitzero"`
// Linode Interfaces to create the new instance with.
// Conflicts with Interfaces.
LinodeInterfaces []LinodeInterfaceCreateOptions `json:"-"`
// Legacy (config) Interfaces to create the new instance with.
// Conflicts with LinodeInterfaces.
Interfaces []InstanceConfigInterfaceCreateOptions `json:"-"`
// Creation fields that need to be set explicitly false, "", or 0 use pointers
SwapSize *int `json:"swap_size,omitzero"`
Booted *bool `json:"booted,omitzero"`
IPv4 []string `json:"ipv4,omitzero"`
MaintenancePolicy *string `json:"maintenance_policy,omitzero"`
Kernel *string `json:"kernel,omitzero"`
BootSize *int `json:"boot_size,omitzero"`
}
InstanceCreateOptions require only Region and Type
func (InstanceCreateOptions) MarshalJSON ¶
func (i InstanceCreateOptions) MarshalJSON() ([]byte, error)
MarshalJSON contains logic necessary to populate the `interfaces` field of InstanceCreateOptions depending on whether Interfaces or LinodeInterfaces is specified.
func (*InstanceCreateOptions) UnmarshalJSON ¶
func (i *InstanceCreateOptions) UnmarshalJSON(b []byte) error
UnmarshalJSON contains logic necessary to populate the Interfaces field depending on the value of interface_generation.
type InstanceCreatePlacementGroupOptions ¶
type InstanceCreatePlacementGroupOptions struct {
ID int `json:"id"`
CompliantOnly *bool `json:"compliant_only,omitzero"`
}
InstanceCreatePlacementGroupOptions represents the placement group to create this Linode under.
type InstanceDisk ¶
type InstanceDisk struct {
ID int `json:"id"`
Label string `json:"label"`
Status DiskStatus `json:"status"`
Size int `json:"size"`
Filesystem DiskFilesystem `json:"filesystem"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
DiskEncryption InstanceDiskEncryption `json:"disk_encryption"`
}
InstanceDisk represents an Instance Disk object
func (*InstanceDisk) UnmarshalJSON ¶
func (i *InstanceDisk) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type InstanceDiskCreateOptions ¶
type InstanceDiskCreateOptions struct {
Label string `json:"label"`
Size int `json:"size"`
// Image is optional, but requires at least one of RootPass, AuthorizedUsers, or AuthorizedKeys if provided
Image string `json:"image,omitzero"`
RootPass string `json:"root_pass,omitzero"`
Filesystem string `json:"filesystem,omitzero"`
AuthorizedKeys []string `json:"authorized_keys,omitzero"`
AuthorizedUsers []string `json:"authorized_users,omitzero"`
StackscriptID int `json:"stackscript_id,omitzero"`
StackscriptData map[string]string `json:"stackscript_data,omitzero"`
}
InstanceDiskCreateOptions are InstanceDisk settings that can be used at creation
type InstanceDiskEncryption ¶
type InstanceDiskEncryption string
const ( InstanceDiskEncryptionEnabled InstanceDiskEncryption = "enabled" InstanceDiskEncryptionDisabled InstanceDiskEncryption = "disabled" )
type InstanceDiskPasswordResetOptions ¶
type InstanceDiskPasswordResetOptions struct {
Password string `json:"password"`
}
InstanceDiskPasswordResetOptions are InstanceDisk settings that can be used in password resets
type InstanceDiskResizeOptions ¶
type InstanceDiskResizeOptions struct {
Size int `json:"size"`
}
InstanceDiskResizeOptions are InstanceDisk settings that can be used in resizes
type InstanceDiskUpdateOptions ¶
type InstanceDiskUpdateOptions struct {
Label string `json:"label"`
}
InstanceDiskUpdateOptions are InstanceDisk settings that can be used in updates
type InstanceFirewallUpdateOptions ¶
type InstanceFirewallUpdateOptions struct {
FirewallIDs []int `json:"firewall_ids"`
}
type InstanceIP ¶
type InstanceIP struct {
Address string `json:"address"`
Gateway string `json:"gateway"`
SubnetMask string `json:"subnet_mask"`
Prefix int `json:"prefix"`
Type InstanceIPType `json:"type"`
Public bool `json:"public"`
RDNS string `json:"rdns"`
LinodeID int `json:"linode_id"`
InterfaceID *int `json:"interface_id"`
Region string `json:"region"`
VPCNAT1To1 *InstanceIPNAT1To1 `json:"vpc_nat_1_1"`
Reserved bool `json:"reserved"`
}
InstanceIP represents an Instance IP with additional DNS and networking details
func (InstanceIP) GetUpdateOptions ¶
func (i InstanceIP) GetUpdateOptions() IPAddressUpdateOptions
GetUpdateOptions converts a IPAddress to IPAddressUpdateOptions for use in UpdateIPAddress.
type InstanceIPAddOptions ¶
type InstanceIPAddressResponse ¶
type InstanceIPAddressResponse struct {
IPv4 *InstanceIPv4Response `json:"ipv4"`
IPv6 *InstanceIPv6Response `json:"ipv6"`
}
InstanceIPAddressResponse contains the IPv4 and IPv6 details for an Instance
type InstanceIPAddressUpdateOptions ¶
type InstanceIPAddressUpdateOptions struct {
RDNS **string `json:"rdns,omitzero"`
}
type InstanceIPNAT1To1 ¶
type InstanceIPNAT1To1 struct {
Address string `json:"address"`
SubnetID int `json:"subnet_id"`
VPCID int `json:"vpc_id"`
}
InstanceIPNAT1To1 contains information about the NAT 1:1 mapping of a public IP address to a VPC subnet.
type InstanceIPType ¶
type InstanceIPType string
InstanceIPType constants start with IPType and include Linode Instance IP Types
const ( IPTypeIPv4 InstanceIPType = "ipv4" IPTypeIPv6 InstanceIPType = "ipv6" IPTypeIPv6Pool InstanceIPType = "ipv6/pool" IPTypeIPv6Range InstanceIPType = "ipv6/range" )
InstanceIPType constants represent the IP types an Instance IP may be
type InstanceIPv4Response ¶
type InstanceIPv4Response struct {
Public []InstanceIP `json:"public"`
Private []InstanceIP `json:"private"`
Reserved []InstanceIP `json:"reserved"`
VPC []VPCIP `json:"vpc"`
}
InstanceIPv4Response contains the details of all IPv4 addresses associated with an Instance
type InstanceIPv6Response ¶
type InstanceIPv6Response struct {
LinkLocal *InstanceIP `json:"link_local"`
SLAAC *InstanceIP `json:"slaac"`
Global []IPv6Range `json:"global"`
// NOTE: IPv6 VPCs may not currently be available to all users.
VPC []VPCIP `json:"vpc"`
}
InstanceIPv6Response contains the IPv6 addresses and ranges for an Instance
type InstanceMetadataOptions ¶
type InstanceMetadataOptions struct {
// UserData expects a Base64-encoded string
UserData string `json:"user_data,omitzero"`
}
InstanceMetadataOptions specifies various Instance creation fields that relate to the Linode Metadata service.
type InstanceMigrateOptions ¶
type InstanceMigrateOptions struct {
Type InstanceMigrationType `json:"type,omitzero"`
Region string `json:"region,omitzero"`
Upgrade *bool `json:"upgrade,omitzero"`
PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitzero"`
}
InstanceMigrateOptions is an options struct used when migrating an instance
type InstanceMigrationType ¶
type InstanceMigrationType string
const ( WarmMigration InstanceMigrationType = "warm" ColdMigration InstanceMigrationType = "cold" )
type InstancePasswordResetOptions ¶
type InstancePasswordResetOptions struct {
RootPass string `json:"root_pass"`
}
InstancePasswordResetOptions specifies the new password for the Linode
type InstancePlacementGroup ¶
type InstancePlacementGroup struct {
ID int `json:"id"`
Label string `json:"label"`
PlacementGroupType PlacementGroupType `json:"placement_group_type"`
PlacementGroupPolicy PlacementGroupPolicy `json:"placement_group_policy"`
MigratingTo *int `json:"migrating_to"` // read-only
}
InstancePlacementGroup represents information about the placement group this Linode is a part of.
type InstanceRebootOptions ¶
type InstanceRebootOptions struct {
ConfigID *int `json:"config_id,omitzero"`
}
type InstanceRebuildOptions ¶
type InstanceRebuildOptions struct {
Image string `json:"image,omitzero"`
RootPass string `json:"root_pass,omitzero"`
AuthorizedKeys []string `json:"authorized_keys,omitzero"`
AuthorizedUsers []string `json:"authorized_users,omitzero"`
StackScriptID int `json:"stackscript_id,omitzero"`
StackScriptData map[string]string `json:"stackscript_data,omitzero"`
Booted *bool `json:"booted,omitzero"`
Metadata *InstanceMetadataOptions `json:"metadata,omitzero"`
Type string `json:"type,omitzero"`
DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitzero"`
}
InstanceRebuildOptions is a struct representing the options to send to the rebuild linode endpoint
type InstanceRescueOptions ¶
type InstanceRescueOptions struct {
Devices InstanceConfigDeviceMap `json:"devices"`
}
InstanceRescueOptions fields are those accepted by RescueInstance
type InstanceResizeOptions ¶
type InstanceResizeOptions struct {
Type string `json:"type"`
MigrationType InstanceMigrationType `json:"migration_type,omitzero"`
// When enabled, an instance resize will also resize a data disk if the instance has no more than one data disk and one swap disk
AllowAutoDiskResize *bool `json:"allow_auto_disk_resize,omitzero"`
}
InstanceResizeOptions is an options struct used when resizing an instance
type InstanceSnapshot ¶
type InstanceSnapshot struct {
ID int `json:"id"`
Label string `json:"label"`
Status InstanceSnapshotStatus `json:"status"`
Type string `json:"type"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Finished *time.Time `json:"-"`
Configs []string `json:"configs"`
Disks []InstanceSnapshotDisk `json:"disks"`
Available bool `json:"available"`
}
InstanceSnapshot represents a linode backup snapshot
func (*InstanceSnapshot) UnmarshalJSON ¶
func (i *InstanceSnapshot) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type InstanceSnapshotCreateOptions ¶
type InstanceSnapshotCreateOptions struct {
Label string `json:"label"`
}
type InstanceSnapshotDisk ¶
type InstanceSnapshotDisk struct {
Label string `json:"label"`
Size int `json:"size"`
Filesystem string `json:"filesystem"`
}
InstanceSnapshotDisk fields represent the source disk of a Snapshot
type InstanceSnapshotStatus ¶
type InstanceSnapshotStatus string
InstanceSnapshotStatus constants start with Snapshot and include Linode API Instance Backup Snapshot status values
var ( SnapshotPaused InstanceSnapshotStatus = "paused" SnapshotPending InstanceSnapshotStatus = "pending" SnapshotRunning InstanceSnapshotStatus = "running" SnapshotNeedsPostProcessing InstanceSnapshotStatus = "needsPostProcessing" SnapshotSuccessful InstanceSnapshotStatus = "successful" SnapshotFailed InstanceSnapshotStatus = "failed" SnapshotUserAborted InstanceSnapshotStatus = "userAborted" )
InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot
type InstanceSpec ¶
type InstanceSpec struct {
Disk int `json:"disk"`
Memory int `json:"memory"`
VCPUs int `json:"vcpus"`
Transfer int `json:"transfer"`
GPUs int `json:"gpus"`
AcceleratedDevices int `json:"accelerated_devices"`
}
InstanceSpec represents a linode spec
type InstanceStats ¶
type InstanceStats struct {
Title string `json:"title"`
Data InstanceStatsData `json:"data"`
}
InstanceStats represents an instance stats object
type InstanceStatsData ¶
type InstanceStatsData struct {
CPU [][]float64 `json:"cpu"`
IO StatsIO `json:"io"`
NetV4 StatsNet `json:"netv4"`
NetV6 StatsNet `json:"netv6"`
}
InstanceStatsData represents an instance stats data object
type InstanceStatus ¶
type InstanceStatus string
InstanceStatus constants start with Instance and include Linode API Instance Status values
const ( InstanceBooting InstanceStatus = "booting" InstanceRunning InstanceStatus = "running" InstanceOffline InstanceStatus = "offline" InstanceShuttingDown InstanceStatus = "shutting_down" InstanceRebooting InstanceStatus = "rebooting" InstanceProvisioning InstanceStatus = "provisioning" InstanceDeleting InstanceStatus = "deleting" InstanceMigrating InstanceStatus = "migrating" InstanceRebuilding InstanceStatus = "rebuilding" InstanceCloning InstanceStatus = "cloning" InstanceRestoring InstanceStatus = "restoring" InstanceResizing InstanceStatus = "resizing" )
InstanceStatus constants reflect the current status of an Instance
type InstanceTransfer ¶
type InstanceTransfer struct {
// Bytes of transfer this instance has consumed
Used int `json:"used"`
// GB of billable transfer this instance has consumed
Billable int `json:"billable"`
// GB of transfer this instance adds to the Transfer pool
Quota int `json:"quota"`
}
InstanceTransfer pool stats for a Linode Instance during the current billing month
type InstanceUpdateOptions ¶
type InstanceUpdateOptions struct {
Label string `json:"label,omitzero"`
Backups *InstanceBackup `json:"backups,omitzero"`
Alerts *InstanceAlert `json:"alerts,omitzero"`
WatchdogEnabled *bool `json:"watchdog_enabled,omitzero"`
Tags []string `json:"tags,omitzero"`
MaintenancePolicy *string `json:"maintenance_policy,omitzero"`
}
InstanceUpdateOptions is an options struct used when Updating an Instance
type InstanceUpgradeOptions ¶
type InstanceUpgradeOptions struct {
// Automatically resize disks when resizing a Linode.
// When resizing down to a smaller plan your Linode's data must fit within the smaller disk size.
AllowAutoDiskResize bool `json:"allow_auto_disk_resize"`
}
InstanceUpgradeOptions is a struct representing the options for upgrading a Linode
type InteractiveTimeout ¶
type InterfaceDefaultRoute ¶
type InterfaceGeneration ¶
type InterfaceGeneration string
const ( GenerationLegacyConfig InterfaceGeneration = "legacy_config" GenerationLinode InterfaceGeneration = "linode" )
type InterfaceSettings ¶
type InterfaceSettings struct {
NetworkHelper bool `json:"network_helper"`
DefaultRoute InterfaceDefaultRouteSetting `json:"default_route"`
}
type InterfaceSettingsUpdateOptions ¶
type InterfaceSettingsUpdateOptions struct {
NetworkHelper *bool `json:"network_helper,omitzero"`
DefaultRoute *InterfaceDefaultRouteSettingUpdateOptions `json:"default_route,omitzero"`
}
type InterfacesForNewLinodes ¶
type InterfacesForNewLinodes string
const ( LegacyConfigOnly InterfacesForNewLinodes = "legacy_config_only" LegacyConfigDefaultButLinodeAllowed InterfacesForNewLinodes = "legacy_config_default_but_linode_allowed" LinodeDefaultButLegacyConfigAllowed InterfacesForNewLinodes = "linode_default_but_legacy_config_allowed" LinodeOnly InterfacesForNewLinodes = "linode_only" )
type Invoice ¶
type Invoice struct {
ID int `json:"id"`
Label string `json:"label"`
Total float32 `json:"total"`
Date *time.Time `json:"-"`
Tax float32 `json:"tax"`
Subtotal float32 `json:"subtotal"`
BillingSource string `json:"billing_source"`
TaxSummary []InvoiceTaxSummary `json:"tax_summary"`
}
Invoice structs reflect an invoice for billable activity on the account.
func (*Invoice) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type InvoiceItem ¶
type InvoiceItem struct {
Label string `json:"label"`
Type string `json:"type"`
UnitPrice string `json:"unit_price"`
Quantity int `json:"quantity"`
Amount float32 `json:"amount"`
Tax float32 `json:"tax"`
Region *string `json:"region"`
From *time.Time `json:"-"`
To *time.Time `json:"-"`
Total float32 `json:"total"`
}
InvoiceItem structs reflect a single billable activity associate with an Invoice
func (*InvoiceItem) UnmarshalJSON ¶
func (i *InvoiceItem) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type InvoiceTaxSummary ¶
type LKECluster ¶
type LKECluster struct {
ID int `json:"id"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Label string `json:"label"`
Region string `json:"region"`
Status LKEClusterStatus `json:"status"`
K8sVersion string `json:"k8s_version"`
Tags []string `json:"tags"`
ControlPlane LKEClusterControlPlane `json:"control_plane"`
// NOTE: Tier may not currently be available to all users and can only be used with v4beta.
Tier string `json:"tier"`
// NOTE: APLEnabled is currently in beta and may only function with API version v4beta.
APLEnabled bool `json:"apl_enabled"`
// NOTE: SubnetID, VpcID, and StackType may not currently be available to all users and can only be used with v4beta.
SubnetID int `json:"subnet_id"`
VpcID int `json:"vpc_id"`
StackType LKEClusterStackType `json:"stack_type"`
// NOTE: Locks can only be used with v4beta.
Locks []LockType `json:"locks"`
}
LKECluster represents a LKECluster object
func (LKECluster) GetCreateOptions ¶
func (i LKECluster) GetCreateOptions() (o LKEClusterCreateOptions)
GetCreateOptions converts a LKECluster to LKEClusterCreateOptions for use in CreateLKECluster
func (LKECluster) GetUpdateOptions ¶
func (i LKECluster) GetUpdateOptions() (o LKEClusterUpdateOptions)
GetUpdateOptions converts a LKECluster to LKEClusterUpdateOptions for use in UpdateLKECluster
func (*LKECluster) UnmarshalJSON ¶
func (i *LKECluster) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type LKEClusterAPIEndpoint ¶
type LKEClusterAPIEndpoint struct {
Endpoint string `json:"endpoint"`
}
LKEClusterAPIEndpoint fields are those returned by ListLKEClusterAPIEndpoints
type LKEClusterControlPlane ¶
type LKEClusterControlPlane struct {
HighAvailability bool `json:"high_availability"`
// AuditLogsEnabled may not currently be available to all users and can only be used with v4beta.
AuditLogsEnabled bool `json:"audit_logs_enabled,omitzero"`
}
LKEClusterControlPlane fields contained within the `control_plane` attribute of an LKE cluster.
type LKEClusterControlPlaneACL ¶
type LKEClusterControlPlaneACL struct {
Enabled bool `json:"enabled"`
Addresses *LKEClusterControlPlaneACLAddresses `json:"addresses"`
RevisionID string `json:"revision-id"`
}
LKEClusterControlPlaneACL describes the ACL configuration for an LKE cluster's control plane.
type LKEClusterControlPlaneACLAddresses ¶
type LKEClusterControlPlaneACLAddresses struct {
IPv4 []string `json:"ipv4"`
IPv6 []string `json:"ipv6"`
}
LKEClusterControlPlaneACLAddresses describes the allowed IP ranges for an LKE cluster's control plane.
type LKEClusterControlPlaneACLAddressesOptions ¶
type LKEClusterControlPlaneACLAddressesOptions struct {
IPv4 []string `json:"ipv4,omitzero"`
IPv6 []string `json:"ipv6,omitzero"`
}
LKEClusterControlPlaneACLAddressesOptions are the options used to specify the allowed IP ranges for an LKE cluster's control plane.
type LKEClusterControlPlaneACLOptions ¶
type LKEClusterControlPlaneACLOptions struct {
Enabled *bool `json:"enabled,omitzero"`
Addresses *LKEClusterControlPlaneACLAddressesOptions `json:"addresses,omitzero"`
RevisionID string `json:"revision-id,omitzero"`
}
LKEClusterControlPlaneACLOptions represents the options used when configuring an LKE cluster's control plane ACL policy.
type LKEClusterControlPlaneACLResponse ¶
type LKEClusterControlPlaneACLResponse struct {
ACL LKEClusterControlPlaneACL `json:"acl"`
}
LKEClusterControlPlaneACLResponse represents the response structure for the Client.GetLKEClusterControlPlaneACL(...) method.
type LKEClusterControlPlaneACLUpdateOptions ¶
type LKEClusterControlPlaneACLUpdateOptions struct {
ACL LKEClusterControlPlaneACLOptions `json:"acl"`
}
LKEClusterControlPlaneACLUpdateOptions represents the options available when updating the ACL configuration of an LKE cluster's control plane.
type LKEClusterControlPlaneOptions ¶
type LKEClusterControlPlaneOptions struct {
HighAvailability *bool `json:"high_availability,omitzero"`
ACL *LKEClusterControlPlaneACLOptions `json:"acl,omitzero"`
// AuditLogsEnabled may not currently be available to all users and can only be used with v4beta.
AuditLogsEnabled *bool `json:"audit_logs_enabled,omitzero"`
}
LKEClusterControlPlaneOptions represents the options used when configuring an LKE cluster's control plane.
type LKEClusterCreateOptions ¶
type LKEClusterCreateOptions struct {
NodePools []LKENodePoolCreateOptions `json:"node_pools"`
Label string `json:"label"`
Region string `json:"region"`
K8sVersion string `json:"k8s_version"`
Tags []string `json:"tags,omitzero"`
ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitzero"`
// NOTE: Tier may not currently be available to all users and can only be used with v4beta.
Tier string `json:"tier,omitzero"`
// NOTE: APLEnabled is currently in beta and may only function with API version v4beta.
APLEnabled bool `json:"apl_enabled,omitzero"`
// NOTE: SubnetID, VpcID, and StackType may not currently be available to all users and can only be used with v4beta.
SubnetID *int `json:"subnet_id,omitzero"`
VpcID *int `json:"vpc_id,omitzero"`
StackType *LKEClusterStackType `json:"stack_type,omitzero"`
}
LKEClusterCreateOptions fields are those accepted by CreateLKECluster
type LKEClusterKubeconfig ¶
type LKEClusterKubeconfig struct {
KubeConfig string `json:"kubeconfig"` // Base64-encoded Kubeconfig file for this Cluster.
}
LKEClusterKubeconfig fields are those returned by GetLKEClusterKubeconfig
type LKEClusterPollOptions ¶
type LKEClusterPollOptions struct {
// Retry will cause the Poll to ignore interimittent errors
Retry bool
// TansportWrapper allows adding a transport middleware function that will
// wrap the LKE Cluster client's underlying http.RoundTripper.
TransportWrapper func(http.RoundTripper) http.RoundTripper
}
LKEClusterPollOptions configures polls against LKE Clusters.
type LKEClusterRegenerateOptions ¶
type LKEClusterRegenerateOptions struct {
KubeConfig bool `json:"kubeconfig"`
ServiceToken bool `json:"servicetoken"`
}
LKEClusterRegenerateOptions fields are those accepted by RegenerateLKECluster
type LKEClusterStackType ¶
type LKEClusterStackType string
const ( LKEClusterStackIPv4 LKEClusterStackType = "ipv4" LKEClusterDualStack LKEClusterStackType = "ipv4-ipv6" )
type LKEClusterStatus ¶
type LKEClusterStatus string
LKEClusterStatus represents the status of an LKECluster
const ( LKEClusterReady LKEClusterStatus = "ready" LKEClusterNotReady LKEClusterStatus = "not_ready" )
LKEClusterStatus enums start with LKECluster
type LKEClusterUpdateOptions ¶
type LKEClusterUpdateOptions struct {
K8sVersion string `json:"k8s_version,omitzero"`
Label string `json:"label,omitzero"`
Tags []string `json:"tags,omitzero"`
ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitzero"`
}
LKEClusterUpdateOptions fields are those accepted by UpdateLKECluster
type LKELinodeStatus ¶
type LKELinodeStatus string
LKELinodeStatus constants start with LKELinode and include Linode API LKENodePool Linode Status values
const ( LKELinodeReady LKELinodeStatus = "ready" LKELinodeNotReady LKELinodeStatus = "not_ready" )
LKENodePoolStatus constants reflect the current status of an LKENodePool
type LKENodePool ¶
type LKENodePool struct {
ID int `json:"id"`
Count int `json:"count"`
Type string `json:"type"`
Disks []LKENodePoolDisk `json:"disks"`
Linodes []LKENodePoolLinode `json:"nodes"`
Tags []string `json:"tags"`
Labels LKENodePoolLabels `json:"labels"`
Taints []LKENodePoolTaint `json:"taints"`
Label *string `json:"label"`
Autoscaler LKENodePoolAutoscaler `json:"autoscaler"`
FirewallID *int `json:"firewall_id,omitzero"`
DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitzero"`
// K8sVersion and UpdateStrategy are only for LKE Enterprise to support node pool upgrades.
// It may not currently be available to all users and is under v4beta.
K8sVersion *string `json:"k8s_version,omitzero"`
UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitzero"`
// NOTE: Only cannot_delete applies to LKE node pools and can only be used with v4beta.
Locks []LockType `json:"locks"`
}
LKENodePool represents a LKENodePool object
func (LKENodePool) GetCreateOptions ¶
func (l LKENodePool) GetCreateOptions() (o LKENodePoolCreateOptions)
GetCreateOptions converts a LKENodePool to LKENodePoolCreateOptions for use in CreateLKENodePool
func (LKENodePool) GetUpdateOptions ¶
func (l LKENodePool) GetUpdateOptions() (o LKENodePoolUpdateOptions)
GetUpdateOptions converts a LKENodePool to LKENodePoolUpdateOptions for use in UpdateLKENodePoolUpdate
type LKENodePoolAutoscaler ¶
type LKENodePoolCreateOptions ¶
type LKENodePoolCreateOptions struct {
Count int `json:"count"`
Type string `json:"type"`
Disks []LKENodePoolDisk `json:"disks"`
Tags []string `json:"tags"`
Labels LKENodePoolLabels `json:"labels"`
Taints []LKENodePoolTaint `json:"taints"`
Label *string `json:"label,omitzero"`
Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitzero"`
FirewallID *int `json:"firewall_id,omitzero"`
// K8sVersion and UpdateStrategy only works for LKE Enterprise to support node pool upgrades.
// It may not currently be available to all users and is under v4beta.
K8sVersion *string `json:"k8s_version,omitzero"`
UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitzero"`
DiskEncryption *InstanceDiskEncryption `json:"disk_encryption,omitzero"`
}
LKENodePoolCreateOptions fields are those accepted by CreateLKENodePool
type LKENodePoolDisk ¶
LKENodePoolDisk represents a Node disk in an LKENodePool object
type LKENodePoolLabels ¶
LKENodePoolLabels represents Kubernetes labels to add to an LKENodePool
type LKENodePoolLinode ¶
type LKENodePoolLinode struct {
ID string `json:"id"`
InstanceID int `json:"instance_id"`
Status LKELinodeStatus `json:"status"`
}
LKENodePoolLinode represents a LKENodePoolLinode object
type LKENodePoolTaint ¶
type LKENodePoolTaint struct {
Key string `json:"key"`
Value string `json:"value,omitzero"`
Effect LKENodePoolTaintEffect `json:"effect"`
}
LKENodePoolTaint represents a corev1.Taint to add to an LKENodePool
type LKENodePoolTaintEffect ¶
type LKENodePoolTaintEffect string
LKENodePoolTaintEffect represents the effect value of a taint
const ( LKENodePoolTaintEffectNoSchedule LKENodePoolTaintEffect = "NoSchedule" LKENodePoolTaintEffectPreferNoSchedule LKENodePoolTaintEffect = "PreferNoSchedule" LKENodePoolTaintEffectNoExecute LKENodePoolTaintEffect = "NoExecute" )
type LKENodePoolUpdateOptions ¶
type LKENodePoolUpdateOptions struct {
Count int `json:"count,omitzero"`
Tags []string `json:"tags,omitzero"`
Labels *LKENodePoolLabels `json:"labels,omitzero"`
Taints []LKENodePoolTaint `json:"taints,omitzero"`
Label *string `json:"label,omitzero"`
Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitzero"`
FirewallID *int `json:"firewall_id,omitzero"`
// K8sVersion and UpdateStrategy only works for LKE Enterprise to support node pool upgrades.
// It may not currently be available to all users and is under v4beta.
K8sVersion *string `json:"k8s_version,omitzero"`
UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitzero"`
}
LKENodePoolUpdateOptions fields are those accepted by UpdateLKENodePoolUpdate
type LKENodePoolUpdateStrategy ¶
type LKENodePoolUpdateStrategy string
LKENodePoolUpdateStrategy constants start with LKENodePool and include LKE Node Pool upgrade strategy values
const ( LKENodePoolRollingUpdate LKENodePoolUpdateStrategy = "rolling_update" LKENodePoolOnRecycle LKENodePoolUpdateStrategy = "on_recycle" )
LKENodePoolUpdateStrategy constants describe the available upgrade strategies for LKE Enterprise only
type LKETierVersion ¶
type LKETierVersion struct {
ID string `json:"id"`
Tier LKEVersionTier `json:"tier"`
}
LKETierVersion fields are those returned by GetLKETierVersion NOTE: It may not currently be available to all users and can only be used with v4beta.
type LKEType ¶
type LKEType struct {
// contains filtered or unexported fields
}
LKEType represents a single valid LKE type. NOTE: This typically corresponds to the availability of a cluster's control plane.
type LKETypePrice ¶
type LKETypePrice struct {
// contains filtered or unexported fields
}
LKETypePrice represents the base hourly and monthly prices for an LKE type entry.
type LKETypeRegionPrice ¶
type LKETypeRegionPrice struct {
// contains filtered or unexported fields
}
LKETypeRegionPrice represents the regional hourly and monthly prices for an LKE type entry.
type LKEVersion ¶
type LKEVersion struct {
ID string `json:"id"`
}
LKEVersion fields are those returned by GetLKEVersion
type LKEVersionTier ¶
type LKEVersionTier string
LKEVersionTier enums represents different LKE tiers
const ( LKEVersionStandard LKEVersionTier = "standard" LKEVersionEnterprise LKEVersionTier = "enterprise" )
LKEVersionTier enums start with LKEVersion
type LastLogin ¶
LastLogin represents a LastLogin object
func (*LastLogin) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type LinodeAddons ¶
type LinodeAddons struct {
Backups *LinodeBackupsAddon `json:"backups"`
}
LinodeAddons represent the linode addons object
type LinodeBackupsAddon ¶
type LinodeBackupsAddon struct {
Price *LinodePrice `json:"price"`
RegionPrices []LinodeRegionPrice `json:"region_prices"`
}
LinodeBackupsAddon represents a linode backups addon object
type LinodeEntity ¶
type LinodeEntity struct {
ID int `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
}
LinodeEntity is anything in Linode with IAM Permissions
type LinodeIPAssignment ¶
LinodeIPAssignment stores an assignment between an IP address and a Linode instance.
type LinodeInterface ¶
type LinodeInterface struct {
ID int `json:"id"`
Version int `json:"version"`
MACAddress string `json:"mac_address"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
DefaultRoute *InterfaceDefaultRoute `json:"default_route"`
Public *PublicInterface `json:"public"`
VPC *VPCInterface `json:"vpc"`
VLAN *VLANInterface `json:"vlan"`
}
func (*LinodeInterface) UnmarshalJSON ¶
func (i *LinodeInterface) UnmarshalJSON(b []byte) error
type LinodeInterfaceCreateOptions ¶
type LinodeInterfaceCreateOptions struct {
FirewallID *int `json:"firewall_id,omitzero"`
DefaultRoute *InterfaceDefaultRouteCreateOptions `json:"default_route,omitzero"`
Public *PublicInterfaceCreateOptions `json:"public,omitzero"`
VPC *VPCInterfaceCreateOptions `json:"vpc,omitzero"`
VLAN *VLANInterfaceCreateOptions `json:"vlan,omitzero"`
}
type LinodeInterfaceUpdateOptions ¶
type LinodeInterfaceUpdateOptions struct {
DefaultRoute *InterfaceDefaultRouteUpdateOptions `json:"default_route,omitzero"`
Public *PublicInterfaceCreateOptions `json:"public,omitzero"`
VPC *VPCInterfaceUpdateOptions `json:"vpc,omitzero"`
}
type LinodeInterfacesUpgrade ¶
type LinodeInterfacesUpgrade struct {
ConfigID int `json:"config_id"`
DryRun bool `json:"dry_run"`
Interfaces []LinodeInterface `json:"interfaces"`
}
type LinodeKernel ¶
type LinodeKernel struct {
ID string `json:"id"`
Label string `json:"label"`
Version string `json:"version"`
Architecture string `json:"architecture"`
Deprecated bool `json:"deprecated"`
KVM bool `json:"kvm"`
PVOPS bool `json:"pvops"`
Built *time.Time `json:"-"`
}
LinodeKernel represents a Linode Instance kernel object
func (*LinodeKernel) UnmarshalJSON ¶
func (i *LinodeKernel) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type LinodePrice ¶
LinodePrice represents a linode type price object
type LinodeRegionPrice ¶
type LinodeRegionPrice struct {
ID string `json:"id"`
Hourly float32 `json:"hourly"`
Monthly float32 `json:"monthly"`
}
LinodeRegionPrice represents an individual type or addon price exception for a region.
type LinodeType ¶
type LinodeType struct {
ID string `json:"id"`
Disk int `json:"disk"`
Class LinodeTypeClass `json:"class"` // enum: nanode, standard, highmem, dedicated, gpu
Price *LinodePrice `json:"price"`
Label string `json:"label"`
Addons *LinodeAddons `json:"addons"`
RegionPrices []LinodeRegionPrice `json:"region_prices"`
NetworkOut int `json:"network_out"`
Memory int `json:"memory"`
Transfer int `json:"transfer"`
VCPUs int `json:"vcpus"`
GPUs int `json:"gpus"`
Successor string `json:"successor"`
AcceleratedDevices int `json:"accelerated_devices"`
}
LinodeType represents a linode type object
type LinodeTypeClass ¶
type LinodeTypeClass string
LinodeTypeClass constants start with Class and include Linode API Instance Type Classes
const ( ClassNanode LinodeTypeClass = "nanode" ClassStandard LinodeTypeClass = "standard" ClassHighmem LinodeTypeClass = "highmem" ClassDedicated LinodeTypeClass = "dedicated" ClassGPU LinodeTypeClass = "gpu" )
LinodeTypeClass constants are the Instance Type Classes that an Instance Type can be assigned
type LinodesAssignIPsOptions ¶
type LinodesAssignIPsOptions struct {
Region string `json:"region"`
Assignments []LinodeIPAssignment `json:"assignments"`
}
LinodesAssignIPsOptions fields are those accepted by InstancesAssignIPs.
type LishAuthMethod ¶
type LishAuthMethod string
LishAuthMethod constants start with AuthMethod and include Linode API Lish Authentication Methods
const ( AuthMethodPasswordKeys LishAuthMethod = "password_keys" AuthMethodKeysOnly LishAuthMethod = "keys_only" AuthMethodDisabled LishAuthMethod = "disabled" )
LishAuthMethod constants are the methods of authentication allowed when connecting via Lish
type ListIPAddressesQuery ¶
type ListIPAddressesQuery struct {
SkipIPv6RDNS bool `query:"skip_ipv6_rdns"`
}
ListIPAddressesQuery fields are those accepted as query params for the ListIPAddresses function.
type ListOptions ¶
type ListOptions struct {
*PageOptions
PageSize int `json:"page_size"`
Filter string `json:"filter"`
// QueryParams allows for specifying custom query parameters on list endpoint
// calls. QueryParams should be an instance of a struct containing fields with
// the `query` tag.
QueryParams any
}
ListOptions are the pagination and filtering (TODO) parameters for endpoints nolint
func NewListOptions ¶
func NewListOptions(page int, filter string) *ListOptions
NewListOptions simplified construction of ListOptions using only the two writable properties, Page and Filter
func (ListOptions) Hash ¶
func (l ListOptions) Hash() (string, error)
Hash returns the sha256 hash of the provided ListOptions. This is necessary for caching purposes.
type LoadConfigOptions ¶
type Lock ¶
type Lock struct {
ID int `json:"id"`
LockType LockType `json:"lock_type"`
Entity LockedEntity `json:"entity"`
}
Lock represents a resource lock NOTE: Locks can only be used with v4beta.
type LockCreateOptions ¶
type LockCreateOptions struct {
EntityType EntityType `json:"entity_type"`
EntityID int `json:"entity_id"`
LockType LockType `json:"lock_type"`
}
LockCreateOptions fields are those accepted by CreateLock NOTE: Locks can only be used with v4beta.
type LockType ¶
type LockType string
LockType represents the type of lock that can be applied to a resource NOTE: Locks can only be used with v4beta.
type LockedEntity ¶
type LockedEntity struct {
ID int `json:"id"`
Type EntityType `json:"type"`
Label string `json:"label"`
URL string `json:"url"`
}
LockedEntity represents the entity that is locked NOTE: Locks can only be used with v4beta.
type Login ¶
type Login struct {
ID int `json:"id"`
Datetime *time.Time `json:"datetime"`
IP string `json:"ip"`
Restricted bool `json:"restricted"`
Username string `json:"username"`
Status string `json:"status"`
}
func (*Login) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type LongviewClient ¶
type LongviewClient struct {
ID int `json:"id"`
APIKey string `json:"api_key"`
Created *time.Time `json:"-"`
InstallCode string `json:"install_code"`
Label string `json:"label"`
Updated *time.Time `json:"-"`
Apps struct {
Apache any `json:"apache"`
MySQL any `json:"mysql"`
NginX any `json:"nginx"`
} `json:"apps"`
}
LongviewClient represents a LongviewClient object
func (*LongviewClient) UnmarshalJSON ¶
func (i *LongviewClient) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type LongviewClientCreateOptions ¶
type LongviewClientCreateOptions struct {
Label string `json:"label"`
}
LongviewClientCreateOptions is an options struct used when Creating a Longview Client
type LongviewClientUpdateOptions ¶
type LongviewClientUpdateOptions struct {
Label string `json:"label"`
}
LongviewClientUpdateOptions is an options struct used when Updating a Longview Client
type LongviewPlan ¶
type LongviewPlan struct {
ID string `json:"id"`
Label string `json:"label"`
ClientsIncluded int `json:"clients_included"`
Price struct {
Hourly float64 `json:"hourly"`
Monthly float64 `json:"monthly"`
} `json:"price"`
}
LongviewPlan represents a Longview Plan object
type LongviewPlanUpdateOptions ¶
type LongviewPlanUpdateOptions struct {
LongviewSubscription string `json:"longview_subscription"`
}
LongviewPlanUpdateOptions is an options struct used when Updating a Longview Plan
type LongviewSubscription ¶
type LongviewSubscription struct {
ID string `json:"id"`
Label string `json:"label"`
ClientsIncluded int `json:"clients_included"`
Price *LinodePrice `json:"price"`
}
LongviewSubscription represents a LongviewSubscription object
type MaintenancePolicy ¶
type MaxAllowedPacket ¶
type MaxFilesPerProcess ¶
type MaxHeapTableSize ¶
type MaxLocksPerTransaction ¶
type MaxParallelWorkers ¶
type MaxReplicationSlots ¶
type MaxSlotWALKeepSize ¶
type MaxStackDepth ¶
type MaxStandbyArchiveDelay ¶
type MaxWALSenders ¶
type MaxWorkerProcesses ¶
type MetricAbsoluteTimeDuration ¶
type MetricAbsoluteTimeDuration struct {
Start time.Time `json:"start"`
End time.Time `json:"end"`
}
MetricAbsoluteTimeDuration specifies an absolute time range for data queries
type MetricFilter ¶
type MetricFilter struct {
DimensionLabel string `json:"dimension_label"`
Operator MetricFilterOperator `json:"operator"`
Value string `json:"value"`
}
MetricFilter describes individual objects that define dimension filters for the query.
type MetricFilterOperator ¶
type MetricFilterOperator string
const ( MetricFilterOperatorEq MetricFilterOperator = "eq" MetricFilterOperatorNeq MetricFilterOperator = "neq" MetricFilterOperatorStartsWith MetricFilterOperator = "startswith" MetricFilterOperatorEndsWith MetricFilterOperator = "endswith" MetricFilterOperatorIn MetricFilterOperator = "in" )
type MetricRelativeTimeDuration ¶
type MetricRelativeTimeDuration struct {
Unit MetricTimeUnit `json:"unit"`
Value int `json:"value"`
}
MetricRelativeTimeDuration specifies a relative time duration for data queries
type MetricTimeGranularity ¶
type MetricTimeGranularity struct {
Unit MetricTimeUnit `json:"unit"`
Value int `json:"value"`
}
MetricTimeGranularity allows for an optional time granularity setting for metric data.
type MetricTimeUnit ¶
type MetricTimeUnit string
const ( MetricTimeUnitSec MetricTimeUnit = "sec" MetricTimeUnitMin MetricTimeUnit = "min" MetricTimeUnitHr MetricTimeUnit = "hr" MetricTimeUnitDays MetricTimeUnit = "days" )
type MetricType ¶
type MetricType string
MetricType is an enum object for MetricType
const ( MetricTypeCounter MetricType = "counter" MetricTypeHistogram MetricType = "histogram" MetricTypeGauge MetricType = "gauge" MetricTypeSummary MetricType = "summary" )
type MetricUnit ¶
type MetricUnit string
MetricUnit is an enum object for Unit
const ( MetricUnitCount MetricUnit = "count" MetricUnitPercent MetricUnit = "percent" MetricUnitByte MetricUnit = "byte" MetricUnitSecond MetricUnit = "second" MetricUnitBitsPerSecond MetricUnit = "bits_per_second" MetricUnitMillisecond MetricUnit = "millisecond" MetricUnitKB MetricUnit = "KB" MetricUnitMB MetricUnit = "MB" MetricUnitGB MetricUnit = "GB" MetricUnitRate MetricUnit = "rate" MetricUnitBytesPerSecond MetricUnit = "bytes_per_second" MetricUnitPercentile MetricUnit = "percentile" MetricUnitRatio MetricUnit = "ratio" MetricUnitOpsPerSecond MetricUnit = "ops_per_second" MetricUnitIops MetricUnit = "iops" MetricUnitKiloBytesPerSecond MetricUnit = "kilo_bytes_per_second" MetricUnitSessionsPerSecond MetricUnit = "sessions_per_second" MetricUnitPacketsPerSecond MetricUnit = "packets_per_second" MetricUnitKiloBitsPerSecond MetricUnit = "kilo_bits_per_second" )
type MonitorClient ¶
type MonitorClient struct {
// contains filtered or unexported fields
}
MonitorClient is a wrapper around the http client
func NewMonitorClient ¶
func NewMonitorClient(hc *http.Client) (mClient MonitorClient)
NewMonitorClient is the entry point for user to create a new MonitorClient It utilizes default values and looks for environment variables to initialize a MonitorClient.
func (*MonitorClient) FetchEntityMetrics ¶
func (mc *MonitorClient) FetchEntityMetrics(ctx context.Context, serviceType string, opts *EntityMetricsFetchOptions) (*EntityMetrics, error)
FetchEntityMetrics returns metrics information for the individual entities within a specific service type
func (*MonitorClient) SetAPIVersion ¶
func (mc *MonitorClient) SetAPIVersion(apiVersion string) *MonitorClient
SetAPIVersion is the helper function to set api version
func (*MonitorClient) SetBaseURL ¶
func (mc *MonitorClient) SetBaseURL(baseURL string) *MonitorClient
SetBaseURL is the helper function to set base url
func (*MonitorClient) SetDebug ¶
func (mc *MonitorClient) SetDebug(debug bool) *MonitorClient
SetDebug sets the debug on the client
func (*MonitorClient) SetHeader ¶
func (mc *MonitorClient) SetHeader(name, value string)
SetHeader sets a custom header to be used in all API requests made with the current client. NOTE: Some headers may be overridden by the individual request functions.
func (*MonitorClient) SetLogger ¶
func (mc *MonitorClient) SetLogger(logger Logger) *MonitorClient
SetLogger allows the user to override the output logger for debug logs.
func (*MonitorClient) SetRootCertificate ¶
func (mc *MonitorClient) SetRootCertificate(certPath string) error
SetRootCertificate adds a root certificate to the underlying TLS client config.
func (*MonitorClient) SetToken ¶
func (mc *MonitorClient) SetToken(token string) *MonitorClient
SetToken sets the API token for all requests from this client
func (*MonitorClient) SetUserAgent ¶
func (mc *MonitorClient) SetUserAgent(ua string) *MonitorClient
SetUserAgent sets a custom user-agent for HTTP requests
type MonitorDashboard ¶
type MonitorDashboard struct {
ID int `json:"id"`
Type DashboardType `json:"type"`
ServiceType ServiceType `json:"service_type"`
Label string `json:"label"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Widgets []DashboardWidget `json:"widgets"`
}
MonitorDashboard represents an ACLP Dashboard object
func (*MonitorDashboard) UnmarshalJSON ¶
func (i *MonitorDashboard) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type MonitorDimension ¶
type MonitorDimension struct {
DimensionLabel string `json:"dimension_label"`
Label string `json:"label"`
Values []string `json:"values"`
}
MonitorDimension represents an ACLP MonitorDimension object
type MonitorMetricsDefinition ¶
type MonitorMetricsDefinition struct {
AvailableAggregateFunctions []AggregateFunction `json:"available_aggregate_functions"`
Dimensions []MonitorDimension `json:"dimensions"`
IsAlertable bool `json:"is_alertable"`
Label string `json:"label"`
Metric string `json:"metric"`
MetricType MetricType `json:"metric_type"`
ScrapeInterval string `json:"scrape_interval"`
Unit MetricUnit `json:"unit"`
}
MonitorMetricsDefinition represents an ACLP MetricsDefinition object
type MonitorService ¶
type MonitorService struct {
Label string `json:"label"`
ServiceType string `json:"service_type"`
Alert *MonitorServiceAlert `json:"alert"`
}
MonitorService represents a MonitorService object
type MonitorServiceAlert ¶
type MonitorServiceAlert struct {
PollingIntervalSeconds []int `json:"polling_interval_seconds"`
EvaluationPeriodSeconds []int `json:"evaluation_period_seconds"`
Scope []string `json:"scope"`
}
MonitorServiceAlert represents the alert configuration for a monitor service
type MonitorServiceToken ¶
type MonitorServiceToken struct {
Token string `json:"token"`
}
MonitorServiceToken represents a MonitorServiceToken object
type MonitorTokenCreateOptions ¶
type MonitorTokenCreateOptions struct {
// EntityIDs are expected to be type "any" as different service_types have different variable type for their entity_ids. For example, Linode has "int" entity_ids whereas object storage has "string" as entity_ids.
EntityIDs []any `json:"entity_ids"`
}
MonitorTokenCreateOptions contains create token options.
type MonthlyInstanceTransferStats ¶
type MonthlyInstanceTransferStats struct {
// The amount of inbound public network traffic received by this Linode, in bytes, for a specific year/month.
BytesIn uint64 `json:"bytes_in"`
// The amount of outbound public network traffic sent by this Linode, in bytes, for a specific year/month.
BytesOut uint64 `json:"bytes_out"`
// The total amount of public network traffic sent and received by this Linode, in bytes, for a specific year/month.
BytesTotal uint64 `json:"bytes_total"`
}
MonthlyInstanceTransferStats pool stats for a Linode Instance network transfer statistics for a specific month
type MySQLCreateOptions ¶
type MySQLCreateOptions struct {
Label string `json:"label"`
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
AllowList []string `json:"allow_list,omitzero"`
ClusterSize int `json:"cluster_size,omitzero"`
Fork *DatabaseFork `json:"fork,omitzero"`
EngineConfig *MySQLDatabaseEngineConfig `json:"engine_config,omitzero"`
PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
MySQLCreateOptions fields are used when creating a new MySQL Database
type MySQLDatabase ¶
type MySQLDatabase struct {
ID int `json:"id"`
Status DatabaseStatus `json:"status"`
Label string `json:"label"`
Hosts DatabaseHost `json:"hosts"`
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
Version string `json:"version"`
ClusterSize int `json:"cluster_size"`
Platform DatabasePlatform `json:"platform"`
// Members has dynamic keys so it is a map
Members map[string]DatabaseMemberType `json:"members"`
SSLConnection bool `json:"ssl_connection"`
Encrypted bool `json:"encrypted"`
AllowList []string `json:"allow_list"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Updates DatabaseMaintenanceWindow `json:"updates"`
Fork *DatabaseFork `json:"fork"`
OldestRestoreTime *time.Time `json:"-"`
UsedDiskSizeGB int `json:"used_disk_size_gb"`
TotalDiskSizeGB int `json:"total_disk_size_gb"`
Port int `json:"port"`
EngineConfig MySQLDatabaseEngineConfig `json:"engine_config"`
PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
A MySQLDatabase is an instance of Linode MySQL Managed Databases
func (*MySQLDatabase) UnmarshalJSON ¶
func (d *MySQLDatabase) UnmarshalJSON(b []byte) error
type MySQLDatabaseConfigInfo ¶
type MySQLDatabaseConfigInfo struct {
MySQL MySQLDatabaseConfigInfoMySQL `json:"mysql"`
BinlogRetentionPeriod MySQLDatabaseConfigInfoBinlogRetentionPeriod `json:"binlog_retention_period"`
}
type MySQLDatabaseConfigInfoMySQL ¶
type MySQLDatabaseConfigInfoMySQL struct {
ConnectTimeout ConnectTimeout `json:"connect_timeout"`
DefaultTimeZone DefaultTimeZone `json:"default_time_zone"`
GroupConcatMaxLen GroupConcatMaxLen `json:"group_concat_max_len"`
InformationSchemaStatsExpiry InformationSchemaStatsExpiry `json:"information_schema_stats_expiry"`
InnoDBChangeBufferMaxSize InnoDBChangeBufferMaxSize `json:"innodb_change_buffer_max_size"`
InnoDBFlushNeighbors InnoDBFlushNeighbors `json:"innodb_flush_neighbors"`
InnoDBFTMinTokenSize InnoDBFTMinTokenSize `json:"innodb_ft_min_token_size"`
InnoDBFTServerStopwordTable InnoDBFTServerStopwordTable `json:"innodb_ft_server_stopword_table"`
InnoDBLockWaitTimeout InnoDBLockWaitTimeout `json:"innodb_lock_wait_timeout"`
InnoDBLogBufferSize InnoDBLogBufferSize `json:"innodb_log_buffer_size"`
InnoDBOnlineAlterLogMaxSize InnoDBOnlineAlterLogMaxSize `json:"innodb_online_alter_log_max_size"`
InnoDBReadIOThreads InnoDBReadIOThreads `json:"innodb_read_io_threads"`
InnoDBRollbackOnTimeout InnoDBRollbackOnTimeout `json:"innodb_rollback_on_timeout"`
InnoDBThreadConcurrency InnoDBThreadConcurrency `json:"innodb_thread_concurrency"`
InnoDBWriteIOThreads InnoDBWriteIOThreads `json:"innodb_write_io_threads"`
InteractiveTimeout InteractiveTimeout `json:"interactive_timeout"`
InternalTmpMemStorageEngine InternalTmpMemStorageEngine `json:"internal_tmp_mem_storage_engine"`
MaxAllowedPacket MaxAllowedPacket `json:"max_allowed_packet"`
MaxHeapTableSize MaxHeapTableSize `json:"max_heap_table_size"`
NetBufferLength NetBufferLength `json:"net_buffer_length"`
NetReadTimeout NetReadTimeout `json:"net_read_timeout"`
NetWriteTimeout NetWriteTimeout `json:"net_write_timeout"`
SortBufferSize SortBufferSize `json:"sort_buffer_size"`
SQLMode SQLMode `json:"sql_mode"`
SQLRequirePrimaryKey SQLRequirePrimaryKey `json:"sql_require_primary_key"`
TmpTableSize TmpTableSize `json:"tmp_table_size"`
WaitTimeout WaitTimeout `json:"wait_timeout"`
}
type MySQLDatabaseCredential ¶
type MySQLDatabaseCredential struct {
Username string `json:"username"`
Password string `json:"password"`
}
MySQLDatabaseCredential is the Root Credentials to access the Linode Managed Database
type MySQLDatabaseEngineConfig ¶
type MySQLDatabaseEngineConfig struct {
MySQL *MySQLDatabaseEngineConfigMySQL `json:"mysql,omitzero"`
BinlogRetentionPeriod *int `json:"binlog_retention_period,omitzero"`
}
type MySQLDatabaseEngineConfigMySQL ¶
type MySQLDatabaseEngineConfigMySQL struct {
ConnectTimeout *int `json:"connect_timeout,omitzero"`
DefaultTimeZone *string `json:"default_time_zone,omitzero"`
GroupConcatMaxLen *float64 `json:"group_concat_max_len,omitzero"`
InformationSchemaStatsExpiry *int `json:"information_schema_stats_expiry,omitzero"`
InnoDBChangeBufferMaxSize *int `json:"innodb_change_buffer_max_size,omitzero"`
InnoDBFlushNeighbors *int `json:"innodb_flush_neighbors,omitzero"`
InnoDBFTMinTokenSize *int `json:"innodb_ft_min_token_size,omitzero"`
InnoDBFTServerStopwordTable **string `json:"innodb_ft_server_stopword_table,omitzero"`
InnoDBLockWaitTimeout *int `json:"innodb_lock_wait_timeout,omitzero"`
InnoDBLogBufferSize *int `json:"innodb_log_buffer_size,omitzero"`
InnoDBOnlineAlterLogMaxSize *int `json:"innodb_online_alter_log_max_size,omitzero"`
InnoDBReadIOThreads *int `json:"innodb_read_io_threads,omitzero"`
InnoDBRollbackOnTimeout *bool `json:"innodb_rollback_on_timeout,omitzero"`
InnoDBThreadConcurrency *int `json:"innodb_thread_concurrency,omitzero"`
InnoDBWriteIOThreads *int `json:"innodb_write_io_threads,omitzero"`
InteractiveTimeout *int `json:"interactive_timeout,omitzero"`
InternalTmpMemStorageEngine *string `json:"internal_tmp_mem_storage_engine,omitzero"`
MaxAllowedPacket *int `json:"max_allowed_packet,omitzero"`
MaxHeapTableSize *int `json:"max_heap_table_size,omitzero"`
NetBufferLength *int `json:"net_buffer_length,omitzero"`
NetReadTimeout *int `json:"net_read_timeout,omitzero"`
NetWriteTimeout *int `json:"net_write_timeout,omitzero"`
SortBufferSize *int `json:"sort_buffer_size,omitzero"`
SQLMode *string `json:"sql_mode,omitzero"`
SQLRequirePrimaryKey *bool `json:"sql_require_primary_key,omitzero"`
TmpTableSize *int `json:"tmp_table_size,omitzero"`
WaitTimeout *int `json:"wait_timeout,omitzero"`
}
type MySQLDatabaseMaintenanceWindow ¶
type MySQLDatabaseMaintenanceWindow = DatabaseMaintenanceWindow
type MySQLDatabaseSSL ¶
type MySQLDatabaseSSL struct {
CACertificate []byte `json:"ca_certificate"`
}
MySQLDatabaseSSL is the SSL Certificate to access the Linode Managed MySQL Database
type MySQLDatabaseTarget ¶
type MySQLDatabaseTarget string
const ( MySQLDatabaseTargetPrimary MySQLDatabaseTarget = "primary" MySQLDatabaseTargetSecondary MySQLDatabaseTarget = "secondary" )
type MySQLUpdateOptions ¶
type MySQLUpdateOptions struct {
Label string `json:"label,omitzero"`
AllowList []string `json:"allow_list,omitzero"`
Updates *DatabaseMaintenanceWindow `json:"updates,omitzero"`
Type string `json:"type,omitzero"`
ClusterSize int `json:"cluster_size,omitzero"`
Version string `json:"version,omitzero"`
EngineConfig *MySQLDatabaseEngineConfig `json:"engine_config,omitzero"`
PrivateNetwork **DatabasePrivateNetwork `json:"private_network,omitzero"`
}
MySQLUpdateOptions fields are used when altering the existing MySQL Database
type NetBufferLength ¶
type NetReadTimeout ¶
type NetWriteTimeout ¶
type NetworkAddresses ¶
type NetworkAddresses struct {
IPv4 []string `json:"ipv4,omitzero"`
IPv6 []string `json:"ipv6,omitzero"`
}
NetworkAddresses are arrays of ipv4 and v6 addresses
type NetworkProtocol ¶
type NetworkProtocol string
NetworkProtocol enum type
const ( TCP NetworkProtocol = "TCP" UDP NetworkProtocol = "UDP" ICMP NetworkProtocol = "ICMP" IPENCAP NetworkProtocol = "IPENCAP" )
NetworkProtocol enum values
type NetworkTransferPrice ¶
type NetworkTransferPrice struct {
// contains filtered or unexported fields
}
NetworkTransferPrice represents a single valid network transfer price.
type NetworkTransferTypePrice ¶
type NetworkTransferTypePrice struct {
// contains filtered or unexported fields
}
NetworkTransferTypePrice represents the base hourly and monthly prices for a network transfer price entry.
type NetworkTransferTypeRegionPrice ¶
type NetworkTransferTypeRegionPrice struct {
// contains filtered or unexported fields
}
NetworkTransferTypeRegionPrice represents the regional hourly and monthly prices for a network transfer price entry.
type NodeBalancer ¶
type NodeBalancer struct {
// This NodeBalancer's unique ID.
ID int `json:"id"`
// This NodeBalancer's label. These must be unique on your Account.
Label *string `json:"label"`
// The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region.
Region string `json:"region"`
// This NodeBalancer's hostname, ending with .nodebalancer.linode.com
Hostname *string `json:"hostname"`
// This NodeBalancer's public IPv4 address.
IPv4 *string `json:"ipv4"`
// This NodeBalancer's public IPv6 address.
IPv6 *string `json:"ipv6"`
// Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.
ClientConnThrottle int `json:"client_conn_throttle"`
// ClientUDPSessThrottle throttles UDP sessions per second. Set to 0 (zero) to disable throttling.
// NOTE: ClientUDPSessThrottle may not currently be available to all users.
ClientUDPSessThrottle int `json:"client_udp_sess_throttle"`
// Information about the amount of transfer this NodeBalancer has had so far this month.
Transfer NodeBalancerTransfer `json:"transfer"`
// This NodeBalancer's plan Type
Type NodeBalancerPlanType `json:"type"`
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []string `json:"tags"`
// This NodeBalancer's related LKE cluster, if any. The value is null if this NodeBalancer is not related to an LKE cluster.
LKECluster *NodeBalancerLKECluster `json:"lke_cluster"`
// An array of locks applied to this NodeBalancer for deletion protection.
// Locks prevent the NodeBalancer or its subresources from being deleted.
// NOTE: Locks can only be used with v4beta.
Locks []LockType `json:"locks"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
NodeBalancer represents a NodeBalancer object
func (NodeBalancer) GetCreateOptions ¶
func (i NodeBalancer) GetCreateOptions() NodeBalancerCreateOptions
GetCreateOptions converts a NodeBalancer to NodeBalancerCreateOptions for use in CreateNodeBalancer
func (NodeBalancer) GetUpdateOptions ¶
func (i NodeBalancer) GetUpdateOptions() NodeBalancerUpdateOptions
GetUpdateOptions converts a NodeBalancer to NodeBalancerUpdateOptions for use in UpdateNodeBalancer
func (*NodeBalancer) UnmarshalJSON ¶
func (i *NodeBalancer) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type NodeBalancerConfig ¶
type NodeBalancerConfig struct {
ID int `json:"id"`
Port int `json:"port"`
Protocol ConfigProtocol `json:"protocol"`
ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol"`
Algorithm ConfigAlgorithm `json:"algorithm"`
Stickiness ConfigStickiness `json:"stickiness"`
Check ConfigCheck `json:"check"`
CheckInterval int `json:"check_interval"`
CheckAttempts int `json:"check_attempts"`
CheckPath string `json:"check_path"`
CheckBody string `json:"check_body"`
CheckPassive bool `json:"check_passive"`
CheckTimeout int `json:"check_timeout"`
// NOTE: UDPCheckPort may not currently be available to all users.
UDPCheckPort int `json:"udp_check_port"`
// NOTE: UDPSessionTimeout may not currently be available to all users.
UDPSessionTimeout int `json:"udp_session_timeout"`
CipherSuite ConfigCipher `json:"cipher_suite"`
NodeBalancerID int `json:"nodebalancer_id"`
SSLCommonName string `json:"ssl_commonname"`
SSLFingerprint string `json:"ssl_fingerprint"`
SSLCert string `json:"ssl_cert"`
SSLKey string `json:"ssl_key"`
NodesStatus *NodeBalancerNodeStatus `json:"nodes_status"`
}
NodeBalancerConfig objects allow a NodeBalancer to accept traffic on a new port
func (NodeBalancerConfig) GetCreateOptions ¶
func (i NodeBalancerConfig) GetCreateOptions() NodeBalancerConfigCreateOptions
GetCreateOptions converts a NodeBalancerConfig to NodeBalancerConfigCreateOptions for use in CreateNodeBalancerConfig
func (NodeBalancerConfig) GetRebuildOptions ¶
func (i NodeBalancerConfig) GetRebuildOptions() NodeBalancerConfigRebuildOptions
GetRebuildOptions converts a NodeBalancerConfig to NodeBalancerConfigRebuildOptions for use in RebuildNodeBalancerConfig
func (NodeBalancerConfig) GetUpdateOptions ¶
func (i NodeBalancerConfig) GetUpdateOptions() NodeBalancerConfigUpdateOptions
GetUpdateOptions converts a NodeBalancerConfig to NodeBalancerConfigUpdateOptions for use in UpdateNodeBalancerConfig
type NodeBalancerConfigCreateOptions ¶
type NodeBalancerConfigCreateOptions struct {
Port int `json:"port"`
Protocol ConfigProtocol `json:"protocol,omitzero"`
ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol,omitzero"`
Algorithm ConfigAlgorithm `json:"algorithm,omitzero"`
Stickiness ConfigStickiness `json:"stickiness,omitzero"`
Check ConfigCheck `json:"check,omitzero"`
CheckInterval int `json:"check_interval,omitzero"`
CheckAttempts int `json:"check_attempts,omitzero"`
CheckPath string `json:"check_path,omitzero"`
CheckBody string `json:"check_body,omitzero"`
CheckPassive *bool `json:"check_passive,omitzero"`
CheckTimeout int `json:"check_timeout,omitzero"`
// NOTE: UDPCheckPort may not currently be available to all users.
UDPCheckPort *int `json:"udp_check_port,omitzero"`
CipherSuite ConfigCipher `json:"cipher_suite,omitzero"`
SSLCert string `json:"ssl_cert,omitzero"`
SSLKey string `json:"ssl_key,omitzero"`
Nodes []NodeBalancerNodeCreateOptions `json:"nodes,omitzero"`
}
NodeBalancerConfigCreateOptions are permitted by CreateNodeBalancerConfig
type NodeBalancerConfigRebuildNodeOptions ¶
type NodeBalancerConfigRebuildNodeOptions struct {
NodeBalancerNodeCreateOptions
ID int `json:"id,omitzero"`
}
NodeBalancerConfigRebuildNodeOptions represents a node defined when rebuilding a NodeBalancer config.
type NodeBalancerConfigRebuildOptions ¶
type NodeBalancerConfigRebuildOptions struct {
Port int `json:"port"`
Protocol ConfigProtocol `json:"protocol,omitzero"`
ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol,omitzero"`
Algorithm ConfigAlgorithm `json:"algorithm,omitzero"`
Stickiness ConfigStickiness `json:"stickiness,omitzero"`
Check ConfigCheck `json:"check,omitzero"`
CheckInterval int `json:"check_interval,omitzero"`
CheckAttempts int `json:"check_attempts,omitzero"`
CheckPath string `json:"check_path,omitzero"`
CheckBody string `json:"check_body,omitzero"`
CheckPassive *bool `json:"check_passive,omitzero"`
CheckTimeout int `json:"check_timeout,omitzero"`
// NOTE: UDPCheckPort may not currently be available to all users.
UDPCheckPort *int `json:"udp_check_port,omitzero"`
CipherSuite ConfigCipher `json:"cipher_suite,omitzero"`
SSLCert string `json:"ssl_cert,omitzero"`
SSLKey string `json:"ssl_key,omitzero"`
Nodes []NodeBalancerConfigRebuildNodeOptions `json:"nodes"`
}
NodeBalancerConfigRebuildOptions used by RebuildNodeBalancerConfig
type NodeBalancerConfigUpdateOptions ¶
type NodeBalancerConfigUpdateOptions NodeBalancerConfigCreateOptions
NodeBalancerConfigUpdateOptions are permitted by UpdateNodeBalancerConfig
type NodeBalancerCreateOptions ¶
type NodeBalancerCreateOptions struct {
Label *string `json:"label,omitzero"`
Region string `json:"region,omitzero"`
ClientConnThrottle *int `json:"client_conn_throttle,omitzero"`
// NOTE: ClientUDPSessThrottle may not currently be available to all users.
ClientUDPSessThrottle *int `json:"client_udp_sess_throttle,omitzero"`
Configs []NodeBalancerConfigCreateOptions `json:"configs,omitzero"`
Tags []string `json:"tags"`
FirewallID int `json:"firewall_id,omitzero"`
Type NodeBalancerPlanType `json:"type,omitzero"`
VPCs []NodeBalancerVPCOptions `json:"vpcs,omitzero"`
IPv4 *string `json:"ipv4,omitzero"`
}
NodeBalancerCreateOptions are the options permitted for CreateNodeBalancer
type NodeBalancerLKECluster ¶
type NodeBalancerLKECluster struct {
// The ID of the related LKE cluster.
ID int `json:"id"`
// The label of the related LKE cluster.
Label string `json:"label"`
// The type for LKE clusters.
Type string `json:"type"`
// The URL where you can access the related LKE cluster.
URL string `json:"url"`
}
type NodeBalancerNode ¶
type NodeBalancerNode struct {
ID int `json:"id"`
Address string `json:"address"`
Label string `json:"label"`
Status string `json:"status"`
Weight int `json:"weight"`
Mode NodeMode `json:"mode"`
ConfigID int `json:"config_id"`
NodeBalancerID int `json:"nodebalancer_id"`
VPCConfigID int `json:"vpc_config_id"`
}
NodeBalancerNode objects represent a backend that can accept traffic for a NodeBalancer Config
func (NodeBalancerNode) GetCreateOptions ¶
func (i NodeBalancerNode) GetCreateOptions() NodeBalancerNodeCreateOptions
GetCreateOptions converts a NodeBalancerNode to NodeBalancerNodeCreateOptions for use in CreateNodeBalancerNode
func (NodeBalancerNode) GetUpdateOptions ¶
func (i NodeBalancerNode) GetUpdateOptions() NodeBalancerNodeUpdateOptions
GetUpdateOptions converts a NodeBalancerNode to NodeBalancerNodeUpdateOptions for use in UpdateNodeBalancerNode
type NodeBalancerNodeCreateOptions ¶
type NodeBalancerNodeCreateOptions struct {
Address string `json:"address"`
Label string `json:"label"`
Weight int `json:"weight,omitzero"`
Mode NodeMode `json:"mode,omitzero"`
SubnetID int `json:"subnet_id,omitzero"`
}
NodeBalancerNodeCreateOptions fields are those accepted by CreateNodeBalancerNode
type NodeBalancerNodeStatus ¶
NodeBalancerNodeStatus represents the total number of nodes whose status is Up or Down
type NodeBalancerNodeUpdateOptions ¶
type NodeBalancerNodeUpdateOptions struct {
Address string `json:"address,omitzero"`
Label string `json:"label,omitzero"`
Weight int `json:"weight,omitzero"`
Mode NodeMode `json:"mode,omitzero"`
SubnetID int `json:"subnet_id,omitzero"`
}
NodeBalancerNodeUpdateOptions fields are those accepted by UpdateNodeBalancerNode
type NodeBalancerPlanType ¶
type NodeBalancerPlanType string
NodeBalancerPlanType constants start with NBType and include Linode API NodeBalancer's plan types
const ( NBTypePremium NodeBalancerPlanType = "premium" NBTypePremium40GB NodeBalancerPlanType = "premium_40gb" NBTypeCommon NodeBalancerPlanType = "common" )
NodeBalancerPlanType constants reflect the plan type used by a NodeBalancer Config
type NodeBalancerStats ¶
type NodeBalancerStats struct {
Title string `json:"title"`
Data NodeBalancerStatsData `json:"data"`
}
NodeBalancerStats represents a nodebalancer stats object
type NodeBalancerStatsData ¶
type NodeBalancerStatsData struct {
Connections [][]float64 `json:"connections"`
Traffic StatsTraffic `json:"traffic"`
}
NodeBalancerStatsData represents a nodebalancer stats data object
type NodeBalancerTransfer ¶
type NodeBalancerTransfer struct {
// The total transfer, in MB, used by this NodeBalancer this month.
Total *float64 `json:"total"`
// The total inbound transfer, in MB, used for this NodeBalancer this month.
Out *float64 `json:"out"`
// The total outbound transfer, in MB, used for this NodeBalancer this month.
In *float64 `json:"in"`
}
NodeBalancerTransfer contains information about the amount of transfer a NodeBalancer has had in the current month
type NodeBalancerType ¶
type NodeBalancerType struct {
// contains filtered or unexported fields
}
NodeBalancerType represents a single valid NodeBalancer type.
type NodeBalancerTypePrice ¶
type NodeBalancerTypePrice struct {
// contains filtered or unexported fields
}
NodeBalancerTypePrice represents the base hourly and monthly prices for a NodeBalancer type entry.
type NodeBalancerTypeRegionPrice ¶
type NodeBalancerTypeRegionPrice struct {
// contains filtered or unexported fields
}
NodeBalancerTypeRegionPrice represents the regional hourly and monthly prices for a NodeBalancer type entry.
type NodeBalancerUpdateOptions ¶
type NodeBalancerUpdateOptions struct {
Label *string `json:"label,omitzero"`
ClientConnThrottle *int `json:"client_conn_throttle,omitzero"`
// NOTE: ClientUDPSessThrottle may not currently be available to all users.
ClientUDPSessThrottle *int `json:"client_udp_sess_throttle,omitzero"`
Tags []string `json:"tags,omitzero"`
}
NodeBalancerUpdateOptions are the options permitted for UpdateNodeBalancer
type NodeBalancerVPCConfig ¶
type NodeBalancerVPCConfig struct {
ID int `json:"id"`
IPv4Range string `json:"ipv4_range"`
IPv6Range string `json:"ipv6_range,omitzero"`
NodeBalancerID int `json:"nodebalancer_id"`
SubnetID int `json:"subnet_id"`
VPCID int `json:"vpc_id"`
}
NodeBalancerVPCConfig objects represent a VPC config for a NodeBalancer s NOTE: NodeBalancer VPC support may not currently be available to all users.
type NodeBalancerVPCOptions ¶
type NodeMode ¶
type NodeMode string
NodeMode is the mode a NodeBalancer should use when sending traffic to a NodeBalancer Node
var ( // ModeAccept is the NodeMode indicating a NodeBalancer Node is accepting traffic ModeAccept NodeMode = "accept" // ModeReject is the NodeMode indicating a NodeBalancer Node is not receiving traffic ModeReject NodeMode = "reject" // ModeDrain is the NodeMode indicating a NodeBalancer Node is not receiving new traffic, but may continue receiving traffic from pinned connections ModeDrain NodeMode = "drain" // ModeBackup is the NodeMode indicating a NodeBalancer Node will only receive traffic if all "accept" Nodes are down ModeBackup NodeMode = "backup" )
type Notification ¶
type Notification struct {
Label string `json:"label"`
Body *string `json:"body"`
Message string `json:"message"`
Type NotificationType `json:"type"`
Severity NotificationSeverity `json:"severity"`
Entity *NotificationEntity `json:"entity"`
Until *time.Time `json:"-"`
When *time.Time `json:"-"`
}
Notification represents a notification on an Account
func (*Notification) UnmarshalJSON ¶
func (i *Notification) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type NotificationEntity ¶
type NotificationEntity struct {
ID int `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
URL string `json:"url"`
}
NotificationEntity adds detailed information about the Notification. This could refer to the ticket that triggered the notification, for example.
type NotificationSeverity ¶
type NotificationSeverity string
NotificationSeverity constants start with Notification and include all known Linode API Notification Severities.
const ( NotificationMinor NotificationSeverity = "minor" NotificationMajor NotificationSeverity = "major" NotificationCritical NotificationSeverity = "critical" )
NotificationSeverity constants represent the actions that cause a Notification. New severities may be added in the future.
type NotificationType ¶
type NotificationType string
NotificationType constants start with Notification and include all known Linode API Notification Types.
const ( NotificationMigrationScheduled NotificationType = "migration_scheduled" NotificationMigrationImminent NotificationType = "migration_imminent" NotificationMigrationPending NotificationType = "migration_pending" NotificationRebootScheduled NotificationType = "reboot_scheduled" NotificationOutage NotificationType = "outage" NotificationPaymentDue NotificationType = "payment_due" NotificationTicketImportant NotificationType = "ticket_important" NotificationTicketAbuse NotificationType = "ticket_abuse" NotificationNotice NotificationType = "notice" NotificationMaintenance NotificationType = "maintenance" NotificationMaintenanceScheduled NotificationType = "maintenance_scheduled" )
NotificationType constants represent the actions that cause a Notification. New types may be added in the future.
type OAuthClient ¶
type OAuthClient struct {
// The unique ID of this OAuth Client.
ID string `json:"id"`
// The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.
RedirectURI string `json:"redirect_uri"`
// The name of this application. This will be presented to users when they are asked to grant it access to their Account.
Label string `json:"label"`
// Current status of the OAuth Client, Enum: "active" "disabled" "suspended"
Status OAuthClientStatus `json:"status"`
// The OAuth Client secret, used in the OAuth exchange. This is returned as <REDACTED> except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly.
Secret string `json:"secret"`
// If this OAuth Client is public or private.
Public bool `json:"public"`
// The URL where this client's thumbnail may be viewed, or nil if this client does not have a thumbnail set.
ThumbnailURL *string `json:"thumbnail_url"`
}
OAuthClient represents a OAuthClient object
func (OAuthClient) GetCreateOptions ¶
func (i OAuthClient) GetCreateOptions() (o OAuthClientCreateOptions)
GetCreateOptions converts a OAuthClient to OAuthClientCreateOptions for use in CreateOAuthClient
func (OAuthClient) GetUpdateOptions ¶
func (i OAuthClient) GetUpdateOptions() (o OAuthClientUpdateOptions)
GetUpdateOptions converts a OAuthClient to OAuthClientUpdateOptions for use in UpdateOAuthClient
type OAuthClientCreateOptions ¶
type OAuthClientCreateOptions struct {
// The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.
RedirectURI string `json:"redirect_uri"`
// The name of this application. This will be presented to users when they are asked to grant it access to their Account.
Label string `json:"label"`
// If this OAuth Client is public or private.
Public bool `json:"public"`
}
OAuthClientCreateOptions fields are those accepted by CreateOAuthClient
type OAuthClientStatus ¶
type OAuthClientStatus string
OAuthClientStatus constants start with OAuthClient and include Linode API Instance Status values
const ( OAuthClientActive OAuthClientStatus = "active" OAuthClientDisabled OAuthClientStatus = "disabled" OAuthClientSuspended OAuthClientStatus = "suspended" )
OAuthClientStatus constants reflect the current status of an OAuth Client
type OAuthClientUpdateOptions ¶
type OAuthClientUpdateOptions struct {
// The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.
RedirectURI string `json:"redirect_uri"`
// The name of this application. This will be presented to users when they are asked to grant it access to their Account.
Label string `json:"label"`
// If this OAuth Client is public or private.
Public bool `json:"public"`
}
OAuthClientUpdateOptions fields are those accepted by UpdateOAuthClient
type ObjectStorageACL ¶
type ObjectStorageACL string
ObjectStorageACL options start with ACL and include all known ACL types
const ( ACLPrivate ObjectStorageACL = "private" ACLPublicRead ObjectStorageACL = "public-read" ACLAuthenticatedRead ObjectStorageACL = "authenticated-read" ACLPublicReadWrite ObjectStorageACL = "public-read-write" )
ObjectStorageACL options represent the access control level of a bucket.
type ObjectStorageBucket ¶
type ObjectStorageBucket struct {
Label string `json:"label"`
Region string `json:"region"`
S3Endpoint string `json:"s3_endpoint"`
EndpointType ObjectStorageEndpointType `json:"endpoint_type"`
Created *time.Time `json:"-"`
Hostname string `json:"hostname"`
Objects int `json:"objects"`
Size int `json:"size"`
}
ObjectStorageBucket represents a ObjectStorage object
func (*ObjectStorageBucket) UnmarshalJSON ¶
func (i *ObjectStorageBucket) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ObjectStorageBucketAccess ¶
type ObjectStorageBucketAccess struct {
ACL ObjectStorageACL `json:"acl"`
ACLXML string `json:"acl_xml"`
CorsEnabled *bool `json:"cors_enabled"`
CorsXML *string `json:"cors_xml"`
}
type ObjectStorageBucketCert ¶
type ObjectStorageBucketCert struct {
SSL *bool `json:"ssl"`
}
type ObjectStorageBucketContent ¶
type ObjectStorageBucketContent struct {
Data []ObjectStorageBucketContentData `json:"data"`
IsTruncated bool `json:"is_truncated"`
NextMarker *string `json:"next_marker"`
}
ObjectStorageBucketContent holds the content of an ObjectStorageBucket
type ObjectStorageBucketContentData ¶
type ObjectStorageBucketContentData struct {
Etag string `json:"etag"`
LastModified *time.Time `json:"last_modified"`
Name string `json:"name"`
Owner string `json:"owner"`
Size int `json:"size"`
}
ObjectStorageBucketContentData holds the data of the content of an ObjectStorageBucket
type ObjectStorageBucketCreateOptions ¶
type ObjectStorageBucketCreateOptions struct {
Region string `json:"region,omitzero"`
Label string `json:"label"`
S3Endpoint string `json:"s3_endpoint,omitzero"`
EndpointType ObjectStorageEndpointType `json:"endpoint_type,omitzero"`
ACL ObjectStorageACL `json:"acl,omitzero"`
CorsEnabled *bool `json:"cors_enabled,omitzero"`
}
ObjectStorageBucketCreateOptions fields are those accepted by CreateObjectStorageBucket
type ObjectStorageBucketListContentsParams ¶
type ObjectStorageBucketListContentsParams struct {
Marker *string
Delimiter *string
Prefix *string
PageSize *int
}
ObjectStorageBucketListContentsParams fields are the query parameters for ListObjectStorageBucketContents
type ObjectStorageBucketModifyAccessOptions ¶
type ObjectStorageBucketModifyAccessOptions struct {
ACL ObjectStorageACL `json:"acl,omitzero"`
CorsEnabled *bool `json:"cors_enabled,omitzero"`
}
ObjectStorageBucketModifyAccessOptions fields are those accepted by ModifyObjectStorageBucketAccess
type ObjectStorageBucketUpdateAccessOptions ¶
type ObjectStorageBucketUpdateAccessOptions struct {
ACL ObjectStorageACL `json:"acl,omitzero"`
CorsEnabled *bool `json:"cors_enabled,omitzero"`
}
ObjectStorageBucketUpdateAccessOptions fields are those accepted by UpdateObjectStorageBucketAccess
type ObjectStorageEndpoint ¶
type ObjectStorageEndpoint struct {
Region string `json:"region"`
S3Endpoint *string `json:"s3_endpoint"`
EndpointType ObjectStorageEndpointType `json:"endpoint_type"`
}
ObjectStorageEndpoint represents a linode object storage endpoint object
type ObjectStorageEndpointType ¶
type ObjectStorageEndpointType string
ObjectStorageEndpointType constants start with Notification and include all known Linode API Notification Types.
const ( ObjectStorageEndpointE0 ObjectStorageEndpointType = "E0" ObjectStorageEndpointE1 ObjectStorageEndpointType = "E1" ObjectStorageEndpointE2 ObjectStorageEndpointType = "E2" ObjectStorageEndpointE3 ObjectStorageEndpointType = "E3" )
NotificationType constants represent the actions that cause a Notification. New types may be added in the future.
type ObjectStorageGlobalQuota ¶
type ObjectStorageGlobalQuota struct {
QuotaID string `json:"quota_id"`
QuotaName string `json:"quota_name"`
QuotaType string `json:"quota_type"`
Description string `json:"description"`
QuotaLimit int `json:"quota_limit"`
ResourceMetric string `json:"resource_metric"`
HasUsage bool `json:"has_usage"`
}
ObjectStorageGlobalQuota represents global/account-level Object Storage quota information.
type ObjectStorageGlobalQuotaUsage ¶
type ObjectStorageGlobalQuotaUsage struct {
QuotaLimit int `json:"quota_limit"`
Usage *int `json:"usage"`
}
ObjectStorageGlobalQuotaUsage is the usage data for a specific global/account-level Object Storage quota.
type ObjectStorageKey ¶
type ObjectStorageKey struct {
ID int `json:"id"`
Label string `json:"label"`
AccessKey string `json:"access_key"`
SecretKey string `json:"secret_key"`
Limited bool `json:"limited"`
BucketAccess *[]ObjectStorageKeyBucketAccess `json:"bucket_access"`
Regions []ObjectStorageKeyRegion `json:"regions"`
}
ObjectStorageKey represents a linode object storage key object
type ObjectStorageKeyBucketAccess ¶
type ObjectStorageKeyBucketAccess struct {
Region string `json:"region,omitzero"`
BucketName string `json:"bucket_name"`
Permissions string `json:"permissions"`
}
ObjectStorageKeyBucketAccess represents a linode limited object storage key's bucket access
type ObjectStorageKeyCreateOptions ¶
type ObjectStorageKeyCreateOptions struct {
Label string `json:"label"`
BucketAccess []ObjectStorageKeyBucketAccessCreateOptions `json:"bucket_access,omitzero"`
Regions []string `json:"regions,omitzero"`
}
ObjectStorageKeyCreateOptions fields are those accepted by CreateObjectStorageKey
type ObjectStorageKeyRegion ¶
type ObjectStorageKeyRegion struct {
ID string `json:"id"`
S3Endpoint string `json:"s3_endpoint"`
EndpointType ObjectStorageEndpointType `json:"endpoint_type"`
}
type ObjectStorageKeyUpdateOptions ¶
type ObjectStorageKeyUpdateOptions struct {
Label string `json:"label,omitzero"`
Regions []string `json:"regions,omitzero"`
}
ObjectStorageKeyUpdateOptions fields are those accepted by UpdateObjectStorageKey
type ObjectStorageObjectURL ¶
type ObjectStorageQuota ¶
type ObjectStorageQuota struct {
QuotaID string `json:"quota_id"`
QuotaName string `json:"quota_name"`
EndpointType string `json:"endpoint_type"`
S3Endpoint string `json:"s3_endpoint"`
Description string `json:"description"`
QuotaLimit int `json:"quota_limit"`
ResourceMetric string `json:"resource_metric"`
QuotaType string `json:"quota_type"`
HasUsage bool `json:"has_usage"`
}
ObjectStorageQuota represents a Object Storage related quota information on your account.
type ObjectStorageQuotaUsage ¶
type ObjectStorageQuotaUsage struct {
QuotaLimit int `json:"quota_limit"`
Usage *int `json:"usage"`
}
ObjectStorageQuotaUsage is the usage data for a specific Object Storage related quota on your account.
type ObjectStorageTransfer ¶
type ObjectStorageTransfer struct {
AmmountUsed int `json:"used"`
}
ObjectStorageTransfer is an object matching the response of object-storage/transfer
type PGPartmanBGWInterval ¶
type PGPartmanBGWRole ¶
type PGStatStatementsTrack ¶
type PageOptions ¶
type PageOptions struct {
Page int `json:"page"`
Pages int `json:"pages"`
Results int `json:"results"`
}
PageOptions are the pagination parameters for List endpoints
type PagedResponse ¶
type PagedResponse interface {
// contains filtered or unexported methods
}
type PaginatedResponse ¶
type PaginatedResponse[T any] struct { Page int `json:"page"` Pages int `json:"pages"` Results int `json:"results"` Data []T `json:"data"` }
PaginatedResponse represents a single response from a paginated endpoint.
type PasswordEncryption ¶
type Payment ¶
type Payment struct {
// The unique ID of the Payment
ID int `json:"id"`
// The amount, in US dollars, of the Payment.
USD json.Number `json:"usd"`
// When the Payment was made.
Date *time.Time `json:"-"`
}
Payment represents a Payment object
func (Payment) GetCreateOptions ¶
func (i Payment) GetCreateOptions() (o PaymentCreateOptions)
GetCreateOptions converts a Payment to PaymentCreateOptions for use in CreatePayment
func (*Payment) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type PaymentCreateOptions ¶
type PaymentCreateOptions struct {
// CVV (Card Verification Value) of the credit card to be used for the Payment
CVV string `json:"cvv,omitzero"`
// The amount, in US dollars, of the Payment
USD json.Number `json:"usd"`
}
PaymentCreateOptions fields are those accepted by CreatePayment
type PaymentMethod ¶
type PaymentMethod struct {
// The unique ID of the Payment Method.
ID int `json:"id"`
// When the Payment Method was created.
Created *time.Time `json:"created"`
// Whether this Payment Method is the default method for automatically processing service charges.
IsDefault bool `json:"is_default"`
// The type of Payment Method.
Type string `json:"type"`
// The detailed data for the Payment Method, which can be of varying types.
Data any `json:"data"`
}
PaymentMethod represents a PaymentMethod object
func (*PaymentMethod) UnmarshalJSON ¶
func (i *PaymentMethod) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type PaymentMethodCreateOptions ¶
type PaymentMethodCreateOptions struct {
// Whether this Payment Method is the default method for automatically processing service charges.
IsDefault bool `json:"is_default"`
// The type of Payment Method. Alternative payment methods including Google Pay and PayPal can be added using the Cloud Manager.
Type string `json:"type"`
// An object representing the credit card information you have on file with Linode to make Payments against your Account.
Data *PaymentMethodCreateOptionsData `json:"data"`
}
PaymentMethodCreateOptions fields are those accepted by CreatePaymentMethod
type PaymentMethodCreateOptionsData ¶
type PaymentMethodCreateOptionsData struct {
// Your credit card number. No spaces or hyphens (-) allowed.
CardNumber string `json:"card_number"`
// CVV (Card Verification Value) of the credit card, typically found on the back of the card.
CVV string `json:"cvv"`
// A value from 1-12 representing the expiration month of your credit card.
ExpiryMonth int `json:"expiry_month"`
// A four-digit integer representing the expiration year of your credit card.
ExpiryYear int `json:"expiry_year"`
}
type PaymentMethodDataCreditCard ¶
type PaymentMethodDataCreditCard struct {
// The type of credit card.
CardType string `json:"card_type"`
// The expiration month and year of the credit card.
Expiry string `json:"expiry"`
// The last four digits of the credit card number.
LastFour string `json:"last_four"`
}
PaymentMethodDataCreditCard represents a PaymentMethodDataCreditCard object
type PaymentMethodDataGooglePay ¶
type PaymentMethodDataGooglePay struct {
// The type of credit card.
CardType string `json:"card_type"`
// The expiration month and year of the credit card.
Expiry string `json:"expiry"`
// The last four digits of the credit card number.
LastFour string `json:"last_four"`
}
PaymentMethodDataGooglePay represents a PaymentMethodDataGooglePay object
type PaymentMethodDataPaypal ¶
type PaymentMethodDataPaypal struct {
// The email address associated with your PayPal account.
Email string `json:"email"`
// PayPal Merchant ID associated with your PayPal account.
PaypalID string `json:"paypal_id"`
}
PaymentMethodDataPaypal represents a PaymentMethodDataPaypal object
type PlacementGroup ¶
type PlacementGroup struct {
ID int `json:"id"`
Label string `json:"label"`
Region string `json:"region"`
PlacementGroupType PlacementGroupType `json:"placement_group_type"`
PlacementGroupPolicy PlacementGroupPolicy `json:"placement_group_policy"`
IsCompliant bool `json:"is_compliant"`
Members []PlacementGroupMember `json:"members"`
Migrations *PlacementGroupMigrations `json:"migrations"`
}
PlacementGroup represents a Linode placement group.
type PlacementGroupAssignOptions ¶
type PlacementGroupAssignOptions struct {
Linodes []int `json:"linodes"`
CompliantOnly *bool `json:"compliant_only,omitzero"`
}
PlacementGroupAssignOptions represents options used when assigning Linodes to a placement group.
type PlacementGroupCreateOptions ¶
type PlacementGroupCreateOptions struct {
Label string `json:"label"`
Region string `json:"region"`
PlacementGroupType PlacementGroupType `json:"placement_group_type"`
PlacementGroupPolicy PlacementGroupPolicy `json:"placement_group_policy"`
}
PlacementGroupCreateOptions represents the options to use when creating a placement group.
type PlacementGroupMember ¶
type PlacementGroupMember struct {
LinodeID int `json:"linode_id"`
IsCompliant bool `json:"is_compliant"`
}
PlacementGroupMember represents a single Linode assigned to a placement group.
type PlacementGroupMigrationInstance ¶
type PlacementGroupMigrationInstance struct {
LinodeID int `json:"linode_id"`
}
PlacementGroupMigrationInstance represents the unique identifier for a compute instance being migrated to/from the placement group.
type PlacementGroupMigrations ¶
type PlacementGroupMigrations struct {
Inbound []PlacementGroupMigrationInstance `json:"inbound"`
Outbound []PlacementGroupMigrationInstance `json:"outbound"`
}
PlacementGroupMigrations represent the instances that are being migrated to or from the placement group.
type PlacementGroupPolicy ¶
type PlacementGroupPolicy string
PlacementGroupPolicy is an enum for the policy that determines whether a Linode can be assigned to a Placement Group.
const ( PlacementGroupPolicyStrict PlacementGroupPolicy = "strict" PlacementGroupPolicyFlexible PlacementGroupPolicy = "flexible" )
type PlacementGroupType ¶
type PlacementGroupType string
PlacementGroupType is an enum that determines the affinity policy for Linodes in a placement group.
const (
PlacementGroupTypeAntiAffinityLocal PlacementGroupType = "anti_affinity:local"
)
type PlacementGroupUnAssignOptions ¶
type PlacementGroupUnAssignOptions struct {
Linodes []int `json:"linodes"`
}
PlacementGroupUnAssignOptions represents options used when unassigning Linodes from a placement group.
type PlacementGroupUpdateOptions ¶
type PlacementGroupUpdateOptions struct {
Label string `json:"label,omitzero"`
}
PlacementGroupUpdateOptions represents the options to use when updating a placement group.
type PostgresCommitType ¶
type PostgresCommitType string
const ( PostgresCommitTrue PostgresCommitType = "true" PostgresCommitFalse PostgresCommitType = "false" PostgresCommitLocal PostgresCommitType = "local" PostgresCommitRemoteWrite PostgresCommitType = "remote_write" PostgresCommitRemoteApply PostgresCommitType = "remote_apply" )
type PostgresCreateOptions ¶
type PostgresCreateOptions struct {
Label string `json:"label"`
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
AllowList []string `json:"allow_list,omitzero"`
ClusterSize int `json:"cluster_size,omitzero"`
Fork *DatabaseFork `json:"fork,omitzero"`
EngineConfig *PostgresDatabaseEngineConfig `json:"engine_config,omitzero"`
PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
PostgresCreateOptions fields are used when creating a new Postgres Database
type PostgresDatabase ¶
type PostgresDatabase struct {
ID int `json:"id"`
Status DatabaseStatus `json:"status"`
Label string `json:"label"`
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
Version string `json:"version"`
AllowList []string `json:"allow_list"`
Port int `json:"port"`
ClusterSize int `json:"cluster_size"`
Platform DatabasePlatform `json:"platform"`
// Members has dynamic keys so it is a map
Members map[string]DatabaseMemberType `json:"members"`
SSLConnection bool `json:"ssl_connection"`
Encrypted bool `json:"encrypted"`
Hosts DatabaseHost `json:"hosts"`
Updates DatabaseMaintenanceWindow `json:"updates"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Fork *DatabaseFork `json:"fork"`
OldestRestoreTime *time.Time `json:"-"`
UsedDiskSizeGB int `json:"used_disk_size_gb"`
TotalDiskSizeGB int `json:"total_disk_size_gb"`
EngineConfig PostgresDatabaseEngineConfig `json:"engine_config"`
PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
A PostgresDatabase is an instance of Linode Postgres Managed Databases
func (*PostgresDatabase) UnmarshalJSON ¶
func (d *PostgresDatabase) UnmarshalJSON(b []byte) error
type PostgresDatabaseConfigInfo ¶
type PostgresDatabaseConfigInfo struct {
PG PostgresDatabaseConfigInfoPG `json:"pg"`
PGStatMonitorEnable PostgresDatabaseConfigInfoPGStatMonitorEnable `json:"pg_stat_monitor_enable"`
PGLookout PostgresDatabaseConfigInfoPGLookout `json:"pglookout"`
WorkMem PostgresDatabaseConfigInfoWorkMem `json:"work_mem"`
}
type PostgresDatabaseConfigInfoPG ¶
type PostgresDatabaseConfigInfoPG struct {
AutovacuumAnalyzeScaleFactor AutovacuumAnalyzeScaleFactor `json:"autovacuum_analyze_scale_factor"`
AutovacuumAnalyzeThreshold AutovacuumAnalyzeThreshold `json:"autovacuum_analyze_threshold"`
AutovacuumMaxWorkers AutovacuumMaxWorkers `json:"autovacuum_max_workers"`
AutovacuumNaptime AutovacuumNaptime `json:"autovacuum_naptime"`
AutovacuumVacuumCostDelay AutovacuumVacuumCostDelay `json:"autovacuum_vacuum_cost_delay"`
AutovacuumVacuumCostLimit AutovacuumVacuumCostLimit `json:"autovacuum_vacuum_cost_limit"`
AutovacuumVacuumScaleFactor AutovacuumVacuumScaleFactor `json:"autovacuum_vacuum_scale_factor"`
AutovacuumVacuumThreshold AutovacuumVacuumThreshold `json:"autovacuum_vacuum_threshold"`
BGWriterDelay BGWriterDelay `json:"bgwriter_delay"`
BGWriterFlushAfter BGWriterFlushAfter `json:"bgwriter_flush_after"`
BGWriterLRUMaxPages BGWriterLRUMaxPages `json:"bgwriter_lru_maxpages"`
BGWriterLRUMultiplier BGWriterLRUMultiplier `json:"bgwriter_lru_multiplier"`
DeadlockTimeout DeadlockTimeout `json:"deadlock_timeout"`
DefaultToastCompression DefaultToastCompression `json:"default_toast_compression"`
IdleInTransactionSessionTimeout IdleInTransactionSessionTimeout `json:"idle_in_transaction_session_timeout"`
JIT JIT `json:"jit"`
MaxFilesPerProcess MaxFilesPerProcess `json:"max_files_per_process"`
MaxLocksPerTransaction MaxLocksPerTransaction `json:"max_locks_per_transaction"`
MaxLogicalReplicationWorkers MaxLogicalReplicationWorkers `json:"max_logical_replication_workers"`
MaxParallelWorkers MaxParallelWorkers `json:"max_parallel_workers"`
MaxParallelWorkersPerGather MaxParallelWorkersPerGather `json:"max_parallel_workers_per_gather"`
MaxPredLocksPerTransaction MaxPredLocksPerTransaction `json:"max_pred_locks_per_transaction"`
MaxReplicationSlots MaxReplicationSlots `json:"max_replication_slots"`
MaxSlotWALKeepSize MaxSlotWALKeepSize `json:"max_slot_wal_keep_size"`
MaxStackDepth MaxStackDepth `json:"max_stack_depth"`
MaxStandbyArchiveDelay MaxStandbyArchiveDelay `json:"max_standby_archive_delay"`
MaxStandbyStreamingDelay MaxStandbyStreamingDelay `json:"max_standby_streaming_delay"`
MaxWALSenders MaxWALSenders `json:"max_wal_senders"`
MaxWorkerProcesses MaxWorkerProcesses `json:"max_worker_processes"`
PasswordEncryption PasswordEncryption `json:"password_encryption"`
PGPartmanBGWInterval PGPartmanBGWInterval `json:"pg_partman_bgw.interval"`
PGPartmanBGWRole PGPartmanBGWRole `json:"pg_partman_bgw.role"`
PGStatMonitorPGSMEnableQueryPlan PGStatMonitorPGSMEnableQueryPlan `json:"pg_stat_monitor.pgsm_enable_query_plan"`
PGStatMonitorPGSMMaxBuckets PGStatMonitorPGSMMaxBuckets `json:"pg_stat_monitor.pgsm_max_buckets"`
PGStatStatementsTrack PGStatStatementsTrack `json:"pg_stat_statements.track"`
TempFileLimit TempFileLimit `json:"temp_file_limit"`
Timezone Timezone `json:"timezone"`
TrackActivityQuerySize TrackActivityQuerySize `json:"track_activity_query_size"`
TrackCommitTimestamp TrackCommitTimestamp `json:"track_commit_timestamp"`
TrackFunctions TrackFunctions `json:"track_functions"`
TrackIOTiming TrackIOTiming `json:"track_io_timing"`
WALSenderTimeout WALSenderTimeout `json:"wal_sender_timeout"`
WALWriterDelay WALWriterDelay `json:"wal_writer_delay"`
}
type PostgresDatabaseConfigInfoPGLookout ¶
type PostgresDatabaseConfigInfoPGLookout struct {
PGLookoutMaxFailoverReplicationTimeLag PGLookoutMaxFailoverReplicationTimeLag `json:"max_failover_replication_time_lag"`
}
type PostgresDatabaseConfigInfoSharedBuffersPercentage ¶
type PostgresDatabaseConfigInfoSharedBuffersPercentage struct {
}
type PostgresDatabaseCredential ¶
type PostgresDatabaseCredential struct {
Username string `json:"username"`
Password string `json:"password"`
}
PostgresDatabaseCredential is the Root Credentials to access the Linode Managed Database
type PostgresDatabaseEngineConfig ¶
type PostgresDatabaseEngineConfig struct {
PG *PostgresDatabaseEngineConfigPG `json:"pg,omitzero"`
PGStatMonitorEnable *bool `json:"pg_stat_monitor_enable,omitzero"`
PGLookout *PostgresDatabaseEngineConfigPGLookout `json:"pglookout,omitzero"`
WorkMem *int `json:"work_mem,omitzero"`
}
type PostgresDatabaseEngineConfigPG ¶
type PostgresDatabaseEngineConfigPG struct {
AutovacuumAnalyzeScaleFactor *float64 `json:"autovacuum_analyze_scale_factor,omitzero"`
AutovacuumAnalyzeThreshold *int32 `json:"autovacuum_analyze_threshold,omitzero"`
AutovacuumMaxWorkers *int `json:"autovacuum_max_workers,omitzero"`
AutovacuumNaptime *int `json:"autovacuum_naptime,omitzero"`
AutovacuumVacuumCostDelay *int `json:"autovacuum_vacuum_cost_delay,omitzero"`
AutovacuumVacuumCostLimit *int `json:"autovacuum_vacuum_cost_limit,omitzero"`
AutovacuumVacuumScaleFactor *float64 `json:"autovacuum_vacuum_scale_factor,omitzero"`
AutovacuumVacuumThreshold *int32 `json:"autovacuum_vacuum_threshold,omitzero"`
BGWriterDelay *int `json:"bgwriter_delay,omitzero"`
BGWriterFlushAfter *int `json:"bgwriter_flush_after,omitzero"`
BGWriterLRUMaxPages *int `json:"bgwriter_lru_maxpages,omitzero"`
BGWriterLRUMultiplier *float64 `json:"bgwriter_lru_multiplier,omitzero"`
DeadlockTimeout *int `json:"deadlock_timeout,omitzero"`
DefaultToastCompression *string `json:"default_toast_compression,omitzero"`
IdleInTransactionSessionTimeout *int `json:"idle_in_transaction_session_timeout,omitzero"`
JIT *bool `json:"jit,omitzero"`
MaxFilesPerProcess *int `json:"max_files_per_process,omitzero"`
MaxLocksPerTransaction *int `json:"max_locks_per_transaction,omitzero"`
MaxLogicalReplicationWorkers *int `json:"max_logical_replication_workers,omitzero"`
MaxParallelWorkers *int `json:"max_parallel_workers,omitzero"`
MaxParallelWorkersPerGather *int `json:"max_parallel_workers_per_gather,omitzero"`
MaxPredLocksPerTransaction *int `json:"max_pred_locks_per_transaction,omitzero"`
MaxReplicationSlots *int `json:"max_replication_slots,omitzero"`
MaxSlotWALKeepSize *int32 `json:"max_slot_wal_keep_size,omitzero"`
MaxStackDepth *int `json:"max_stack_depth,omitzero"`
MaxStandbyArchiveDelay *int `json:"max_standby_archive_delay,omitzero"`
MaxStandbyStreamingDelay *int `json:"max_standby_streaming_delay,omitzero"`
MaxWALSenders *int `json:"max_wal_senders,omitzero"`
MaxWorkerProcesses *int `json:"max_worker_processes,omitzero"`
PasswordEncryption *string `json:"password_encryption,omitzero"`
PGPartmanBGWInterval *int `json:"pg_partman_bgw.interval,omitzero"`
PGPartmanBGWRole *string `json:"pg_partman_bgw.role,omitzero"`
PGStatMonitorPGSMEnableQueryPlan *bool `json:"pg_stat_monitor.pgsm_enable_query_plan,omitzero"`
PGStatMonitorPGSMMaxBuckets *int `json:"pg_stat_monitor.pgsm_max_buckets,omitzero"`
PGStatStatementsTrack *string `json:"pg_stat_statements.track,omitzero"`
TempFileLimit *int32 `json:"temp_file_limit,omitzero"`
Timezone *string `json:"timezone,omitzero"`
TrackActivityQuerySize *int `json:"track_activity_query_size,omitzero"`
TrackCommitTimestamp *string `json:"track_commit_timestamp,omitzero"`
TrackFunctions *string `json:"track_functions,omitzero"`
TrackIOTiming *string `json:"track_io_timing,omitzero"`
WALSenderTimeout *int `json:"wal_sender_timeout,omitzero"`
WALWriterDelay *int `json:"wal_writer_delay,omitzero"`
}
type PostgresDatabaseEngineConfigPGLookout ¶
type PostgresDatabaseEngineConfigPGLookout struct {
MaxFailoverReplicationTimeLag *int64 `json:"max_failover_replication_time_lag,omitzero"`
}
type PostgresDatabaseSSL ¶
type PostgresDatabaseSSL struct {
CACertificate []byte `json:"ca_certificate"`
}
PostgresDatabaseSSL is the SSL Certificate to access the Linode Managed Postgres Database
type PostgresDatabaseTarget ¶
type PostgresDatabaseTarget string
const ( PostgresDatabaseTargetPrimary PostgresDatabaseTarget = "primary" PostgresDatabaseTargetSecondary PostgresDatabaseTarget = "secondary" )
type PostgresReplicationType ¶
type PostgresReplicationType string
const ( PostgresReplicationNone PostgresReplicationType = "none" PostgresReplicationAsynch PostgresReplicationType = "asynch" PostgresReplicationSemiSynch PostgresReplicationType = "semi_synch" )
type PostgresUpdateOptions ¶
type PostgresUpdateOptions struct {
Label string `json:"label,omitzero"`
AllowList []string `json:"allow_list,omitzero"`
Updates *DatabaseMaintenanceWindow `json:"updates,omitzero"`
Type string `json:"type,omitzero"`
ClusterSize int `json:"cluster_size,omitzero"`
Version string `json:"version,omitzero"`
EngineConfig *PostgresDatabaseEngineConfig `json:"engine_config,omitzero"`
PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
PostgresUpdateOptions fields are used when altering the existing Postgres Database
type PrefixList ¶
type PrefixList struct {
ID int `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Visibility string `json:"visibility"`
SourcePrefixListID *int `json:"source_prefixlist_id"`
IPv4 *[]string `json:"ipv4"`
IPv6 *[]string `json:"ipv6"`
Version int `json:"version"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Deleted *time.Time `json:"-"`
}
PrefixList represents a network prefix list returned by the API.
func (*PrefixList) UnmarshalJSON ¶
func (p *PrefixList) UnmarshalJSON(data []byte) error
UnmarshalJSON implements custom timestamp parsing for PrefixList values.
type ProducerImageShareGroup ¶
type ProducerImageShareGroup struct {
}
ProducerImageShareGroup represents an ImageShareGroup owned by the producer.
func (*ProducerImageShareGroup) UnmarshalJSON ¶
func (isg *ProducerImageShareGroup) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type Profile ¶
type Profile struct {
UID int `json:"uid"`
Username string `json:"username"`
Email string `json:"email"`
Timezone string `json:"timezone"`
EmailNotifications bool `json:"email_notifications"`
IPWhitelistEnabled bool `json:"ip_whitelist_enabled"`
TwoFactorAuth bool `json:"two_factor_auth"`
Restricted bool `json:"restricted"`
LishAuthMethod LishAuthMethod `json:"lish_auth_method"`
Referrals ProfileReferrals `json:"referrals"`
AuthorizedKeys []string `json:"authorized_keys"`
AuthenticationType string `json:"authentication_type"`
VerifiedPhoneNumber string `json:"verified_phone_number,omitzero"`
}
Profile represents a Profile object
func (Profile) GetUpdateOptions ¶
func (i Profile) GetUpdateOptions() (o ProfileUpdateOptions)
GetUpdateOptions converts a Profile to ProfileUpdateOptions for use in UpdateProfile
type ProfileApp ¶
type ProfileApp struct {
// When this app was authorized.
Created *time.Time `json:"-"`
// When the app's access to your account expires.
Expiry *time.Time `json:"-"`
// This authorization's ID, used for revoking access.
ID int `json:"id"`
// The name of the application you've authorized.
Label string `json:"label"`
// The OAuth scopes this app was authorized with.
Scopes string `json:"scopes"`
// The URL at which this app's thumbnail may be accessed.
ThumbnailURL string `json:"thumbnail_url"`
// The website where you can get more information about this app.
Website string `json:"website"`
}
ProfileApp represents a ProfileApp object
func (*ProfileApp) UnmarshalJSON ¶
func (pa *ProfileApp) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ProfileDevice ¶
type ProfileDevice struct {
// When this Remember Me session was started.
Created *time.Time `json:"-"`
// When this TrustedDevice session expires. Sessions typically last 30 days.
Expiry *time.Time `json:"-"`
// The unique ID for this TrustedDevice.
ID int `json:"id"`
// he last time this TrustedDevice was successfully used to authenticate to login.linode.com
LastAuthenticated *time.Time `json:"-"`
// The last IP Address to successfully authenticate with this TrustedDevice.
LastRemoteAddr string `json:"last_remote_addr"`
// The User Agent of the browser that created this TrustedDevice session.
UserAgent string `json:"user_agent"`
}
ProfileDevice represents a ProfileDevice object
func (*ProfileDevice) UnmarshalJSON ¶
func (pd *ProfileDevice) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ProfileLogin ¶
type ProfileLogin struct {
Datetime *time.Time `json:"datetime"`
ID int `json:"id"`
IP string `json:"ip"`
Restricted bool `json:"restricted"`
Status string `json:"status"`
Username string `json:"username"`
}
ProfileLogin represents a Profile object
func (*ProfileLogin) UnmarshalJSON ¶
func (i *ProfileLogin) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ProfilePreferences ¶
ProfilePreferences represents the user's preferences. The user preferences endpoints allow consumers of the API to store arbitrary JSON data, such as a user's font size preference or preferred display name.
func (*ProfilePreferences) UnmarshalJSON ¶
func (p *ProfilePreferences) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type ProfileReferrals ¶
type ProfileReferrals struct {
Total int `json:"total"`
Completed int `json:"completed"`
Pending int `json:"pending"`
Credit float64 `json:"credit"`
Code string `json:"code"`
URL string `json:"url"`
}
ProfileReferrals represent a User's status in the Referral Program
type ProfileUpdateOptions ¶
type ProfileUpdateOptions struct {
Email string `json:"email,omitzero"`
Timezone string `json:"timezone,omitzero"`
EmailNotifications *bool `json:"email_notifications,omitzero"`
IPWhitelistEnabled *bool `json:"ip_whitelist_enabled,omitzero"`
LishAuthMethod LishAuthMethod `json:"lish_auth_method,omitzero"`
AuthorizedKeys []string `json:"authorized_keys,omitzero"`
TwoFactorAuth *bool `json:"two_factor_auth,omitzero"`
Restricted *bool `json:"restricted,omitzero"`
}
ProfileUpdateOptions fields are those accepted by UpdateProfile
type PromoCodeCreateOptions ¶
type PromoCodeCreateOptions struct {
// The Promo Code.
PromoCode string `json:"promo_code"`
}
PromoCodeCreateOptions fields are those accepted by AddPromoCode
type Promotion ¶
type Promotion struct {
// The amount available to spend per month.
CreditMonthlyCap string `json:"credit_monthly_cap"`
// The total amount of credit left for this promotion.
CreditRemaining string `json:"credit_remaining"`
// A detailed description of this promotion.
Description string `json:"description"`
// When this promotion's credits expire.
ExpirationDate *time.Time `json:"-"`
// The location of an image for this promotion.
ImageURL string `json:"image_url"`
// The service to which this promotion applies.
ServiceType string `json:"service_type"`
// Short details of this promotion.
Summary string `json:"summary"`
// The amount of credit left for this month for this promotion.
ThisMonthCreditRemaining string `json:"this_month_credit_remaining"`
}
Promotion represents a Promotion object
func (*Promotion) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type PublicInterface ¶
type PublicInterface struct {
IPv4 *PublicInterfaceIPv4 `json:"ipv4"`
IPv6 *PublicInterfaceIPv6 `json:"ipv6"`
}
type PublicInterfaceCreateOptions ¶
type PublicInterfaceCreateOptions struct {
IPv4 *PublicInterfaceIPv4CreateOptions `json:"ipv4,omitzero"`
IPv6 *PublicInterfaceIPv6CreateOptions `json:"ipv6,omitzero"`
}
type PublicInterfaceIPv4 ¶
type PublicInterfaceIPv4 struct {
Addresses []PublicInterfaceIPv4Address `json:"addresses"`
}
type PublicInterfaceIPv4CreateOptions ¶
type PublicInterfaceIPv4CreateOptions struct {
Addresses []PublicInterfaceIPv4AddressCreateOptions `json:"addresses,omitzero"`
}
type PublicInterfaceIPv4Shared ¶
type PublicInterfaceIPv4Shared struct {
}
type PublicInterfaceIPv6 ¶
type PublicInterfaceIPv6 struct {
Ranges []PublicInterfaceIPv6Range `json:"ranges"`
SLAAC []PublicInterfaceIPv6SLAAC `json:"slaac"`
}
type PublicInterfaceIPv6CreateOptions ¶
type PublicInterfaceIPv6CreateOptions struct {
Ranges []PublicInterfaceIPv6RangeCreateOptions `json:"ranges,omitzero"`
}
type PublicInterfaceIPv6RangeCreateOptions ¶
type PublicInterfaceIPv6RangeCreateOptions struct {
Range string `json:"range"`
}
type Region ¶
type Region struct {
ID string `json:"id"`
Country string `json:"country"`
// A List of enums from the above constants
Capabilities []string `json:"capabilities"`
Monitors RegionMonitors `json:"monitors"`
Status string `json:"status"`
Label string `json:"label"`
SiteType string `json:"site_type"`
Resolvers RegionResolvers `json:"resolvers"`
PlacementGroupLimits *RegionPlacementGroupLimits `json:"placement_group_limits"`
}
Region represents a linode region object
type RegionAvailability ¶
type RegionAvailability struct {
Region string `json:"region"`
Plan string `json:"plan"`
Available bool `json:"available"`
}
RegionAvailability represents a linode region object.
type RegionCapability ¶
type RegionCapability string
RegionCapability constants start with Capability and include all known Linode region capabilities.
const ( CapabilityACLP RegionCapability = "Akamai Cloud Pulse" CapabilityACLPStreams RegionCapability = "Akamai Cloud Pulse Streams" CapabilityAkamaiRAMProtection RegionCapability = "Akamai RAM Protection" CapabilityACLB RegionCapability = "Akamai Cloud Load Balancer" CapabilityBackups RegionCapability = "Backups" CapabilityBlockStorage RegionCapability = "Block Storage" CapabilityBlockStorageEncryption RegionCapability = "Block Storage Encryption" CapabilityBlockStorageMigrations RegionCapability = "Block Storage Migrations" CapabilityBlockStoragePerformanceB1 RegionCapability = "Block Storage Performance B1" CapabilityBlockStoragePerformanceB1Default RegionCapability = "Block Storage Performance B1 Default" CapabilityCloudFirewall RegionCapability = "Cloud Firewall" CapabilityCloudFirewallRuleSet RegionCapability = "Cloud Firewall Rule Set" CapabilityCloudNAT RegionCapability = "Cloud NAT" CapabilityDBAAS RegionCapability = "Managed Databases" CapabilityDBAASBeta RegionCapability = "Managed Databases Beta" CapabilityDiskEncryption RegionCapability = "Disk Encryption" CapabilityDistributedPlans RegionCapability = "Distributed Plans" CapabilityEdgePlans RegionCapability = "Edge Plans" CapabilityGPU RegionCapability = "GPU Linodes" CapabilityKubernetesEnterprise RegionCapability = "Kubernetes Enterprise" CapabilityKubernetesEnterpriseBYOVPC RegionCapability = "Kubernetes Enterprise BYO VPC" CapabilityKubernetesEnterpriseDualStack RegionCapability = "Kubernetes Enterprise Dual Stack" CapabilityLADiskEncryption RegionCapability = "LA Disk Encryption" CapabilityLinodeInterfaces RegionCapability = "Linode Interfaces" CapabilityLinodes RegionCapability = "Linodes" CapabilityLKE RegionCapability = "Kubernetes" CapabilityLKEControlPlaneACL RegionCapability = "LKE Network Access Control List (IP ACL)" CapabilityLkeHaControlPlanes RegionCapability = "LKE HA Control Planes" CapabilityMachineImages RegionCapability = "Machine Images" CapabilityMaintenancePolicy RegionCapability = "Maintenance Policy" CapabilityMetadata RegionCapability = "Metadata" CapabilityNLB RegionCapability = "Network LoadBalancer" CapabilityNodeBalancers RegionCapability = "NodeBalancers" CapabilityObjectStorage RegionCapability = "Object Storage" CapabilityObjectStorageAccessKeyRegions RegionCapability = "Object Storage Access Key Regions" CapabilityObjectStorageEndpointTypes RegionCapability = "Object Storage Endpoint Types" CapabilityPlacementGroup RegionCapability = "Placement Group" CapabilityPremiumPlans RegionCapability = "Premium Plans" CapabilityQuadraT1UVPU RegionCapability = "NETINT Quadra T1U" CapabilitySMTPEnabled RegionCapability = "SMTP Enabled" CapabilityStackScripts RegionCapability = "StackScripts" CapabilitySupportTicketSeverity RegionCapability = "Support Ticket Severity" CapabilityVlans RegionCapability = "Vlans" CapabilityVPCs RegionCapability = "VPCs" CapabilityVPCDualStack RegionCapability = "VPC Dual Stack" CapabilityVPCIPv6LargePrefixes RegionCapability = "VPC IPv6 Large Prefixes" CapabilityVPCIPv6Stack RegionCapability = "VPC IPv6 Stack" CapabilityVPCsExtra RegionCapability = "VPCs Extra" )
This is an enumeration of Capabilities Linode offers that can be referenced through the user-facing parts of the application.
type RegionMonitors ¶
RegionMonitors contains the monitoring configuration for a region
type RegionPlacementGroupLimits ¶
type RegionPlacementGroupLimits struct {
MaximumPGsPerCustomer int `json:"maximum_pgs_per_customer"`
MaximumLinodesPerPG int `json:"maximum_linodes_per_pg"`
}
RegionPlacementGroupLimits contains information about the placement group limits for the current user in the current region.
type RegionResolvers ¶
RegionResolvers contains the DNS resolvers of a region
type RegionVPCAvailability ¶
type RegionVPCAvailability struct {
Region string `json:"region"`
Available bool `json:"available"`
AvailableIPV6PrefixLengths []int `json:"available_ipv6_prefix_lengths"`
}
RegionVPCAvailability represents a linode region vpc availability object.
type RequestLog ¶
type ReserveIPOptions ¶
type ReserveIPOptions struct {
Region string `json:"region"`
}
ReserveIPOptions represents the options for reserving an IP address NOTE: Reserved IP feature may not currently be available to all users.
type ResponseLog ¶
type RestoreInstanceOptions ¶
type RestoreInstanceOptions struct {
LinodeID int `json:"linode_id"`
Overwrite bool `json:"overwrite"`
}
RestoreInstanceOptions fields are those accepted by InstanceRestore
type RetryAfter ¶
RetryAfter is a type alias for a function that determines the duration to wait before retrying based on the response.
type RetryConditional ¶
RetryConditional is a type alias for a function that determines if a request should be retried based on the response and error.
type Role ¶
type Role struct {
Name string `json:"name"`
Description string `json:"description"`
Permissions []string `json:"permissions"`
}
Role is the IAM Role and its Permissions
type Rule ¶
type Rule struct {
AggregateFunction string `json:"aggregate_function"`
DimensionFilters []DimensionFilter `json:"dimension_filters"`
Label string `json:"label"`
Metric string `json:"metric"`
Operator string `json:"operator"`
Threshold float64 `json:"threshold"`
Unit string `json:"unit"`
}
Rule represents a single rule for an alert.
type RuleCriteria ¶
type RuleCriteria struct {
Rules []Rule `json:"rules,omitzero"`
}
RuleCriteria represents the rule criteria for an alert.
type RuleCriteriaOptions ¶
type RuleCriteriaOptions struct {
Rules []RuleOptions `json:"rules,omitzero"`
}
RuleCriteriaOptions represents the rule criteria options for an alert.
type RuleOptions ¶
type RuleOptions struct {
AggregateFunction string `json:"aggregate_function,omitzero"`
DimensionFilters []DimensionFilterOptions `json:"dimension_filters,omitzero"`
Metric string `json:"metric,omitzero"`
Operator string `json:"operator,omitzero"`
Threshold float64 `json:"threshold,omitzero"`
}
RuleOptions represents a single rule option for an alert.
type SQLRequirePrimaryKey ¶
type SSHKey ¶
type SSHKey struct {
ID int `json:"id"`
Label string `json:"label"`
SSHKey string `json:"ssh_key"`
Created *time.Time `json:"-"`
}
SSHKey represents a SSHKey object
func (SSHKey) GetCreateOptions ¶
func (i SSHKey) GetCreateOptions() (o SSHKeyCreateOptions)
GetCreateOptions converts a SSHKey to SSHKeyCreateOptions for use in CreateSSHKey
func (SSHKey) GetUpdateOptions ¶
func (i SSHKey) GetUpdateOptions() (o SSHKeyUpdateOptions)
GetUpdateOptions converts a SSHKey to SSHKeyCreateOptions for use in UpdateSSHKey
func (*SSHKey) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type SSHKeyCreateOptions ¶
SSHKeyCreateOptions fields are those accepted by CreateSSHKey
type SSHKeyUpdateOptions ¶
type SSHKeyUpdateOptions struct {
Label string `json:"label"`
}
SSHKeyUpdateOptions fields are those accepted by UpdateSSHKey
type SecurityQuestion ¶
type SecurityQuestionsAnswerOptions ¶
type SecurityQuestionsAnswerOptions struct {
SecurityQuestions []SecurityQuestionsAnswerQuestion `json:"security_questions"`
}
type SecurityQuestionsListResponse ¶
type SecurityQuestionsListResponse struct {
SecurityQuestions []SecurityQuestion `json:"security_questions"`
}
type SendPhoneNumberVerificationCodeOptions ¶
type SendPhoneNumberVerificationCodeOptions struct {
ISOCode string `json:"iso_code"`
PhoneNumber string `json:"phone_number"`
}
SendPhoneNumberVerificationCodeOptions fields are those accepted by SendPhoneNumberVerificationCode
type ServiceType ¶
type ServiceType string
ServiceType is an enum object for serviceType
const ( ServiceTypeLinode ServiceType = "linode" ServiceTypeLKE ServiceType = "lke" ServiceTypeDBaaS ServiceType = "dbaas" ServiceTypeACLB ServiceType = "aclb" ServiceTypeNodeBalancer ServiceType = "nodebalancer" ServiceTypeObjectStorage ServiceType = "object_storage" ServiceTypeVPC ServiceType = "vpc" ServiceTypeFirewallService ServiceType = "firewall" ServiceTypeNetLoadBalancer ServiceType = "netloadbalancer" )
type Severity ¶
type Severity int
Severity represents the severity level of an alert. 0 = Severe, 1 = Medium, 2 = Low, 3 = Info
type SortBufferSize ¶
type SortedObjects ¶
type SortedObjects struct {
Instances []Instance
LKEClusters []LKECluster
Domains []Domain
Volumes []Volume
NodeBalancers []NodeBalancer
}
SortedObjects currently only includes Instances
type Stackscript ¶
type Stackscript struct {
ID int `json:"id"`
Username string `json:"username"`
Label string `json:"label"`
Description string `json:"description"`
Ordinal int `json:"ordinal"`
LogoURL string `json:"logo_url"`
Images []string `json:"images"`
DeploymentsTotal int `json:"deployments_total"`
DeploymentsActive int `json:"deployments_active"`
IsPublic bool `json:"is_public"`
Mine bool `json:"mine"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
RevNote string `json:"rev_note"`
Script string `json:"script"`
UserDefinedFields *[]StackscriptUDF `json:"user_defined_fields"`
UserGravatarID string `json:"user_gravatar_id"`
}
Stackscript represents a Linode StackScript
func (Stackscript) GetCreateOptions ¶
func (i Stackscript) GetCreateOptions() StackscriptCreateOptions
GetCreateOptions converts a Stackscript to StackscriptCreateOptions for use in CreateStackscript
func (Stackscript) GetUpdateOptions ¶
func (i Stackscript) GetUpdateOptions() StackscriptUpdateOptions
GetUpdateOptions converts a Stackscript to StackscriptUpdateOptions for use in UpdateStackscript
func (*Stackscript) UnmarshalJSON ¶
func (i *Stackscript) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface
type StackscriptCreateOptions ¶
type StackscriptCreateOptions struct {
Label string `json:"label"`
Description string `json:"description"`
Images []string `json:"images"`
IsPublic bool `json:"is_public"`
RevNote string `json:"rev_note"`
Script string `json:"script"`
}
StackscriptCreateOptions fields are those accepted by CreateStackscript
type StackscriptUDF ¶
type StackscriptUDF struct {
// A human-readable label for the field that will serve as the input prompt for entering the value during deployment.
Label string `json:"label"`
// The name of the field.
Name string `json:"name"`
// An example value for the field.
Example string `json:"example"`
// A list of acceptable single values for the field.
OneOf string `json:"oneOf,omitzero"`
// A list of acceptable values for the field in any quantity, combination or order.
ManyOf string `json:"manyOf,omitzero"`
// The default value. If not specified, this value will be used.
Default string `json:"default,omitzero"`
}
StackscriptUDF define a single variable that is accepted by a Stackscript
type StackscriptUpdateOptions ¶
type StackscriptUpdateOptions StackscriptCreateOptions
StackscriptUpdateOptions fields are those accepted by UpdateStackscript
type StatsNet ¶
type StatsNet struct {
In [][]float64 `json:"in"`
Out [][]float64 `json:"out"`
PrivateIn [][]float64 `json:"private_in"`
PrivateOut [][]float64 `json:"private_out"`
}
StatsNet represents a network stats object
type StatsTraffic ¶
StatsTraffic represents a Traffic stats object
type Tag ¶
type Tag struct {
Label string `json:"label"`
}
Tag represents a Tag object
func (Tag) GetCreateOptions ¶
func (i Tag) GetCreateOptions() (o TagCreateOptions)
GetCreateOptions converts a Tag to TagCreateOptions for use in CreateTag
type TagCreateOptions ¶
type TagCreateOptions struct {
Label string `json:"label"`
Linodes []int `json:"linodes,omitzero"`
// @TODO is this implemented?
LKEClusters []int `json:"lke_clusters,omitzero"`
Domains []int `json:"domains,omitzero"`
Volumes []int `json:"volumes,omitzero"`
NodeBalancers []int `json:"nodebalancers,omitzero"`
}
TagCreateOptions fields are those accepted by CreateTag
type TaggedObject ¶
type TaggedObject struct {
Type string `json:"type"`
RawData json.RawMessage `json:"data"`
Data any `json:"-"`
}
TaggedObject represents a Tagged Object object
type TaggedObjectList ¶
type TaggedObjectList []TaggedObject
TaggedObjectList are a list of TaggedObjects, as returning by ListTaggedObjects
func (TaggedObjectList) SortedObjects ¶
func (t TaggedObjectList) SortedObjects() (SortedObjects, error)
SortedObjects converts a list of TaggedObjects into a Sorted Objects struct, for easier access
type TempFileLimit ¶
type Ticket ¶
type Ticket struct {
ID int `json:"id"`
Attachments []string `json:"attachments"`
Closed *time.Time `json:"-"`
Description string `json:"description"`
Entity *TicketEntity `json:"entity"`
GravatarID string `json:"gravatar_id"`
Opened *time.Time `json:"-"`
OpenedBy string `json:"opened_by"`
Status TicketStatus `json:"status"`
Summary string `json:"summary"`
Updated *time.Time `json:"-"`
UpdatedBy string `json:"updated_by"`
Closeable bool `json:"closeable"`
}
Ticket represents a support ticket object
type TicketEntity ¶
type TicketEntity struct {
ID int `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
URL string `json:"url"`
}
TicketEntity refers a ticket to a specific entity
type TicketStatus ¶
type TicketStatus string
TicketStatus constants start with Ticket and include Linode API Ticket Status values
const ( TicketNew TicketStatus = "new" TicketClosed TicketStatus = "closed" TicketOpen TicketStatus = "open" )
TicketStatus constants reflect the current status of a Ticket
type TmpTableSize ¶
type Token ¶
type Token struct {
// This token's unique ID, which can be used to revoke it.
ID int `json:"id"`
// The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure.
// Valid values are "*" or a comma separated list of scopes https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference
Scopes string `json:"scopes"`
// This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. (1-100 Characters)
Label string `json:"label"`
// The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned.
Token string `json:"token"`
// The date and time this token was created.
Created *time.Time `json:"-"`
// When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with "null" as their expiry and will never expire unless revoked.
Expiry *time.Time `json:"-"`
}
Token represents a Token object
func (Token) GetCreateOptions ¶
func (i Token) GetCreateOptions() (o TokenCreateOptions)
GetCreateOptions converts a Token to TokenCreateOptions for use in CreateToken
func (Token) GetUpdateOptions ¶
func (i Token) GetUpdateOptions() (o TokenUpdateOptions)
GetUpdateOptions converts a Token to TokenUpdateOptions for use in UpdateToken
func (*Token) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type TokenCreateOptions ¶
type TokenCreateOptions struct {
// The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure.
Scopes string `json:"scopes"`
// This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. (1-100 Characters)
Label string `json:"label"`
// When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with "null" as their expiry and will never expire unless revoked.
Expiry *time.Time `json:"expiry"`
}
TokenCreateOptions fields are those accepted by CreateToken
type TokenUpdateOptions ¶
type TokenUpdateOptions struct {
// This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. (1-100 Characters)
Label string `json:"label"`
}
TokenUpdateOptions fields are those accepted by UpdateToken
type TrackActivityQuerySize ¶
type TrackCommitTimestamp ¶
type TrackFunctions ¶
type TrackIOTiming ¶
type TriggerConditions ¶
type TriggerConditions struct {
CriteriaCondition string `json:"criteria_condition,omitzero"`
EvaluationPeriodSeconds int `json:"evaluation_period_seconds,omitzero"`
PollingIntervalSeconds int `json:"polling_interval_seconds,omitzero"`
TriggerOccurrences int `json:"trigger_occurrences,omitzero"`
}
TriggerConditions represents the trigger conditions for an alert.
type TwoFactorSecret ¶
TwoFactorSecret contains fields returned by CreateTwoFactorSecret
func (*TwoFactorSecret) UnmarshalJSON ¶
func (s *TwoFactorSecret) UnmarshalJSON(b []byte) error
type User ¶
type User struct {
Username string `json:"username"`
Email string `json:"email"`
LastLogin *LastLogin `json:"last_login"`
UserType UserType `json:"user_type"`
Restricted bool `json:"restricted"`
TFAEnabled bool `json:"tfa_enabled"`
SSHKeys []string `json:"ssh_keys"`
PasswordCreated *time.Time `json:"-"`
VerifiedPhoneNumber *string `json:"verified_phone_number"`
}
User represents a User object
func (User) GetCreateOptions ¶
func (i User) GetCreateOptions() (o UserCreateOptions)
GetCreateOptions converts a User to UserCreateOptions for use in CreateUser
func (User) GetUpdateOptions ¶
func (i User) GetUpdateOptions() (o UserUpdateOptions)
GetUpdateOptions converts a User to UserUpdateOptions for use in UpdateUser
func (*User) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type UserAccess ¶
type UserAccess struct {
ID int `json:"id"`
Type string `json:"type"`
Roles []string `json:"roles"`
}
UserAccess is the breakdown of entities Roles
type UserCreateOptions ¶
type UserCreateOptions struct {
Username string `json:"username"`
Email string `json:"email"`
Restricted bool `json:"restricted"`
}
UserCreateOptions fields are those accepted by CreateUser
type UserGrants ¶
type UserGrants struct {
Database []GrantedEntity `json:"database"`
Domain []GrantedEntity `json:"domain"`
Firewall []GrantedEntity `json:"firewall"`
Image []GrantedEntity `json:"image"`
Linode []GrantedEntity `json:"linode"`
Longview []GrantedEntity `json:"longview"`
NodeBalancer []GrantedEntity `json:"nodebalancer"`
PlacementGroup []GrantedEntity `json:"placement_group"`
StackScript []GrantedEntity `json:"stackscript"`
Volume []GrantedEntity `json:"volume"`
VPC []GrantedEntity `json:"vpc"`
Global GlobalUserGrants `json:"global"`
}
type UserGrantsUpdateOptions ¶
type UserGrantsUpdateOptions struct {
Database []GrantedEntity `json:"database,omitzero"`
Domain []EntityUserGrant `json:"domain,omitzero"`
Firewall []EntityUserGrant `json:"firewall,omitzero"`
Image []EntityUserGrant `json:"image,omitzero"`
Linode []EntityUserGrant `json:"linode,omitzero"`
Longview []EntityUserGrant `json:"longview,omitzero"`
NodeBalancer []EntityUserGrant `json:"nodebalancer,omitzero"`
PlacementGroup []EntityUserGrant `json:"placement_group,omitzero"`
StackScript []EntityUserGrant `json:"stackscript,omitzero"`
Volume []EntityUserGrant `json:"volume,omitzero"`
VPC []EntityUserGrant `json:"vpc,omitzero"`
Global GlobalUserGrants `json:"global"`
}
type UserRolePermissions ¶
type UserRolePermissions struct {
AccountAccess []string `json:"account_access"`
EntityAccess []UserAccess `json:"entity_access"`
}
UserRolePermissions are the account and entity permissions for the User
func (*UserRolePermissions) GetUpdateOptions ¶
func (p *UserRolePermissions) GetUpdateOptions() UserRolePermissionsUpdateOptions
GetUpdateOptions converts UserRolePermissions for use in UpdateUserRolePermissions
type UserRolePermissionsUpdateOptions ¶
type UserRolePermissionsUpdateOptions struct {
AccountAccess []string `json:"account_access"`
EntityAccess []UserAccess `json:"entity_access"`
}
UserRolePermissionsUpdateOptions are fields accepted by UpdateUserRolePermissions
type UserUpdateOptions ¶
type UserUpdateOptions struct {
Username string `json:"username,omitzero"`
Restricted *bool `json:"restricted,omitzero"`
Email string `json:"email,omitzero"`
}
UserUpdateOptions fields are those accepted by UpdateUser
type VLAN ¶
type VLAN struct {
Label string `json:"label"`
Linodes []int `json:"linodes"`
Region string `json:"region"`
Created *time.Time `json:"-"`
}
func (*VLAN) UnmarshalJSON ¶
UnmarshalJSON for VLAN responses
type VLANInterface ¶
type VPC ¶
type VPC struct {
ID int `json:"id"`
Label string `json:"label"`
Description string `json:"description"`
Region string `json:"region"`
// NOTE: IPv6 VPCs may not currently be available to all users.
IPv6 []VPCIPv6Range `json:"ipv6"`
Subnets []VPCSubnet `json:"subnets"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
func (VPC) GetCreateOptions ¶
func (v VPC) GetCreateOptions() VPCCreateOptions
func (VPC) GetUpdateOptions ¶
func (v VPC) GetUpdateOptions() VPCUpdateOptions
func (*VPC) UnmarshalJSON ¶
type VPCCreateOptions ¶
type VPCCreateOptions struct {
Label string `json:"label"`
Description string `json:"description,omitzero"`
Region string `json:"region"`
// NOTE: IPv6 VPCs may not currently be available to all users.
IPv6 []VPCCreateOptionsIPv6 `json:"ipv6,omitzero"`
Subnets []VPCSubnetCreateOptions `json:"subnets,omitzero"`
}
type VPCCreateOptionsIPv6 ¶
type VPCCreateOptionsIPv6 struct {
Range *string `json:"range,omitzero"`
AllocationClass *string `json:"allocation_class,omitzero"`
}
VPCCreateOptionsIPv6 represents a single IPv6 range assigned to a VPC which is specified during a VPC's creation. NOTE: IPv6 VPCs may not currently be available to all users.
type VPCIP ¶
type VPCIP struct {
Address *string `json:"address"`
AddressRange *string `json:"address_range"`
Gateway string `json:"gateway"`
SubnetMask string `json:"subnet_mask"`
Prefix int `json:"prefix"`
LinodeID int `json:"linode_id"`
Region string `json:"region"`
Active bool `json:"active"`
NAT1To1 *string `json:"nat_1_1"`
VPCID int `json:"vpc_id"`
SubnetID int `json:"subnet_id"`
InterfaceID int `json:"interface_id"`
// NOTE: NodeBalancerID and DatabaseID may not currently be available to all users.
NodeBalancerID *int `json:"nodebalancer_id"`
DatabaseID *int `json:"database_id"`
// NOTE: IPv6 VPCs may not currently be available to all users.
IPv6Range *string `json:"ipv6_range"`
IPv6IsPublic *bool `json:"ipv6_is_public"`
IPv6Addresses []VPCIPIPv6Address `json:"ipv6_addresses"`
// The type of this field will be made a pointer in the next major release of linodego.
ConfigID int `json:"config_id"`
}
VPCIP represents a private IP address in a VPC subnet with additional networking details
type VPCIPIPv6Address ¶
type VPCIPIPv6Address struct {
SLAACAddress string `json:"slaac_address"`
}
VPCIPIPv6Address represents a single IPv6 address under a VPCIP. NOTE: IPv6 VPCs may not currently be available to all users.
type VPCIPv4CreateOptions ¶
type VPCIPv4UpdateOptions ¶
type VPCIPv6Range ¶
type VPCIPv6Range struct {
Range string `json:"range"`
}
VPCIPv6Range represents a single IPv6 range assigned to a VPC. NOTE: IPv6 VPCs may not currently be available to all users.
type VPCInterface ¶
type VPCInterface struct {
VPCID int `json:"vpc_id"`
SubnetID int `json:"subnet_id"`
IPv4 VPCInterfaceIPv4 `json:"ipv4"`
// NOTE: IPv6 VPC interfaces may not currently be available to all users.
IPv6 VPCInterfaceIPv6 `json:"ipv6"`
}
type VPCInterfaceCreateOptions ¶
type VPCInterfaceCreateOptions struct {
SubnetID int `json:"subnet_id"`
IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitzero"`
IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitzero"`
}
type VPCInterfaceIPv4 ¶
type VPCInterfaceIPv4 struct {
Addresses []VPCInterfaceIPv4Address `json:"addresses"`
Ranges []VPCInterfaceIPv4Range `json:"ranges"`
}
type VPCInterfaceIPv4Address ¶
type VPCInterfaceIPv4CreateOptions ¶
type VPCInterfaceIPv4CreateOptions struct {
Addresses []VPCInterfaceIPv4AddressCreateOptions `json:"addresses,omitzero"`
Ranges []VPCInterfaceIPv4RangeCreateOptions `json:"ranges,omitzero"`
}
type VPCInterfaceIPv4Range ¶
type VPCInterfaceIPv4Range struct {
Range string `json:"range"`
}
type VPCInterfaceIPv4RangeCreateOptions ¶
type VPCInterfaceIPv4RangeCreateOptions struct {
Range string `json:"range"`
}
type VPCInterfaceIPv6 ¶
type VPCInterfaceIPv6 struct {
SLAAC []VPCInterfaceIPv6SLAAC `json:"slaac"`
Ranges []VPCInterfaceIPv6Range `json:"ranges"`
IsPublic *bool `json:"is_public"`
}
VPCInterfaceIPv6 contains the IPv6 configuration for a VPC. NOTE: IPv6 VPC interfaces may not currently be available to all users.
type VPCInterfaceIPv6CreateOptions ¶
type VPCInterfaceIPv6CreateOptions struct {
SLAAC []VPCInterfaceIPv6SLAACCreateOptions `json:"slaac,omitzero"`
Ranges []VPCInterfaceIPv6RangeCreateOptions `json:"ranges,omitzero"`
IsPublic *bool `json:"is_public"`
}
VPCInterfaceIPv6CreateOptions specifies IPv6 configuration parameters for VPC creation. NOTE: IPv6 interfaces may not currently be available to all users.
type VPCInterfaceIPv6Range ¶
type VPCInterfaceIPv6Range struct {
Range string `json:"range"`
}
VPCInterfaceIPv6Range contains the information for a single IPv6 range under a VPC. NOTE: IPv6 VPC interfaces may not currently be available to all users.
type VPCInterfaceIPv6RangeCreateOptions ¶
type VPCInterfaceIPv6RangeCreateOptions struct {
Range string `json:"range"`
}
VPCInterfaceIPv6RangeCreateOptions defines the IPv6 range configuration parameters for VPC creation. NOTE: IPv6 interfaces may not currently be available to all users.
type VPCInterfaceIPv6SLAAC ¶
VPCInterfaceIPv6SLAAC contains the information for a single IPv6 SLAAC under a VPC. NOTE: IPv6 VPC interfaces may not currently be available to all users.
type VPCInterfaceIPv6SLAACCreateOptions ¶
type VPCInterfaceIPv6SLAACCreateOptions struct {
Range string `json:"range"`
}
VPCInterfaceIPv6SLAACCreateOptions defines the IPv6 SLAAC configuration parameters for VPC creation. NOTE: IPv6 interfaces may not currently be available to all users.
type VPCInterfaceUpdateOptions ¶
type VPCInterfaceUpdateOptions struct {
IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitzero"`
IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitzero"`
}
type VPCSubnet ¶
type VPCSubnet struct {
ID int `json:"id"`
Label string `json:"label"`
IPv4 string `json:"ipv4"`
// NOTE: IPv6 VPCs may not currently be available to all users.
IPv6 []VPCIPv6Range `json:"ipv6"`
Linodes []VPCSubnetLinode `json:"linodes"`
Databases []VPCSubnetDatabase `json:"databases"`
Nodebalancers []VPCSubnetNodebalancers `json:"nodebalancers"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
}
func (VPCSubnet) GetCreateOptions ¶
func (v VPCSubnet) GetCreateOptions() VPCSubnetCreateOptions
func (VPCSubnet) GetUpdateOptions ¶
func (v VPCSubnet) GetUpdateOptions() VPCSubnetUpdateOptions
func (*VPCSubnet) UnmarshalJSON ¶
type VPCSubnetCreateOptions ¶
type VPCSubnetCreateOptions struct {
Label string `json:"label"`
IPv4 string `json:"ipv4"`
// NOTE: IPv6 VPCs may not currently be available to all users.
IPv6 []VPCSubnetCreateOptionsIPv6 `json:"ipv6,omitzero"`
}
type VPCSubnetCreateOptionsIPv6 ¶
type VPCSubnetCreateOptionsIPv6 struct {
Range *string `json:"range,omitzero"`
}
VPCSubnetCreateOptionsIPv6 represents a single IPv6 range assigned to a VPC which is specified during a VPC subnet's creation. NOTE: IPv6 VPCs may not currently be available to all users.
type VPCSubnetDatabase ¶
type VPCSubnetDatabase struct {
ID int `json:"id"`
IPv4Range *string `json:"ipv4_range"`
IPv6Ranges []string `json:"ipv6_ranges"`
}
VPCSubnetDatabase represents a Linode currently assigned to a VPC subnet.
type VPCSubnetLinode ¶
type VPCSubnetLinode struct {
ID int `json:"id"`
Interfaces []VPCSubnetLinodeInterface `json:"interfaces"`
}
VPCSubnetLinode represents a Linode currently assigned to a VPC subnet.
type VPCSubnetLinodeInterface ¶
type VPCSubnetLinodeInterface struct {
ID int `json:"id"`
Active bool `json:"active"`
ConfigID *int `json:"config_id"`
}
VPCSubnetLinodeInterface represents an interface on a Linode that is currently assigned to this VPC subnet.
type VPCSubnetNodebalancers ¶
type VPCSubnetNodebalancers struct {
ID int `json:"id"`
Ipv4Range string `json:"ipv4_range"`
Ipv6Ranges []VPCSubnetNodebalancersRanges `json:"ipv6_ranges"`
}
VPCSubnetNodebalancers represents a node balancer currently assigned to a VPC subnet.
type VPCSubnetNodebalancersRanges ¶
type VPCSubnetNodebalancersRanges struct {
Range string `json:"range"`
}
VPCSubnetNodebalancersRanges represents a single range assigned to a node balancer.
type VPCSubnetUpdateOptions ¶
type VPCSubnetUpdateOptions struct {
Label string `json:"label"`
}
type VPCUpdateOptions ¶
type VerifyPhoneNumberOptions ¶
type VerifyPhoneNumberOptions struct {
OTPCode string `json:"otp_code"`
}
VerifyPhoneNumberOptions fields are those accepted by VerifyPhoneNumber
type Volume ¶
type Volume struct {
ID int `json:"id"`
Label string `json:"label"`
Status VolumeStatus `json:"status"`
Region string `json:"region"`
Size int `json:"size"`
LinodeID *int `json:"linode_id"`
FilesystemPath string `json:"filesystem_path"`
Tags []string `json:"tags"`
HardwareType string `json:"hardware_type"`
LinodeLabel string `json:"linode_label"`
IOReady bool `json:"io_ready"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Encryption string `json:"encryption"`
// NOTE: Locks can only be used with v4beta.
Locks []LockType `json:"locks"`
}
Volume represents a linode volume object
func (Volume) GetCreateOptions ¶
func (v Volume) GetCreateOptions() (createOpts VolumeCreateOptions)
GetCreateOptions converts a Volume to VolumeCreateOptions for use in CreateVolume
func (Volume) GetUpdateOptions ¶
func (v Volume) GetUpdateOptions() (updateOpts VolumeUpdateOptions)
GetUpdateOptions converts a Volume to VolumeUpdateOptions for use in UpdateVolume
func (*Volume) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type VolumeAttachOptions ¶
type VolumeAttachOptions struct {
LinodeID int `json:"linode_id"`
ConfigID int `json:"config_id,omitzero"`
PersistAcrossBoots *bool `json:"persist_across_boots,omitzero"`
}
VolumeAttachOptions fields are those accepted by AttachVolume
type VolumeCloneOptions ¶
type VolumeCloneOptions struct {
Label string `json:"label"`
}
type VolumeCreateOptions ¶
type VolumeCreateOptions struct {
Label string `json:"label,omitzero"`
Region string `json:"region,omitzero"`
LinodeID int `json:"linode_id,omitzero"`
ConfigID int `json:"config_id,omitzero"`
// The Volume's size, in GiB. Minimum size is 10GiB, maximum size is 10240GiB. A "0" value will result in the default size.
Size int `json:"size,omitzero"`
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []string `json:"tags"`
PersistAcrossBoots *bool `json:"persist_across_boots,omitzero"`
Encryption string `json:"encryption,omitzero"`
}
VolumeCreateOptions fields are those accepted by CreateVolume
type VolumeResizeOptions ¶
type VolumeResizeOptions struct {
Size int `json:"size"`
}
type VolumeStatus ¶
type VolumeStatus string
VolumeStatus indicates the status of the Volume
const ( // VolumeCreating indicates the Volume is being created and is not yet available for use VolumeCreating VolumeStatus = "creating" // VolumeActive indicates the Volume is online and available for use VolumeActive VolumeStatus = "active" // VolumeResizing indicates the Volume is in the process of upgrading its current capacity VolumeResizing VolumeStatus = "resizing" // VolumeContactSupport indicates there is a problem with the Volume. A support ticket must be opened to resolve the issue VolumeContactSupport VolumeStatus = "contact_support" )
type VolumeType ¶
type VolumeType struct {
// contains filtered or unexported fields
}
VolumeType represents a single valid Volume type.
type VolumeTypePrice ¶
type VolumeTypePrice struct {
// contains filtered or unexported fields
}
VolumeTypePrice represents the base hourly and monthly prices for a volume type entry.
type VolumeTypeRegionPrice ¶
type VolumeTypeRegionPrice struct {
// contains filtered or unexported fields
}
VolumeTypeRegionPrice represents the regional hourly and monthly prices for a volume type entry.
type VolumeUpdateOptions ¶
type VolumeUpdateOptions struct {
Label string `json:"label,omitzero"`
Tags []string `json:"tags,omitzero"`
}
VolumeUpdateOptions fields are those accepted by UpdateVolume
type WALSenderTimeout ¶
type WALWriterDelay ¶
Source Files
¶
- account.go
- account_agreements.go
- account_availability.go
- account_betas.go
- account_child.go
- account_events.go
- account_invoices.go
- account_logins.go
- account_maintenance.go
- account_notifications.go
- account_oauth_client.go
- account_payment_methods.go
- account_payments.go
- account_promo_credits.go
- account_service_transfer.go
- account_settings.go
- account_transfer.go
- account_user_grants.go
- account_users.go
- base_types.go
- betas.go
- client.go
- client_monitor.go
- config.go
- databases.go
- domain_records.go
- domains.go
- entities.go
- errors.go
- filter.go
- firewall_devices.go
- firewall_rules.go
- firewall_rulesets.go
- firewall_templates.go
- firewalls.go
- helpers_iterator.go
- iam.go
- image_sharegroups_consumer.go
- image_sharegroups_producer.go
- images.go
- instance_config_interfaces.go
- instance_configs.go
- instance_disks.go
- instance_firewalls.go
- instance_ips.go
- instance_nodebalancers.go
- instance_snapshots.go
- instance_stats.go
- instance_volumes.go
- instances.go
- interfaces.go
- kernels.go
- lke_clusters.go
- lke_clusters_control_plane.go
- lke_node_pools.go
- lke_types.go
- locks.go
- logger.go
- longview.go
- longview_subscriptions.go
- maintenance_policy.go
- monitor_alert_channels.go
- monitor_alert_definitions.go
- monitor_api_services.go
- monitor_dashboards.go
- monitor_metrics_definitions.go
- monitor_services.go
- monitor_services_create_token.go
- mysql.go
- network_ips.go
- network_pools.go
- network_ranges.go
- network_reserved_ips.go
- network_transfer_prices.go
- nodebalancer.go
- nodebalancer_config_nodes.go
- nodebalancer_config_vpc.go
- nodebalancer_configs.go
- nodebalancer_firewalls.go
- nodebalancer_stats.go
- nodebalancer_types.go
- object_storage.go
- object_storage_bucket_certs.go
- object_storage_buckets.go
- object_storage_endpoints.go
- object_storage_keys.go
- object_storage_object.go
- object_storage_quota.go
- pagination.go
- placement_groups.go
- pointer_helpers.go
- postgres.go
- prefixlists.go
- profile.go
- profile_apps.go
- profile_devices.go
- profile_grants_list.go
- profile_logins.go
- profile_phone_number.go
- profile_preferences.go
- profile_security_questions.go
- profile_sshkeys.go
- profile_tfa.go
- profile_tokens.go
- regions.go
- regions_availability.go
- request_helpers.go
- retries.go
- stackscripts.go
- support.go
- tags.go
- types.go
- version.go
- vlans.go
- volumes.go
- volumes_types.go
- vpc.go
- vpc_ips.go
- vpc_subnet.go
- waitfor.go