v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the lb v1alpha1 API group +kubebuilder:object:generate=true +groupName=lb.paperlb.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "lb.paperlb.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type HTTPUpdater

type HTTPUpdater struct {
	// URL to request lb updates
	URL string `json:"url,omitempty"`
}

HTTPUpdater is the http updated for the load balancer

func (*HTTPUpdater) DeepCopy

func (in *HTTPUpdater) DeepCopy() *HTTPUpdater

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPUpdater.

func (*HTTPUpdater) DeepCopyInto

func (in *HTTPUpdater) DeepCopyInto(out *HTTPUpdater)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancer

type LoadBalancer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   LoadBalancerSpec   `json:"spec,omitempty"`
	Status LoadBalancerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Host",type=string,JSONPath=`.spec.host` +kubebuilder:printcolumn:name="Port",type=string,JSONPath=`.spec.port` +kubebuilder:printcolumn:name="Protocol",type=string,JSONPath=`.spec.protocol` +kubebuilder:printcolumn:name="TargetCount",type=string,JSONPath=`.status.targetCount` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase` LoadBalancer is the Schema for the loadbalancers API

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadBalancer) DeepCopyObject

func (in *LoadBalancer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LoadBalancerConfig added in v0.2.0

type LoadBalancerConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   LoadBalancerConfigSpec   `json:"spec,omitempty"`
	Status LoadBalancerConfigStatus `json:"status,omitempty"`
}

LoadBalancerConfig is the Schema for the loadbalancerconfigs API

func (*LoadBalancerConfig) DeepCopy added in v0.2.0

func (in *LoadBalancerConfig) DeepCopy() *LoadBalancerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfig.

func (*LoadBalancerConfig) DeepCopyInto added in v0.2.0

func (in *LoadBalancerConfig) DeepCopyInto(out *LoadBalancerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadBalancerConfig) DeepCopyObject added in v0.2.0

func (in *LoadBalancerConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LoadBalancerConfigList added in v0.2.0

type LoadBalancerConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LoadBalancerConfig `json:"items"`
}

LoadBalancerConfigList contains a list of LoadBalancerConfig

func (*LoadBalancerConfigList) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfigList.

func (*LoadBalancerConfigList) DeepCopyInto added in v0.2.0

func (in *LoadBalancerConfigList) DeepCopyInto(out *LoadBalancerConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadBalancerConfigList) DeepCopyObject added in v0.2.0

func (in *LoadBalancerConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LoadBalancerConfigSpec added in v0.2.0

type LoadBalancerConfigSpec struct {
	// Default defines if this config is the default config
	// +kubebuilder:validation:Required
	Default bool `json:"default,omitempty"`
	// HTTPUpdaterURL is the http updater url
	// +kubebuilder:validation:Required
	HTTPUpdaterURL string `json:"httpUpdaterURL,omitempty"`
	// Host is the load balancer host
	// +kubebuilder:validation:Required
	Host string `json:"host,omitempty"`
	// PortRange is the load balancer port range
	// +kubebuilder:validation:Required
	PortRange PortRange `json:"portRange,omitempty"`
}

LoadBalancerConfigSpec defines the desired state of LoadBalancerConfig

func (*LoadBalancerConfigSpec) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfigSpec.

func (*LoadBalancerConfigSpec) DeepCopyInto added in v0.2.0

func (in *LoadBalancerConfigSpec) DeepCopyInto(out *LoadBalancerConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancerConfigStatus added in v0.2.0

type LoadBalancerConfigStatus struct {
}

LoadBalancerConfigStatus defines the observed state of LoadBalancerConfig

func (*LoadBalancerConfigStatus) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfigStatus.

func (*LoadBalancerConfigStatus) DeepCopyInto added in v0.2.0

func (in *LoadBalancerConfigStatus) DeepCopyInto(out *LoadBalancerConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancerList

type LoadBalancerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LoadBalancer `json:"items"`
}

LoadBalancerList contains a list of LoadBalancer

func (*LoadBalancerList) DeepCopy

func (in *LoadBalancerList) DeepCopy() *LoadBalancerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerList.

func (*LoadBalancerList) DeepCopyInto

func (in *LoadBalancerList) DeepCopyInto(out *LoadBalancerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadBalancerList) DeepCopyObject

func (in *LoadBalancerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LoadBalancerPhase

type LoadBalancerPhase string
const (
	// LoadBalancerPhase pending
	LoadBalancerPhasePending LoadBalancerPhase = "PENDING"
	// LoadBalancerPhase ready
	LoadBalancerPhaseReady LoadBalancerPhase = "READY"
)

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// ConfigName is the loadbalancer config name
	// +kubebuilder:validation:Required
	ConfigName string `json:"configName,omitempty"`
	// HTTPUpdater is the http updater
	// +kubebuilder:validation:Required
	HTTPUpdater HTTPUpdater `json:"httpUpdater,omitempty"`
	// Host is the lb host
	// +kubebuilder:validation:Required
	Host string `json:"host,omitempty"`
	// Port is the lb host
	// +kubebuilder:validation:Required
	Port int `json:"port,omitempty"`
	// Protocol is the lb protocol
	// +kubebuilder:validation:Required
	Protocol string `json:"protocol,omitempty"`
	// Targets is the list of targets
	Targets []Target `json:"targets,omitempty"`
}

LoadBalancerSpec defines the desired state of LoadBalancer

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// +kubebuilder:validation:Enum=PENDING;READY
	// +kubebuilder:validation:Required
	// +kubebuilder:default=PENDING
	Phase LoadBalancerPhase `json:"phase,omitempty"`

	// TargetCount is the number of targets
	TargetCount int `json:"targetCount,omitempty"`
}

LoadBalancerStatus defines the observed state of LoadBalancer

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerStatus.

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PortRange added in v0.2.0

type PortRange struct {
	// Low is the lower limit of the port range
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	Low int `json:"low,omitempty"`
	// High is the higher limit of the port range
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Maximum=65535
	High int `json:"high,omitempty"`
}

PortRange defines the load balancer port range

func (*PortRange) DeepCopy added in v0.2.0

func (in *PortRange) DeepCopy() *PortRange

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRange.

func (*PortRange) DeepCopyInto added in v0.2.0

func (in *PortRange) DeepCopyInto(out *PortRange)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Target

type Target struct {
	// Host is the target host
	// +kubebuilder:validation:Required
	Host string `json:"host,omitempty"`
	// Port is the target port
	// +kubebuilder:validation:Required
	Port int `json:"port,omitempty"`
}

func (*Target) DeepCopy

func (in *Target) DeepCopy() *Target

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.

func (*Target) DeepCopyInto

func (in *Target) DeepCopyInto(out *Target)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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