v1alpha1

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the network v1alpha1 API group +kubebuilder:object:generate=true +groupName=network.schiff.telekom.de

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "network.schiff.telekom.de", 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 Layer2NetworkConfiguration

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

	Spec   Layer2NetworkConfigurationSpec   `json:"spec,omitempty"`
	Status Layer2NetworkConfigurationStatus `json:"status,omitempty"`
}

Layer2NetworkConfiguration is the Schema for the layer2networkconfigurations API.

func (*Layer2NetworkConfiguration) DeepCopy

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

func (*Layer2NetworkConfiguration) DeepCopyInto

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

func (*Layer2NetworkConfiguration) DeepCopyObject

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

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

type Layer2NetworkConfigurationList

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

Layer2NetworkConfigurationList contains a list of Layer2NetworkConfiguration.

func (*Layer2NetworkConfigurationList) DeepCopy

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

func (*Layer2NetworkConfigurationList) DeepCopyInto

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

func (*Layer2NetworkConfigurationList) DeepCopyObject

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

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

type Layer2NetworkConfigurationSpec

type Layer2NetworkConfigurationSpec struct {
	// +kubebuilder:validation:Required
	// VLAN Id of the layer 2 network
	ID int `json:"id"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1000
	// +kubebuilder:validation:Maximum=9000
	// +kubebuilder:validation:ExclusiveMaximum=false
	// Network interface MTU
	MTU int `json:"mtu"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=16777215
	// VXLAN VNI Id for the layer 2 network
	VNI int `json:"vni"`

	// +kubebuilder:validation:Pattern=`(?:[[:xdigit:]]{2}:){5}[[:xdigit:]]{2}`
	// If anycast is desired, specify anycast gateway MAC address
	AnycastMac string `json:"anycastMac,omitempty"`

	// Anycast Gateway to configure on bridge
	AnycastGateways []string `json:"anycastGateways,omitempty"`

	// If desired network-operator advertises host routes for local neighbors
	AdvertiseNeighbors bool `json:"advertiseNeighbors,omitempty"`

	// Create MACVLAN attach interface
	CreateMACVLANInterface bool `json:"createMacVLANInterface,omitempty"`

	// Enable ARP / ND suppression
	NeighSuppression *bool `json:"neighSuppression,omitempty"`

	// VRF to attach Layer2 network to, default if not set
	VRF string `json:"vrf,omitempty"`

	// Select nodes to create Layer2 network on
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`
}

Layer2NetworkConfigurationSpec defines the desired state of Layer2NetworkConfiguration.

func (*Layer2NetworkConfigurationSpec) DeepCopy

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

func (*Layer2NetworkConfigurationSpec) DeepCopyInto

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

type Layer2NetworkConfigurationStatus

type Layer2NetworkConfigurationStatus struct {
}

Layer2NetworkConfigurationStatus defines the observed state of Layer2NetworkConfiguration.

func (*Layer2NetworkConfigurationStatus) DeepCopy

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

func (*Layer2NetworkConfigurationStatus) DeepCopyInto

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

type RoutingTable added in v0.2.3

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

	Spec   RoutingTableSpec   `json:"spec,omitempty"`
	Status RoutingTableStatus `json:"status,omitempty"`
}

RoutingTable is the Schema for the routingtables API.

func (*RoutingTable) DeepCopy added in v0.2.3

func (in *RoutingTable) DeepCopy() *RoutingTable

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

func (*RoutingTable) DeepCopyInto added in v0.2.3

func (in *RoutingTable) DeepCopyInto(out *RoutingTable)

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

func (*RoutingTable) DeepCopyObject added in v0.2.3

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

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

type RoutingTableList added in v0.2.3

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

RoutingTableList contains a list of RoutingTable.

func (*RoutingTableList) DeepCopy added in v0.2.3

func (in *RoutingTableList) DeepCopy() *RoutingTableList

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

func (*RoutingTableList) DeepCopyInto added in v0.2.3

func (in *RoutingTableList) DeepCopyInto(out *RoutingTableList)

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

func (*RoutingTableList) DeepCopyObject added in v0.2.3

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

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

type RoutingTableSpec added in v0.2.3

type RoutingTableSpec struct {

	// TableID is the host table that can be used to export routes
	TableID int `json:"tableId"`
}

RoutingTableSpec defines the desired state of RoutingTable.

func (*RoutingTableSpec) DeepCopy added in v0.2.3

func (in *RoutingTableSpec) DeepCopy() *RoutingTableSpec

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

func (*RoutingTableSpec) DeepCopyInto added in v0.2.3

func (in *RoutingTableSpec) DeepCopyInto(out *RoutingTableSpec)

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

type RoutingTableStatus added in v0.2.3

type RoutingTableStatus struct {
}

RoutingTableStatus defines the observed state of RoutingTable.

func (*RoutingTableStatus) DeepCopy added in v0.2.3

func (in *RoutingTableStatus) DeepCopy() *RoutingTableStatus

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

func (*RoutingTableStatus) DeepCopyInto added in v0.2.3

func (in *RoutingTableStatus) DeepCopyInto(out *RoutingTableStatus)

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

type VRFRouteConfiguration

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

	Spec   VRFRouteConfigurationSpec   `json:"spec,omitempty"`
	Status VRFRouteConfigurationStatus `json:"status,omitempty"`
}

VRFRouteConfiguration is the Schema for the vrfrouteconfigurations API.

func (*VRFRouteConfiguration) DeepCopy

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

func (*VRFRouteConfiguration) DeepCopyInto

func (in *VRFRouteConfiguration) DeepCopyInto(out *VRFRouteConfiguration)

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

func (*VRFRouteConfiguration) DeepCopyObject

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

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

func (*VRFRouteConfiguration) SetupWebhookWithManager

func (r *VRFRouteConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VRFRouteConfiguration) ValidateCreate

func (r *VRFRouteConfiguration) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*VRFRouteConfiguration) ValidateDelete

func (r *VRFRouteConfiguration) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*VRFRouteConfiguration) ValidateUpdate

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type VRFRouteConfigurationList

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

VRFRouteConfigurationList contains a list of VRFRouteConfiguration.

func (*VRFRouteConfigurationList) DeepCopy

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

func (*VRFRouteConfigurationList) DeepCopyInto

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

func (*VRFRouteConfigurationList) DeepCopyObject

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

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

type VRFRouteConfigurationSpec

type VRFRouteConfigurationSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=12
	// VRF this configuration refers to
	VRF string `json:"vrf,omitempty"`

	// +kubebuilder:validation:MaxItems=4294967295
	// Routes imported from this VRF into the cluster VRF
	Import []VrfRouteConfigurationPrefixItem `json:"import"`

	// +kubebuilder:validation:MaxItems=4294967295
	// Routes exported from the cluster VRF into the specified VRF
	Export []VrfRouteConfigurationPrefixItem `json:"export"`

	// Aggregate Routes that should be announced
	Aggregate []string `json:"aggregate,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65534
	// +kubebuilder:validation:ExclusiveMaximum=false
	// Sequence of the generated route-map, maximum of 65534 because we sometimes have to set an explicit default-deny
	Seq int `json:"seq"`

	// +kubebuilder:default=9000
	// The MTU of the VRF
	MTU int `json:"mtu"`

	// Community for export, if omitted no community will be set
	Community *string `json:"community,omitempty"`
}

