Documentation ¶
Index ¶
- Variables
- func DeleteClusterIPs(clusterName, namespace string)
- func GetInstanceID(providerID *string) (int, error)
- func GetNextVlanIP(ctx context.Context, clusterName, namespace string, kubeclient client.Client) (string, error)
- func IgnoreLinodeAPIError(err error, codes ...int) error
- func IsRetryableError(err error) bool
- func Pointer[T any](t T) *T
- func UnwrapError(err error) error
- type ClusterIPs
- type Filter
- type PostRequestCounter
Constants ¶
This section is empty.
Variables ¶
var ( // ErrRateLimit indicates hitting linode API rate limits ErrRateLimit = errors.New("rate-limit exceeded") )
Functions ¶
func DeleteClusterIPs ¶ added in v0.7.0
func DeleteClusterIPs(clusterName, namespace string)
func GetInstanceID ¶ added in v0.6.1
GetInstanceID determines the instance ID from the ProviderID
func GetNextVlanIP ¶ added in v0.7.0
func GetNextVlanIP(ctx context.Context, clusterName, namespace string, kubeclient client.Client) (string, error)
GetNextVlanIP returns the next available IP for a cluster
func IgnoreLinodeAPIError ¶
IgnoreLinodeAPIError returns the error except matches to status code
func IsRetryableError ¶ added in v0.6.0
IsRetryableError determines if the error is retryable, meaning a controller that encounters this error should requeue reconciliation to try again later
func UnwrapError ¶ added in v0.2.1
UnwrapError safely unwraps an error until it can't be unwrapped.
Types ¶
type ClusterIPs ¶ added in v0.7.0
type ClusterIPs struct {
// contains filtered or unexported fields
}
type Filter ¶
type Filter struct { ID *int // Filter on the resource's ID (most specific). Label string // Filter on the resource's label. Tags []string // Filter resources by their tags (least specific). AdditionalFilters map[string]string // Filter resources by additional parameters }
Filter holds the fields used for filtering results from the Linode API.
The fields within Filter are prioritized so that only the most-specific field is present when Filter is marshaled to JSON.
func (Filter) MarshalJSON ¶
MarshalJSON returns a JSON-encoded representation of a Filter. The resulting encoded value will have exactly 1 (one) field present. See Filter for details on the value precedence.
type PostRequestCounter ¶ added in v0.6.4
PostRequestCounter keeps track of rate limits for POST to /linode/instances
func GetPostReqCounter ¶ added in v0.6.4
func GetPostReqCounter(tokenHash string) *PostRequestCounter
GetPostReqCounter returns pointer to PostRequestCounter for a given token hash
func (*PostRequestCounter) ApiResponseRatelimitCounter ¶ added in v0.6.4
func (c *PostRequestCounter) ApiResponseRatelimitCounter(resp *resty.Response) error
ApiResponseRatelimitCounter updates ReqRemaining and RefreshTime when a POST call is made to /linode/instances
func (*PostRequestCounter) IsPOSTLimitReached ¶ added in v0.6.4
func (c *PostRequestCounter) IsPOSTLimitReached() bool
IsPOSTLimitReached checks whether POST limits have been reached.
func (*PostRequestCounter) RetryAfter ¶ added in v0.7.0
func (c *PostRequestCounter) RetryAfter() time.Duration
RetryAfter returns how long to wait in seconds for rate-limit to reset