client

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultClientTimeout is the default timeout for a client Linode API call
	DefaultClientTimeout = 120 * time.Second
)

Variables

View Source
var ClientMethodCounterVec = promauto.NewCounterVec(
	prometheus.CounterOpts{
		Name: "ccm_linode_client_requests_total",
		Help: "client counters for each operation and its result",
	},
	[]string{"method", "result"})

Functions

func CheckClientAuthenticated added in v0.4.23

func CheckClientAuthenticated(ctx context.Context, client Client) (bool, error)

func New

func New(token string, timeout time.Duration) (*linodego.Client, error)

New creates a new linode client with a given token and default timeout

Types

type Client

type Client interface {
	GetInstance(context.Context, int) (*linodego.Instance, error)
	ListInstances(context.Context, *linodego.ListOptions) ([]linodego.Instance, error)
	CreateInstance(ctx context.Context, opts linodego.InstanceCreateOptions) (*linodego.Instance, error)

	GetInstanceIPAddresses(context.Context, int) (*linodego.InstanceIPAddressResponse, error)
	AddInstanceIPAddress(ctx context.Context, linodeID int, public bool) (*linodego.InstanceIP, error)
	DeleteInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string) error
	ShareIPAddresses(ctx context.Context, opts linodego.IPAddressesShareOptions) error

	UpdateInstanceConfigInterface(context.Context, int, int, int, linodego.InstanceConfigInterfaceUpdateOptions) (*linodego.InstanceConfigInterface, error)

	ListVPCs(context.Context, *linodego.ListOptions) ([]linodego.VPC, error)
	ListVPCIPAddresses(context.Context, int, *linodego.ListOptions) ([]linodego.VPCIP, error)
	ListVPCSubnets(context.Context, int, *linodego.ListOptions) ([]linodego.VPCSubnet, error)

	CreateNodeBalancer(context.Context, linodego.NodeBalancerCreateOptions) (*linodego.NodeBalancer, error)
	GetNodeBalancer(context.Context, int) (*linodego.NodeBalancer, error)
	UpdateNodeBalancer(context.Context, int, linodego.NodeBalancerUpdateOptions) (*linodego.NodeBalancer, error)
	DeleteNodeBalancer(context.Context, int) error
	ListNodeBalancers(context.Context, *linodego.ListOptions) ([]linodego.NodeBalancer, error)
	ListNodeBalancerNodes(context.Context, int, int, *linodego.ListOptions) ([]linodego.NodeBalancerNode, error)

	CreateNodeBalancerConfig(context.Context, int, linodego.NodeBalancerConfigCreateOptions) (*linodego.NodeBalancerConfig, error)
	DeleteNodeBalancerConfig(context.Context, int, int) error
	ListNodeBalancerConfigs(context.Context, int, *linodego.ListOptions) ([]linodego.NodeBalancerConfig, error)
	RebuildNodeBalancerConfig(context.Context, int, int, linodego.NodeBalancerConfigRebuildOptions) (*linodego.NodeBalancerConfig, error)
	ListNodeBalancerFirewalls(ctx context.Context, nodebalancerID int, opts *linodego.ListOptions) ([]linodego.Firewall, error)
	ListFirewallDevices(ctx context.Context, firewallID int, opts *linodego.ListOptions) ([]linodego.FirewallDevice, error)
	DeleteFirewallDevice(ctx context.Context, firewallID, deviceID int) error
	CreateFirewallDevice(ctx context.Context, firewallID int, opts linodego.FirewallDeviceCreateOptions) (*linodego.FirewallDevice, error)
	CreateFirewall(ctx context.Context, opts linodego.FirewallCreateOptions) (*linodego.Firewall, error)
	DeleteFirewall(ctx context.Context, fwid int) error
	GetFirewall(context.Context, int) (*linodego.Firewall, error)
	UpdateFirewallRules(context.Context, int, linodego.FirewallRuleSet) (*linodego.FirewallRuleSet, error)

	GetProfile(ctx context.Context) (*linodego.Profile, error)
}

type ClientWithPrometheus added in v0.4.23

type ClientWithPrometheus struct {
	// contains filtered or unexported fields
}

ClientWithPrometheus implements Client interface with all methods wrapped with Prometheus counters