VRFRouteConfigurationSpec defines the desired state of VRFRouteConfiguration.

func (*VRFRouteConfigurationSpec) DeepCopy

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

func (*VRFRouteConfigurationSpec) DeepCopyInto

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

type VRFRouteConfigurationStatus

type VRFRouteConfigurationStatus struct {
}

VRFRouteConfigurationStatus defines the observed state of VRFRouteConfiguration.

func (*VRFRouteConfigurationStatus) DeepCopy

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

func (*VRFRouteConfigurationStatus) DeepCopyInto

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

type VrfRouteConfigurationPrefixItem

type VrfRouteConfigurationPrefixItem struct {

	// +kubebuilder:validation:Required
	// CIDR of the leaked network
	CIDR string `json:"cidr,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=4294967295
	// +kubebuilder:validation:ExclusiveMaximum=false
	// Sequence in the generated prefix-list, if omitted will be list index
	Seq int `json:"seq,omitempty"`

	// Minimum prefix length to be matched
	GE *int `json:"ge,omitempty"`
	// Maximum prefix length to be matched
	LE *int `json:"le,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=permit;deny
	Action string `json:"action"`
}

VRFRouteConfigurationPrefixItem defines a prefix item.

func (*VrfRouteConfigurationPrefixItem) DeepCopy

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

func (*VrfRouteConfigurationPrefixItem) DeepCopyInto

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