v1

package
v0.0.0-...-d8d42f1 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 3 Imported by: 3

Documentation

Overview

Package v1 contains API Schema definitions for the network v1 API group +k8s:deepcopy-gen=package,register +groupName=k8s.ovn.org

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupName          = "k8s.ovn.org"
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme        = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type EgressIP

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

	// Specification of the desired behavior of EgressIP.
	Spec EgressIPSpec `json:"spec"`
	// Observed status of EgressIP. Read-only.
	// +optional
	Status EgressIPStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced +genclient:noStatus +resource:path=egressip +kubebuilder:resource:shortName=eip,scope=Cluster +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:printcolumn:name="EgressIPs",type=string,JSONPath=".spec.egressIPs[*]" +kubebuilder:printcolumn:name="Assigned Node",type=string,JSONPath=".status.items[*].node" +kubebuilder:printcolumn:name="Assigned EgressIPs",type=string,JSONPath=".status.items[*].egressIP" EgressIP is a CRD allowing the user to define a fixed source IP for all egress traffic originating from any pods which match the EgressIP resource according to its spec definition.

func (*EgressIP) DeepCopy

func (in *EgressIP) DeepCopy() *EgressIP

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

func (*EgressIP) DeepCopyInto

func (in *EgressIP) DeepCopyInto(out *EgressIP)

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

func (*EgressIP) DeepCopyObject

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

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

type EgressIPList

type EgressIPList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of EgressIP.
	Items []EgressIP `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +resource:path=egressip EgressIPList is the list of EgressIPList.

func (*EgressIPList) DeepCopy

func (in *EgressIPList) DeepCopy() *EgressIPList

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

func (*EgressIPList) DeepCopyInto

func (in *EgressIPList) DeepCopyInto(out *EgressIPList)

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

func (*EgressIPList) DeepCopyObject

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

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

type EgressIPSpec

type EgressIPSpec struct {
	// EgressIPs is the list of egress IP addresses requested. Can be IPv4 and/or IPv6.
	// This field is mandatory.
	EgressIPs []string `json:"egressIPs"`
	// NamespaceSelector applies the egress IP only to the namespace(s) whose label
	// matches this definition. This field is mandatory.
	NamespaceSelector metav1.LabelSelector `json:"namespaceSelector"`
	// PodSelector applies the egress IP only to the pods whose label
	// matches this definition. This field is optional, and in case it is not set:
	// results in the egress IP being applied to all pods in the namespace(s)
	// matched by the NamespaceSelector. In case it is set: is intersected with
	// the NamespaceSelector, thus applying the egress IP to the pods
	// (in the namespace(s) already matched by the NamespaceSelector) which
	// match this pod selector.
	// +optional
	PodSelector metav1.LabelSelector `json:"podSelector,omitempty"`
}

EgressIPSpec is a desired state description of EgressIP.

func (*EgressIPSpec) DeepCopy

func (in *EgressIPSpec) DeepCopy() *EgressIPSpec

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

func (*EgressIPSpec) DeepCopyInto

func (in *EgressIPSpec) DeepCopyInto(out *EgressIPSpec)

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

type EgressIPStatus

type EgressIPStatus struct {
	// The list of assigned egress IPs and their corresponding node assignment.
	Items []EgressIPStatusItem `json:"items"`
}

func (*EgressIPStatus) DeepCopy

func (in *EgressIPStatus) DeepCopy() *EgressIPStatus

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

func (*EgressIPStatus) DeepCopyInto

func (in *EgressIPStatus) DeepCopyInto(out *EgressIPStatus)

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

type EgressIPStatusItem

type EgressIPStatusItem struct {
	// Assigned node name
	Node string `json:"node"`
	// Assigned egress IP
	EgressIP string `json:"egressIP"`
}

The per node status, for those egress IPs who have been assigned.

func (*EgressIPStatusItem) DeepCopy

func (in *EgressIPStatusItem) DeepCopy() *EgressIPStatusItem

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

func (*EgressIPStatusItem) DeepCopyInto

func (in *EgressIPStatusItem) DeepCopyInto(out *EgressIPStatusItem)

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

Directories

Path Synopsis
apis
clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset/versioned/typed/egressip/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/egressip/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

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