func NewClientWithPrometheus added in v0.4.23

func NewClientWithPrometheus(base Client) ClientWithPrometheus

NewClientWithPrometheus returns an instance of the Client decorated with prometheus metrics

func (ClientWithPrometheus) AddInstanceIPAddress added in v0.4.23

func (_d ClientWithPrometheus) AddInstanceIPAddress(ctx context.Context, linodeID int, public bool) (ip1 *linodego.InstanceIP, err error)

AddInstanceIPAddress implements Client

func (ClientWithPrometheus) CreateFirewall added in v0.4.23

func (_d ClientWithPrometheus) CreateFirewall(ctx context.Context, opts linodego.FirewallCreateOptions) (fp1 *linodego.Firewall, err error)

CreateFirewall implements Client

func (ClientWithPrometheus) CreateFirewallDevice added in v0.4.23

func (_d ClientWithPrometheus) CreateFirewallDevice(ctx context.Context, firewallID int, opts linodego.FirewallDeviceCreateOptions) (fp1 *linodego.FirewallDevice, err error)

CreateFirewallDevice implements Client

func (ClientWithPrometheus) CreateInstance added in v0.4.23

func (_d ClientWithPrometheus) CreateInstance(ctx context.Context, opts linodego.InstanceCreateOptions) (ip1 *linodego.Instance, err error)

CreateInstance implements Client

func (ClientWithPrometheus) CreateNodeBalancer added in v0.4.23

CreateNodeBalancer implements Client

func (ClientWithPrometheus) CreateNodeBalancerConfig added in v0.4.23

CreateNodeBalancerConfig implements Client

func (ClientWithPrometheus) DeleteFirewall added in v0.4.23

func (_d ClientWithPrometheus) DeleteFirewall(ctx context.Context, fwid int) (err error)

DeleteFirewall implements Client

func (ClientWithPrometheus) DeleteFirewallDevice added in v0.4.23

func (_d ClientWithPrometheus) DeleteFirewallDevice(ctx context.Context, firewallID int, deviceID int) (err error)

DeleteFirewallDevice implements Client

func (ClientWithPrometheus) DeleteInstanceIPAddress added in v0.4.23

func (_d ClientWithPrometheus) DeleteInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string) (err error)

DeleteInstanceIPAddress implements Client

func (ClientWithPrometheus) DeleteNodeBalancer added in v0.4.23

func (_d ClientWithPrometheus) DeleteNodeBalancer(ctx context.Context, i1 int) (err error)

DeleteNodeBalancer implements Client

func (ClientWithPrometheus) DeleteNodeBalancerConfig added in v0.4.23

func (_d ClientWithPrometheus) DeleteNodeBalancerConfig(ctx context.Context, i1 int, i2 int) (err error)

DeleteNodeBalancerConfig implements Client

func (ClientWithPrometheus) GetFirewall added in v0.4.23

func (_d ClientWithPrometheus) GetFirewall(ctx context.Context, i1 int) (fp1 *linodego.Firewall, err error)

GetFirewall implements Client

func (ClientWithPrometheus) GetInstance added in v0.4.23

func (_d ClientWithPrometheus) GetInstance(ctx context.Context, i1 int) (ip1 *linodego.Instance, err error)

GetInstance implements Client

func (ClientWithPrometheus) GetInstanceIPAddresses added in v0.4.23

func (_d ClientWithPrometheus) GetInstanceIPAddresses(ctx context.Context, i1 int) (ip1 *linodego.InstanceIPAddressResponse, err error)

GetInstanceIPAddresses implements Client

func (ClientWithPrometheus) GetNodeBalancer added in v0.4.23

func (_d ClientWithPrometheus) GetNodeBalancer(ctx context.Context, i1 int) (np1 *linodego.NodeBalancer, err error)

GetNodeBalancer implements Client

func (ClientWithPrometheus) GetProfile added in v0.4.23

func (_d ClientWithPrometheus) GetProfile(ctx context.Context) (pp1 *linodego.Profile, err error)

GetProfile implements Client

func (ClientWithPrometheus) ListFirewallDevices added in v0.4.23

func (_d ClientWithPrometheus) ListFirewallDevices(ctx context.Context, firewallID int, opts *linodego.ListOptions) (fa1 []linodego.FirewallDevice, err error)

