clientv3

package
v1.11.0-cni-plu...-7acfd45 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2024 License: Apache-2.0, Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Package client implements the northbound client used to manage Calico configuration.

This client is the main entry point for applications that are managing or querying Calico configuration.

This client provides a typed interface for managing different resource types. The definitions for each resource type are defined in the following package:

github.com/projectcalico/libcalico-go/lib/api

The client has a number of methods that return interfaces for managing:

  • BGP Peer resources
  • Policy resources
  • IP Pool resources
  • Global network sets resources
  • Host endpoint resources
  • Workload endpoint resources
  • Profile resources
  • Tier resources
  • IP Address Management (IPAM)

See [resource definitions](http://docs.projectcalico.org/latest/reference/calicoctl/resources/) for details about the set of management commands for each resource type.

Index

Constants

View Source
const (
	DefaultFelixRouteTableRangeMin = 1
	DefaultFelixRouteTableRangeMax = 250
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BGPConfigurationInterface

BGPConfigurationInterface has methods to work with BGPConfiguration resources.

type BGPConfigurationsClient

type BGPConfigurationsClient interface {
	// BGPConfigurations returns an interface for managing the BGP configuration resources.
	BGPConfigurations() BGPConfigurationInterface
}

type BGPFilter

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

BGPFilter implements BGPFilterInterface

func (BGPFilter) Create

Create takes the representation of a BGPFilter and creates it. Returns the stored representation of the BGPFilter, and an error, if there is any.

func (BGPFilter) Delete

func (r BGPFilter) Delete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.BGPFilter, error)

Delete takes name of the BGPFilter and deletes it. Returns an error if one occurs.

func (BGPFilter) Get

func (r BGPFilter) Get(ctx context.Context, name string, opts options.GetOptions) (*apiv3.BGPFilter, error)

Get takes name of the BGPFilter, and returns the corresponding BGPFilter object, and an error if there is any.

func (BGPFilter) List

List returns the list of BGPFilter objects that match the supplied options.

func (BGPFilter) Update

Update takes the representation of a BGPFilter and updates it. Returns the stored representation of the BGPFilter, and an error, if there is any.

func (BGPFilter) Watch

Watch returns a watch.Interface that watches the BGPPeers that match the supplied options.

type BGPFilterClient

type BGPFilterClient interface {
	// BGPFilter returns an interface for managing BGPFilter resources.
	BGPFilter() BGPFilterInterface
}

type BGPFilterInterface

type BGPFilterInterface interface {
	Create(ctx context.Context, res *apiv3.BGPFilter, opts options.SetOptions) (*apiv3.BGPFilter, error)
	Update(ctx context.Context, res *apiv3.BGPFilter, opts options.SetOptions) (*apiv3.BGPFilter, error)
	Delete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.BGPFilter, error)
	Get(ctx context.Context, name string, opts options.GetOptions) (*apiv3.BGPFilter, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.BGPFilterList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

BGPFilterInterface has methods to work with BGPFilter resources.

type BGPPeerInterface

type BGPPeerInterface interface {
	Create(ctx context.Context, res *apiv3.BGPPeer, opts options.SetOptions) (*apiv3.BGPPeer, error)
	Update(ctx context.Context, res *apiv3.BGPPeer, opts options.SetOptions) (*apiv3.BGPPeer, error)
	Delete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.BGPPeer, error)
	Get(ctx context.Context, name string, opts options.GetOptions) (*apiv3.BGPPeer, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.BGPPeerList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

BGPPeerInterface has methods to work with BGPPeer resources.

type BGPPeersClient

type BGPPeersClient interface {
	// BGPPeers returns an interface for managing BGP peer resources.
	BGPPeers() BGPPeerInterface
}

type BlockAffinitiesClient

type BlockAffinitiesClient interface {
	// BlockAffinities returns an interface for viewing IPAM block affinity resources.
	BlockAffinities() BlockAffinityInterface
}

type BlockAffinityInterface

TODO: Configure this to work with the public facing API instead of the lib v3 API. BlockAffinityInterface has methods to work with BlockAffinity resources.

type CalicoNodeStatusClient

type CalicoNodeStatusClient interface {
	// CalicoNodeStatus returns an interface for managing CalicoNodeStatus resources.
	CalicoNodeStatus() CalicoNodeStatusInterface
}

type CalicoNodeStatusInterface

CalicoNodeStatusInterface has methods to work with CalicoNodeStatus resources.

type ClusterInformationClient

type ClusterInformationClient interface {
	// ClusterInformation returns an interface for managing the cluster information resource.
	ClusterInformation() ClusterInformationInterface
}

type ClusterInformationInterface

ClusterInformationInterface has methods to work with ClusterInformation resources.

type FelixConfigurationInterface

FelixConfigurationInterface has methods to work with FelixConfiguration resources.

type FelixConfigurationsClient

type FelixConfigurationsClient interface {
	// FelixConfigurations returns an interface for managing the Felix configuration resources.
	FelixConfigurations() FelixConfigurationInterface
}

type GlobalNetworkPoliciesClient

type GlobalNetworkPoliciesClient interface {
	// GlobalNetworkPolicies returns an interface for managing global network policy resources.
	GlobalNetworkPolicies() GlobalNetworkPolicyInterface
}

type GlobalNetworkPolicyInterface

GlobalNetworkPolicyInterface has methods to work with GlobalNetworkPolicy resources.

type GlobalNetworkSetInterface

GlobalNetworkSetInterface has methods to work with GlobalNetworkSet resources.

type GlobalNetworkSetsClient

type GlobalNetworkSetsClient interface {
	// GlobalNetworkSets returns an interface for managing global network sets resources.
	GlobalNetworkSets() GlobalNetworkSetInterface
}

type HostEndpointInterface

HostEndpointInterface has methods to work with HostEndpoint resources.

type HostEndpointsClient

type HostEndpointsClient interface {
	// HostEndpoints returns an interface for managing host endpoint resources.
	HostEndpoints() HostEndpointInterface
}

type IPAMClient

type IPAMClient interface {
	// IPAM returns an interface for managing IP address assignment and releasing.
	IPAM() ipam.Interface
}

type IPAMConfigClient

type IPAMConfigClient interface {
	// IPAMConfig returns an interface for managing IPAMConfig resources.
	IPAMConfig() IPAMConfigInterface
}

type IPAMConfigInterface

IPAMConfigInterface has methods to work with IPAMConfig resources.

type IPAMConfigs

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

IPAMConfigs implements IPAMConfigInterface

func (IPAMConfigs) Create

Create takes the representation of a IPAMConfig and creates it. Returns the stored representation of the IPAMConfig, and an error, if there is any.

func (IPAMConfigs) Delete

Delete takes name of the IPAMConfig and deletes it. Returns an error if one occurs.

func (IPAMConfigs) Get

Get takes name of the IPAMConfig, and returns the corresponding IPAMConfig object, and an error if there is any.

func (IPAMConfigs) List

List returns the list of IPAMConfig objects that match the supplied options.

func (IPAMConfigs) Update

Update takes the representation of a IPAMConfig and updates it. Returns the stored representation of the IPAMConfig, and an error, if there is any.

func (IPAMConfigs) Watch

Watch returns a watch.Interface that watches the IPAMConfigs that match the supplied options.

type IPPoolInterface

type IPPoolInterface interface {
	Create(ctx context.Context, res *apiv3.IPPool, opts options.SetOptions) (*apiv3.IPPool, error)
	Update(ctx context.Context, res *apiv3.IPPool, opts options.SetOptions) (*apiv3.IPPool, error)
	Delete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.IPPool, error)
	Get(ctx context.Context, name string, opts options.GetOptions) (*apiv3.IPPool, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.IPPoolList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
	UnsafeCreate(ctx context.Context, res *apiv3.IPPool, opts options.SetOptions) (*apiv3.IPPool, error)
	UnsafeDelete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.IPPool, error)
}

IPPoolInterface has methods to work with IPPool resources.

type IPPoolsClient

type IPPoolsClient interface {
	// IPPools returns an interface for managing IP pool resources.
	IPPools() IPPoolInterface
}

type IPReservationInterface

IPReservationInterface has methods to work with IPReservation resources.

type IPReservationsClient

type IPReservationsClient interface {
	// IPReservations returns an interface for managing IP reservation resources.
	IPReservations() IPReservationInterface
}

type Interface

type Interface interface {
	NodesClient
	GlobalNetworkPoliciesClient
	NetworkPoliciesClient
	IPPoolsClient
	IPReservationsClient
	ProfilesClient
	GlobalNetworkSetsClient
	NetworkSetsClient
	HostEndpointsClient
	WorkloadEndpointsClient
	BGPPeersClient
	BGPFilterClient
	IPAMClient
	BGPConfigurationsClient
	FelixConfigurationsClient
	ClusterInformationClient
	KubeControllersConfigurationClient
	CalicoNodeStatusClient
	IPAMConfigClient
	BlockAffinitiesClient
	// Tiers returns an interface for managing tier resources.
	Tiers() TierInterface

	// EnsureInitialized is used to ensure the backend datastore is correctly
	// initialized for use by Calico.  This method may be called multiple times, and
	// will have no effect if the datastore is already correctly initialized.
	// Most Calico deployment scenarios will automatically implicitly invoke this
	// method and so a general consumer of this API can assume that the datastore
	// is already initialized.
	EnsureInitialized(ctx context.Context, calicoVersion, clusterType string) error
}

func New

New returns a connected client. The ClientConfig can either be created explicitly, or can be loaded from a config file or environment variables using the LoadClientConfig() function.

func NewFromEnv

func NewFromEnv() (Interface, error)

NewFromEnv loads the config from ENV variables and returns a connected client.

type KubeControllersConfigurationClient

type KubeControllersConfigurationClient interface {
	// KubeControllersConfiguration returns an interface for managing the KubeControllersConfiguration resource.
	KubeControllersConfiguration() KubeControllersConfigurationInterface
}

type KubeControllersConfigurationInterface

KubeControllersConfigurationInterface has methods to work with KubeControllersConfiguration resources.

type NetworkPoliciesClient

type NetworkPoliciesClient interface {
	// NetworkPolicies returns an interface for managing namespaced network policy resources.
	NetworkPolicies() NetworkPolicyInterface
}

type NetworkPolicyInterface

type NetworkPolicyInterface interface {
	Create(ctx context.Context, res *apiv3.NetworkPolicy, opts options.SetOptions) (*apiv3.NetworkPolicy, error)
	Update(ctx context.Context, res *apiv3.NetworkPolicy, opts options.SetOptions) (*apiv3.NetworkPolicy, error)
	Delete(ctx context.Context, namespace, name string, opts options.DeleteOptions) (*apiv3.NetworkPolicy, error)
	Get(ctx context.Context, namespace, name string, opts options.GetOptions) (*apiv3.NetworkPolicy, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.NetworkPolicyList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

NetworkPolicyInterface has methods to work with NetworkPolicy resources.

type NetworkSetInterface

type NetworkSetInterface interface {
	Create(ctx context.Context, res *apiv3.NetworkSet, opts options.SetOptions) (*apiv3.NetworkSet, error)
	Update(ctx context.Context, res *apiv3.NetworkSet, opts options.SetOptions) (*apiv3.NetworkSet, error)
	Delete(ctx context.Context, namespace, name string, opts options.DeleteOptions) (*apiv3.NetworkSet, error)
	Get(ctx context.Context, namespace, name string, opts options.GetOptions) (*apiv3.NetworkSet, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.NetworkSetList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

NetworkSetInterface has methods to work with NetworkSet resources.

type NetworkSetsClient

type NetworkSetsClient interface {
	// NetworkSets returns an interface for managing network sets resources.
	NetworkSets() NetworkSetInterface
}

type NodeInterface

type NodeInterface interface {
	Create(ctx context.Context, res *libapiv3.Node, opts options.SetOptions) (*libapiv3.Node, error)
	Update(ctx context.Context, res *libapiv3.Node, opts options.SetOptions) (*libapiv3.Node, error)
	Delete(ctx context.Context, name string, opts options.DeleteOptions) (*libapiv3.Node, error)
	Get(ctx context.Context, name string, opts options.GetOptions) (*libapiv3.Node, error)
	List(ctx context.Context, opts options.ListOptions) (*libapiv3.NodeList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

NodeInterface has methods to work with Node resources.

type NodesClient

type NodesClient interface {
	// Nodes returns an interface for managing node resources.
	Nodes() NodeInterface
}

type ProfileInterface

type ProfileInterface interface {
	Create(ctx context.Context, res *apiv3.Profile, opts options.SetOptions) (*apiv3.Profile, error)
	Update(ctx context.Context, res *apiv3.Profile, opts options.SetOptions) (*apiv3.Profile, error)
	Delete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.Profile, error)
	Get(ctx context.Context, name string, opts options.GetOptions) (*apiv3.Profile, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.ProfileList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

ProfileInterface has methods to work with Profile resources.

type ProfilesClient

type ProfilesClient interface {
	// Profiles returns an interface for managing profile resources.
	Profiles() ProfileInterface
}

type TierInterface

type TierInterface interface {
	Create(ctx context.Context, res *apiv3.Tier, opts options.SetOptions) (*apiv3.Tier, error)
	Update(ctx context.Context, res *apiv3.Tier, opts options.SetOptions) (*apiv3.Tier, error)
	Delete(ctx context.Context, name string, opts options.DeleteOptions) (*apiv3.Tier, error)
	Get(ctx context.Context, name string, opts options.GetOptions) (*apiv3.Tier, error)
	List(ctx context.Context, opts options.ListOptions) (*apiv3.TierList, error)
	Watch(ctx context.Context, opts options.ListOptions) (watch.Interface, error)
}

TierInterface has methods to work with Tier resources.

type WorkloadEndpointInterface

WorkloadEndpointInterface has methods to work with WorkloadEndpoint resources.

type WorkloadEndpointsClient

type WorkloadEndpointsClient interface {
	// WorkloadEndpoints returns an interface for managing workload endpoint resources.
	WorkloadEndpoints() WorkloadEndpointInterface
}

Jump to

Keyboard shortcuts

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