v1

package
v0.0.0-...-7d86e41 Latest Latest
Warning

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

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

Documentation

Overview

Package v1 contains API Schema definitions for the RouteAdvertisements v1 API group +k8s:deepcopy-gen=package +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 Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AdvertisementType

type AdvertisementType string

AdvertisementType determines the type of advertisement.

const (
	// PodNetwork determines that the pod network is advertised.
	PodNetwork AdvertisementType = "PodNetwork"

	// EgressIP determines that egress IPs are being advertised.
	EgressIP AdvertisementType = "EgressIP"
)

type RouteAdvertisements

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

	Spec   RouteAdvertisementsSpec   `json:"spec,omitempty"`
	Status RouteAdvertisementsStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=routeadvertisements,scope=Cluster,shortName=ra,singular=routeadvertisements +kubebuilder::singular=routeadvertisements +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type=string,JSONPath=".status.status" RouteAdvertisements is the Schema for the routeadvertisements API

func (*RouteAdvertisements) DeepCopy

func (in *RouteAdvertisements) DeepCopy() *RouteAdvertisements

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

func (*RouteAdvertisements) DeepCopyInto

func (in *RouteAdvertisements) DeepCopyInto(out *RouteAdvertisements)

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

func (*RouteAdvertisements) DeepCopyObject

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

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

type RouteAdvertisementsList

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

RouteAdvertisementsList contains a list of RouteAdvertisements +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*RouteAdvertisementsList) DeepCopy

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

func (*RouteAdvertisementsList) DeepCopyInto

func (in *RouteAdvertisementsList) DeepCopyInto(out *RouteAdvertisementsList)

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

func (*RouteAdvertisementsList) DeepCopyObject

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

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

type RouteAdvertisementsSpec

type RouteAdvertisementsSpec struct {
	// targetVRF determines which VRF the routes should be advertised in.
	// +kubebuilder:validation:Optional
	TargetVRF string `json:"targetVRF,omitempty"`

	// networkSelector determines which network routes should be advertised. To
	// select the default network, match on label 'k8s.ovn.org/default-network'.
	NetworkSelector metav1.LabelSelector `json:"networkSelector,omitempty"`

	// nodeSelector limits the advertisements to selected nodes.
	// When omitted, all nodes are selected.
	NodeSelector metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// frrConfigurationSelector determines which FRRConfigurations will the
	// OVN-Kubernetes driven FRRConfigurations be based on.
	// When omitted, all FRRConfigurations will be considered.
	FRRConfigurationSelector metav1.LabelSelector `json:"frrConfigurationSelector,omitempty"`

	// advertisements determines what is advertised.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=2
	// +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x == y))"
	Advertisements []AdvertisementType `json:"advertisements,omitempty"`
}

RouteAdvertisementsSpec defines the desired state of RouteAdvertisements +kubebuilder:validation:XValidation:rule="!has(self.nodeSelector) || !('PodNetwork' in self.advertisements)",message="If 'PodNetwork' is selected for advertisement, a 'nodeSelector' can't be specified as it needs to be advertised on all nodes"

func (*RouteAdvertisementsSpec) DeepCopy

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

func (*RouteAdvertisementsSpec) DeepCopyInto

func (in *RouteAdvertisementsSpec) DeepCopyInto(out *RouteAdvertisementsSpec)

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

type RouteAdvertisementsStatus

type RouteAdvertisementsStatus struct {
	// status is a concise indication of whether the RouteAdvertisements
	// resource is applied with success.
	// +kubebuilder:validation:Optional
	Status string `json:"status,omitempty"`

	// conditions is an array of condition objects indicating details about
	// status of RouteAdvertisements object.
	// +kubebuilder:validation:Optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

RouteAdvertisementsStatus defines the observed state of RouteAdvertisements. It should always be reconstructable from the state of the cluster and/or outside world.

func (*RouteAdvertisementsStatus) DeepCopy

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

func (*RouteAdvertisementsStatus) DeepCopyInto

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/routeadvertisements/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/routeadvertisements/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