ListFirewallDevices implements Client

func (ClientWithPrometheus) ListInstances added in v0.4.23

func (_d ClientWithPrometheus) ListInstances(ctx context.Context, lp1 *linodego.ListOptions) (ia1 []linodego.Instance, err error)

ListInstances implements Client

func (ClientWithPrometheus) ListNodeBalancerConfigs added in v0.4.23

func (_d ClientWithPrometheus) ListNodeBalancerConfigs(ctx context.Context, i1 int, lp1 *linodego.ListOptions) (na1 []linodego.NodeBalancerConfig, err error)

ListNodeBalancerConfigs implements Client

func (ClientWithPrometheus) ListNodeBalancerFirewalls added in v0.4.23

func (_d ClientWithPrometheus) ListNodeBalancerFirewalls(ctx context.Context, nodebalancerID int, opts *linodego.ListOptions) (fa1 []linodego.Firewall, err error)

ListNodeBalancerFirewalls implements Client

func (ClientWithPrometheus) ListNodeBalancerNodes added in v0.4.23

func (_d ClientWithPrometheus) ListNodeBalancerNodes(ctx context.Context, i1 int, i2 int, lp1 *linodego.ListOptions) (na1 []linodego.NodeBalancerNode, err error)

ListNodeBalancerNodes implements Client

func (ClientWithPrometheus) ListNodeBalancers added in v0.4.23

func (_d ClientWithPrometheus) ListNodeBalancers(ctx context.Context, lp1 *linodego.ListOptions) (na1 []linodego.NodeBalancer, err error)

ListNodeBalancers implements Client

func (ClientWithPrometheus) ListVPCIPAddresses added in v0.4.23

func (_d ClientWithPrometheus) ListVPCIPAddresses(ctx context.Context, i1 int, lp1 *linodego.ListOptions) (va1 []linodego.VPCIP, err error)

ListVPCIPAddresses implements Client

func (ClientWithPrometheus) ListVPCSubnets added in v0.4.25

func (_d ClientWithPrometheus) ListVPCSubnets(ctx context.Context, i1 int, lp1 *linodego.ListOptions) (va1 []linodego.VPCSubnet, err error)

ListVPCSubnets implements Client

func (ClientWithPrometheus) ListVPCs added in v0.4.23

func (_d ClientWithPrometheus) ListVPCs(ctx context.Context, lp1 *linodego.ListOptions) (va1 []linodego.VPC, err error)

ListVPCs implements Client

func (ClientWithPrometheus) RebuildNodeBalancerConfig added in v0.4.23

func (_d ClientWithPrometheus) RebuildNodeBalancerConfig(ctx context.Context, i1 int, i2 int, n1 linodego.NodeBalancerConfigRebuildOptions) (np1 *linodego.NodeBalancerConfig, err error)

RebuildNodeBalancerConfig implements Client

func (ClientWithPrometheus) ShareIPAddresses added in v0.4.23

func (_d ClientWithPrometheus) ShareIPAddresses(ctx context.Context, opts linodego.IPAddressesShareOptions) (err error)

ShareIPAddresses implements Client

func (ClientWithPrometheus) UpdateFirewallRules added in v0.4.23

func (_d ClientWithPrometheus) UpdateFirewallRules(ctx context.Context, i1 int, f1 linodego.FirewallRuleSet) (fp1 *linodego.FirewallRuleSet, err error)

UpdateFirewallRules implements Client

func (ClientWithPrometheus) UpdateInstanceConfigInterface added in v0.4.23

func (_d ClientWithPrometheus) UpdateInstanceConfigInterface(ctx context.Context, i1 int, i2 int, i3 int, i4 linodego.InstanceConfigInterfaceUpdateOptions) (ip1 *linodego.InstanceConfigInterface, err error)

UpdateInstanceConfigInterface implements Client

func (ClientWithPrometheus) UpdateNodeBalancer added in v0.4.23

func (_d ClientWithPrometheus) UpdateNodeBalancer(ctx context.Context, i1 int, n1 linodego.NodeBalancerUpdateOptions) (np1 *linodego.NodeBalancer, err error)

UpdateNodeBalancer implements Client

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL