networking

package
v0.1.2 Latest Latest
Warning

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

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

Documentation

Overview

Package networking is the internal version of the API.

Package networking contains API Schema definitions for the networking internal API group +groupName=networking.ironcore.dev

Index

Constants

View Source
const (
	// NetworkPluginsGroup is the system rbac group all network plugins are in.
	NetworkPluginsGroup = "networking.ironcore.dev:system:networkplugins"

	// NetworkPluginUserNamePrefix is the prefix all network plugin users should have.
	NetworkPluginUserNamePrefix = "networking.ironcore.dev:system:networkplugin:"
)
View Source
const (
	// DefaultPortsPerNetworkInterface is the default number of ports per network interface.
	DefaultPortsPerNetworkInterface int32 = 2048
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "networking.ironcore.dev", Version: runtime.APIVersionInternal}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

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

Functions

func NetworkInterfaceIPIPAMPrefixName

func NetworkInterfaceIPIPAMPrefixName(nicName string, idx int) string

NetworkInterfaceIPIPAMPrefixName returns the name of a Prefix for a network interface ephemeral prefix.

func NetworkInterfacePrefixIPAMPrefixName

func NetworkInterfacePrefixIPAMPrefixName(nicName string, idx int) string

NetworkInterfacePrefixIPAMPrefixName returns the name of a Prefix for a network interface ephemeral prefix.

func NetworkInterfaceVirtualIPName

func NetworkInterfaceVirtualIPName(nicName string, vipSource VirtualIPSource) string

NetworkInterfaceVirtualIPName returns the name of a VirtualIP for a NetworkInterface VirtualIPSource.

func NetworkPluginCommonName

func NetworkPluginCommonName(name string) string

NetworkPluginCommonName constructs the common name for a certificate of a network plugin user.

func Resource

func Resource(name string) schema.GroupResource

Types

type EphemeralPrefixSource

type EphemeralPrefixSource struct {
	// PrefixTemplate is the template for the Prefix.
	PrefixTemplate *ipam.PrefixTemplateSpec
}

EphemeralPrefixSource contains the definition to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) Prefix.

func (*EphemeralPrefixSource) DeepCopy

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

func (*EphemeralPrefixSource) DeepCopyInto

func (in *EphemeralPrefixSource) DeepCopyInto(out *EphemeralPrefixSource)

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

type EphemeralVirtualIPSource

type EphemeralVirtualIPSource struct {
	// VirtualIPTemplate is the template for the VirtualIP.
	VirtualIPTemplate *VirtualIPTemplateSpec
}

EphemeralVirtualIPSource contains the definition to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) VirtualIP.

func (*EphemeralVirtualIPSource) DeepCopy

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

func (*EphemeralVirtualIPSource) DeepCopyInto

func (in *EphemeralVirtualIPSource) DeepCopyInto(out *EphemeralVirtualIPSource)

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

type IPBlock

type IPBlock struct {
	// CIDR is a string representing the ip block.
	CIDR commonv1alpha1.IPPrefix
	// Except is a slice of CIDRs that should not be included within the specified CIDR.
	// Values will be rejected if they are outside CIDR.
	Except []commonv1alpha1.IPPrefix
}

IPBlock specifies an ip block with optional exceptions.

func (*IPBlock) DeepCopy

func (in *IPBlock) DeepCopy() *IPBlock

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

func (*IPBlock) DeepCopyInto

func (in *IPBlock) DeepCopyInto(out *IPBlock)

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

type IPSource

type IPSource struct {
	// Value specifies an IP by using an IP literal.
	Value *commonv1alpha1.IP
	// Ephemeral specifies an IP by creating an ephemeral Prefix to allocate the IP with.
	Ephemeral *EphemeralPrefixSource
}

IPSource is the definition of how to obtain an IP.

func (*IPSource) DeepCopy

func (in *IPSource) DeepCopy() *IPSource

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

func (*IPSource) DeepCopyInto

func (in *IPSource) DeepCopyInto(out *IPSource)

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

type LoadBalancer

type LoadBalancer struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec   LoadBalancerSpec
	Status LoadBalancerStatus
}

LoadBalancer is the Schema for the LoadBalancer 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 LoadBalancerDestination

type LoadBalancerDestination struct {
	// IP is the target IP.
	IP commonv1alpha1.IP
	// TargetRef is the target providing the destination.
	TargetRef *LoadBalancerTargetRef
}

LoadBalancerDestination is the destination of the load balancer.

func (*LoadBalancerDestination) DeepCopy

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

func (*LoadBalancerDestination) DeepCopyInto

func (in *LoadBalancerDestination) DeepCopyInto(out *LoadBalancerDestination)

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

type LoadBalancerList

type LoadBalancerList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []LoadBalancer
}

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 LoadBalancerPort

type LoadBalancerPort struct {
	// Protocol is the protocol the load balancer should allow.
	// If not specified, defaults to TCP.
	Protocol *corev1.Protocol
	// Port is the port to allow.
	Port int32
	// EndPort marks the end of the port range to allow.
	// If unspecified, only a single port, Port, will be allowed.
	EndPort *int32
}

func (*LoadBalancerPort) DeepCopy

func (in *LoadBalancerPort) DeepCopy() *LoadBalancerPort

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

func (*LoadBalancerPort) DeepCopyInto

func (in *LoadBalancerPort) DeepCopyInto(out *LoadBalancerPort)

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

type LoadBalancerRouting

type LoadBalancerRouting struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	// NetworkRef is the network the load balancer is assigned to.
	NetworkRef commonv1alpha1.LocalUIDReference

	// Destinations are the destinations for an LoadBalancer.
	Destinations []LoadBalancerDestination
}

LoadBalancerRouting is the Schema for the loadbalancerroutings API

func (*LoadBalancerRouting) DeepCopy

func (in *LoadBalancerRouting) DeepCopy() *LoadBalancerRouting

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

func (*LoadBalancerRouting) DeepCopyInto

func (in *LoadBalancerRouting) DeepCopyInto(out *LoadBalancerRouting)

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

func (*LoadBalancerRouting) DeepCopyObject

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

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

type LoadBalancerRoutingList

type LoadBalancerRoutingList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []LoadBalancerRouting
}

LoadBalancerRoutingList contains a list of LoadBalancerRouting

func (*LoadBalancerRoutingList) DeepCopy

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

func (*LoadBalancerRoutingList) DeepCopyInto

func (in *LoadBalancerRoutingList) DeepCopyInto(out *LoadBalancerRoutingList)

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

func (*LoadBalancerRoutingList) DeepCopyObject

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

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

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// Type is the type of LoadBalancer.
	Type LoadBalancerType
	// IPFamilies are the ip families the load balancer should have.
	IPFamilies []corev1.IPFamily
	// IPs are the ips to use. Can only be used when Type is LoadBalancerTypeInternal.
	IPs []IPSource
	// NetworkRef is the Network this LoadBalancer should belong to.
	NetworkRef corev1.LocalObjectReference
	// NetworkInterfaceSelector defines the NetworkInterfaces
	// for which this LoadBalancer should be applied
	NetworkInterfaceSelector *metav1.LabelSelector
	// Ports are the ports the load balancer should allow.
	Ports []LoadBalancerPort
}

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 {
	// IPs are the IPs allocated for the load balancer.
	IPs []commonv1alpha1.IP
}

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 LoadBalancerTargetRef

type LoadBalancerTargetRef struct {
	// UID is the UID of the target.
	UID types.UID
	// Name is the name of the target.
	Name string
	// ProviderID is the provider internal id of the target.
	ProviderID string
}

LoadBalancerTargetRef is a load balancer target.

func (*LoadBalancerTargetRef) DeepCopy

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

func (*LoadBalancerTargetRef) DeepCopyInto

func (in *LoadBalancerTargetRef) DeepCopyInto(out *LoadBalancerTargetRef)

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

type LoadBalancerType

type LoadBalancerType string

LoadBalancerType is a type of LoadBalancer.

const (
	// LoadBalancerTypePublic is a LoadBalancer that allocates and routes a stable public IP.
	LoadBalancerTypePublic LoadBalancerType = "Public"
	// LoadBalancerTypeInternal is a LoadBalancer that allocates and routes network-internal, stable IPs.
	LoadBalancerTypeInternal LoadBalancerType = "Internal"
)

type NATGateway

type NATGateway struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec   NATGatewaySpec
	Status NATGatewayStatus
}

NATGateway is the Schema for the NATGateway API

func (*NATGateway) DeepCopy

func (in *NATGateway) DeepCopy() *NATGateway

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

func (*NATGateway) DeepCopyInto

func (in *NATGateway) DeepCopyInto(out *NATGateway)

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

func (*NATGateway) DeepCopyObject

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

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

type NATGatewayList

type NATGatewayList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []NATGateway
}

NATGatewayList contains a list of NATGateway

func (*NATGatewayList) DeepCopy

func (in *NATGatewayList) DeepCopy() *NATGatewayList

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

func (*NATGatewayList) DeepCopyInto

func (in *NATGatewayList) DeepCopyInto(out *NATGatewayList)

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

func (*NATGatewayList) DeepCopyObject

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

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

type NATGatewaySpec

type NATGatewaySpec struct {
	// Type is the type of NATGateway.
	Type NATGatewayType
	// IPFamily is the ip family the NAT gateway should have.
	IPFamily corev1.IPFamily
	// NetworkRef is the Network this NATGateway should belong to.
	NetworkRef corev1.LocalObjectReference
	// PortsPerNetworkInterface defines the number of concurrent connections per target network interface.
	// Has to be a power of 2. If empty, 2048 (DefaultPortsPerNetworkInterface) is the default.
	PortsPerNetworkInterface *int32
}

NATGatewaySpec defines the desired state of NATGateway

func (*NATGatewaySpec) DeepCopy

func (in *NATGatewaySpec) DeepCopy() *NATGatewaySpec

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

func (*NATGatewaySpec) DeepCopyInto

func (in *NATGatewaySpec) DeepCopyInto(out *NATGatewaySpec)

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

type NATGatewayStatus

type NATGatewayStatus struct {
	// IPs are the IPs allocated for the NAT gateway.
	IPs []commonv1alpha1.IP
}

NATGatewayStatus defines the observed state of NATGateway

func (*NATGatewayStatus) DeepCopy

func (in *NATGatewayStatus) DeepCopy() *NATGatewayStatus

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

func (*NATGatewayStatus) DeepCopyInto

func (in *NATGatewayStatus) DeepCopyInto(out *NATGatewayStatus)

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

type NATGatewayType

type NATGatewayType string

NATGatewayType is a type of NATGateway.

const (
	// NATGatewayTypePublic is a NATGateway that allocates and routes a stable public IP.
	NATGatewayTypePublic NATGatewayType = "Public"
)

type Network

type Network struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec   NetworkSpec
	Status NetworkStatus
}

Network is the Schema for the network API

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

func (*Network) DeepCopyObject

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

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

type NetworkInterface

type NetworkInterface struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec   NetworkInterfaceSpec
	Status NetworkInterfaceStatus
}

NetworkInterface is the Schema for the networkinterfaces API

func (*NetworkInterface) DeepCopy

func (in *NetworkInterface) DeepCopy() *NetworkInterface

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

func (*NetworkInterface) DeepCopyInto

func (in *NetworkInterface) DeepCopyInto(out *NetworkInterface)

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

func (*NetworkInterface) DeepCopyObject

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

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

type NetworkInterfaceList

type NetworkInterfaceList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []NetworkInterface
}

NetworkInterfaceList contains a list of NetworkInterface

func (*NetworkInterfaceList) DeepCopy

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

func (*NetworkInterfaceList) DeepCopyInto

func (in *NetworkInterfaceList) DeepCopyInto(out *NetworkInterfaceList)

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

func (*NetworkInterfaceList) DeepCopyObject

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

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

type NetworkInterfaceSpec

type NetworkInterfaceSpec struct {
	// ProviderID is the provider-internal ID of the network interface.
	ProviderID string
	// NetworkRef is the Network this NetworkInterface is connected to
	NetworkRef corev1.LocalObjectReference
	// MachineRef is the Machine this NetworkInterface is used by
	MachineRef *commonv1alpha1.LocalUIDReference
	// IPFamilies defines which IPFamilies this NetworkInterface is supporting
	IPFamilies []corev1.IPFamily
	// IPs is the list of provided IPs or ephemeral IPs which should be assigned to
	// this NetworkInterface.
	IPs []IPSource
	// Prefixes is the list of provided prefixes or ephemeral prefixes which should be assigned to
	// this NetworkInterface.
	Prefixes []PrefixSource
	// VirtualIP specifies the virtual ip that should be assigned to this NetworkInterface.
	VirtualIP *VirtualIPSource
	// Attributes are provider-specific attributes for the network interface.
	Attributes map[string]string
}

NetworkInterfaceSpec defines the desired state of NetworkInterface

func (*NetworkInterfaceSpec) DeepCopy

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

func (*NetworkInterfaceSpec) DeepCopyInto

func (in *NetworkInterfaceSpec) DeepCopyInto(out *NetworkInterfaceSpec)

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

type NetworkInterfaceState

type NetworkInterfaceState string

NetworkInterfaceState is the ironcore state of a NetworkInterface.

const (
	// NetworkInterfaceStatePending is used for any NetworkInterface that is pending.
	NetworkInterfaceStatePending NetworkInterfaceState = "Pending"
	// NetworkInterfaceStateAvailable is used for any NetworkInterface where all properties are valid.
	NetworkInterfaceStateAvailable NetworkInterfaceState = "Available"
	// NetworkInterfaceStateError is used for any NetworkInterface where any property has an error.
	NetworkInterfaceStateError NetworkInterfaceState = "Error"
)

type NetworkInterfaceStatus

type NetworkInterfaceStatus struct {
	// State is the NetworkInterfaceState of the NetworkInterface.
	State NetworkInterfaceState
	// LastStateTransitionTime is the last time the State transitioned from one value to another.
	LastStateTransitionTime *metav1.Time

	// IPs represent the effective IP addresses of the NetworkInterface
	IPs []commonv1alpha1.IP
	// Prefixes represent the prefixes routed to the NetworkInterface.
	Prefixes []commonv1alpha1.IPPrefix
	// VirtualIP is any virtual ip assigned to the NetworkInterface.
	VirtualIP *commonv1alpha1.IP
}

NetworkInterfaceStatus defines the observed state of NetworkInterface

func (*NetworkInterfaceStatus) DeepCopy

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

func (*NetworkInterfaceStatus) DeepCopyInto

func (in *NetworkInterfaceStatus) DeepCopyInto(out *NetworkInterfaceStatus)

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

type NetworkInterfaceTemplateSpec

type NetworkInterfaceTemplateSpec struct {
	metav1.ObjectMeta
	Spec NetworkInterfaceSpec
}

NetworkInterfaceTemplateSpec is the specification of a NetworkInterface template.

func (*NetworkInterfaceTemplateSpec) DeepCopy

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

func (*NetworkInterfaceTemplateSpec) DeepCopyInto

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

type NetworkList

type NetworkList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []Network
}

NetworkList contains a list of Network

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

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

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

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

func (*NetworkList) DeepCopyObject

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

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

type NetworkPeering

type NetworkPeering struct {
	// Name is the semantical name of the network peering.
	Name string
	// NetworkRef is the reference to the network to peer with.
	// An empty namespace indicates that the target network resides in the same namespace as the source network.
	NetworkRef NetworkPeeringNetworkRef
}

NetworkPeering defines a network peering with another network.

func (*NetworkPeering) DeepCopy

func (in *NetworkPeering) DeepCopy() *NetworkPeering

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

func (*NetworkPeering) DeepCopyInto

func (in *NetworkPeering) DeepCopyInto(out *NetworkPeering)

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

type NetworkPeeringClaimRef

type NetworkPeeringClaimRef struct {
	// Namespace is the namespace of the referenced entity. If empty,
	// the same namespace as the referring resource is implied.
	Namespace string
	// Name is the name of the referenced entity.
	Name string
	// UID is the UID of the referenced entity.
	UID types.UID
}

func (*NetworkPeeringClaimRef) DeepCopy

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

func (*NetworkPeeringClaimRef) DeepCopyInto

func (in *NetworkPeeringClaimRef) DeepCopyInto(out *NetworkPeeringClaimRef)

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

type NetworkPeeringNetworkRef

type NetworkPeeringNetworkRef struct {
	// Namespace is the namespace of the referenced entity. If empty,
	// the same namespace as the referring resource is implied.
	Namespace string
	// Name is the name of the referenced entity.
	Name string
}

NetworkPeeringNetworkRef is a reference to a network to peer with.

func (*NetworkPeeringNetworkRef) DeepCopy

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

func (*NetworkPeeringNetworkRef) DeepCopyInto

func (in *NetworkPeeringNetworkRef) DeepCopyInto(out *NetworkPeeringNetworkRef)

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

type NetworkPeeringState

type NetworkPeeringState string

NetworkPeeringState is the state a NetworkPeering can be in.

const (
	// NetworkPeeringStatePending signals that the network peering is not applied.
	NetworkPeeringStatePending NetworkPeeringState = "Pending"
	// NetworkPeeringStateReady signals that the network peering is ready.
	NetworkPeeringStateReady NetworkPeeringState = "Ready"
	// NetworkPeeringStateError signals that the network peering is in error state.
	NetworkPeeringStateError NetworkPeeringState = "Error"
)

type NetworkPeeringStatus

type NetworkPeeringStatus struct {
	// Name is the name of the network peering.
	Name string
	// State represents the network peering state
	State NetworkPeeringState
}

NetworkPeeringStatus is the status of a network peering.

func (*NetworkPeeringStatus) DeepCopy

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

func (*NetworkPeeringStatus) DeepCopyInto

func (in *NetworkPeeringStatus) DeepCopyInto(out *NetworkPeeringStatus)

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

type NetworkPolicy

type NetworkPolicy struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec   NetworkPolicySpec
	Status NetworkPolicyStatus
}

NetworkPolicy is the Schema for the networkpolicies API

func (*NetworkPolicy) DeepCopy

func (in *NetworkPolicy) DeepCopy() *NetworkPolicy

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

func (*NetworkPolicy) DeepCopyInto

func (in *NetworkPolicy) DeepCopyInto(out *NetworkPolicy)

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

func (*NetworkPolicy) DeepCopyObject

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

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

type NetworkPolicyCondition

type NetworkPolicyCondition struct {
	// Type is the type of the condition.
	Type NetworkPolicyConditionType
	// Status is the status of the condition.
	Status corev1.ConditionStatus
	// Reason is a machine-readable indication of why the condition is in a certain state.
	Reason string
	// Message is a human-readable explanation of why the condition has a certain reason / state.
	Message string
	// ObservedGeneration represents the .metadata.generation that the condition was set based upon.
	ObservedGeneration int64
	// LastTransitionTime is the last time the status of a condition has transitioned from one state to another.
	LastTransitionTime metav1.Time
}

NetworkPolicyCondition is one of the conditions of a network policy.

func (*NetworkPolicyCondition) DeepCopy

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

func (*NetworkPolicyCondition) DeepCopyInto

func (in *NetworkPolicyCondition) DeepCopyInto(out *NetworkPolicyCondition)

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

type NetworkPolicyConditionType

type NetworkPolicyConditionType string

NetworkPolicyConditionType is a type a NetworkPolicyCondition can have.

type NetworkPolicyEgressRule

type NetworkPolicyEgressRule struct {
	// Ports specifies the list of destination ports that can be called with
	// this rule. Each item in this list is combined using a logical OR. Empty matches all ports.
	// As soon as a single item is present, only these ports are allowed.
	Ports []NetworkPolicyPort
	// To specifies the list of destinations which the selected network interfaces should be
	// able to send traffic to. Fields are combined using a logical OR. Empty matches all destinations.
	// As soon as a single item is present, only these peers are allowed.
	To []NetworkPolicyPeer
}

NetworkPolicyEgressRule describes a rule to regulate egress traffic with.

func (*NetworkPolicyEgressRule) DeepCopy

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

func (*NetworkPolicyEgressRule) DeepCopyInto

func (in *NetworkPolicyEgressRule) DeepCopyInto(out *NetworkPolicyEgressRule)

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

type NetworkPolicyIngressRule

type NetworkPolicyIngressRule struct {
	// Ports specifies the list of ports which should be made accessible for
	// this rule. Each item in this list is combined using a logical OR. Empty matches all ports.
	// As soon as a single item is present, only these ports are allowed.
	Ports []NetworkPolicyPort
	// From specifies the list of sources which should be able to send traffic to the
	// selected network interfaces. Fields are combined using a logical OR. Empty matches all sources.
	// As soon as a single item is present, only these peers are allowed.
	From []NetworkPolicyPeer
}

NetworkPolicyIngressRule describes a rule to regulate ingress traffic with.

func (*NetworkPolicyIngressRule) DeepCopy

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

func (*NetworkPolicyIngressRule) DeepCopyInto

func (in *NetworkPolicyIngressRule) DeepCopyInto(out *NetworkPolicyIngressRule)

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

type NetworkPolicyList

type NetworkPolicyList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []NetworkPolicy
}

NetworkPolicyList contains a list of NetworkPolicy.

func (*NetworkPolicyList) DeepCopy

func (in *NetworkPolicyList) DeepCopy() *NetworkPolicyList

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

func (*NetworkPolicyList) DeepCopyInto

func (in *NetworkPolicyList) DeepCopyInto(out *NetworkPolicyList)

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

func (*NetworkPolicyList) DeepCopyObject

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

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

type NetworkPolicyPeer

type NetworkPolicyPeer struct {
	// ObjectSelector selects peers with the given kind matching the label selector.
	// Exclusive with other peer specifiers.
	ObjectSelector *core.ObjectSelector
	// IPBlock specifies the ip block from or to which network traffic may come.
	IPBlock *IPBlock
}

NetworkPolicyPeer describes a peer to allow traffic to / from.

func (*NetworkPolicyPeer) DeepCopy

func (in *NetworkPolicyPeer) DeepCopy() *NetworkPolicyPeer

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

func (*NetworkPolicyPeer) DeepCopyInto

func (in *NetworkPolicyPeer) DeepCopyInto(out *NetworkPolicyPeer)

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

type NetworkPolicyPort

type NetworkPolicyPort struct {
	// Protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this
	// field defaults to TCP.
	Protocol *corev1.Protocol

	// The port on the given protocol. If this field is not provided, this matches
	// all port names and numbers.
	// If present, only traffic on the specified protocol AND port will be matched.
	Port int32

	// EndPort indicates that the range of ports from Port to EndPort, inclusive,
	// should be allowed by the policy. This field cannot be defined if the port field
	// is not defined. The endPort must be equal or greater than port.
	EndPort *int32
}

NetworkPolicyPort describes a port to allow traffic on

func (*NetworkPolicyPort) DeepCopy

func (in *NetworkPolicyPort) DeepCopy() *NetworkPolicyPort

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

func (*NetworkPolicyPort) DeepCopyInto

func (in *NetworkPolicyPort) DeepCopyInto(out *NetworkPolicyPort)

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

type NetworkPolicySpec

type NetworkPolicySpec struct {
	// NetworkRef is the network to regulate using this policy.
	NetworkRef corev1.LocalObjectReference
	// NetworkInterfaceSelector selects the network interfaces that are subject to this policy.
	NetworkInterfaceSelector metav1.LabelSelector
	// Ingress specifies rules for ingress traffic.
	Ingress []NetworkPolicyIngressRule
	// Egress specifies rules for egress traffic.
	Egress []NetworkPolicyEgressRule
	// PolicyTypes specifies the types of policies this network policy contains.
	PolicyTypes []PolicyType
}

NetworkPolicySpec defines the desired state of NetworkPolicy.

func (*NetworkPolicySpec) DeepCopy

func (in *NetworkPolicySpec) DeepCopy() *NetworkPolicySpec

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

func (*NetworkPolicySpec) DeepCopyInto

func (in *NetworkPolicySpec) DeepCopyInto(out *NetworkPolicySpec)

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

type NetworkPolicyStatus

type NetworkPolicyStatus struct {
	// Conditions are various conditions of the NetworkPolicy.
	Conditions []NetworkPolicyCondition
}

NetworkPolicyStatus defines the observed state of NetworkPolicy.

func (*NetworkPolicyStatus) DeepCopy

func (in *NetworkPolicyStatus) DeepCopy() *NetworkPolicyStatus

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

func (*NetworkPolicyStatus) DeepCopyInto

func (in *NetworkPolicyStatus) DeepCopyInto(out *NetworkPolicyStatus)

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

type NetworkSpec

type NetworkSpec struct {
	// ProviderID is the provider-internal ID of the network.
	ProviderID string
	// Peerings are the network peerings with this network.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Peerings []NetworkPeering

	// PeeringClaimRefs are the peering claim references of other networks.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	PeeringClaimRefs []NetworkPeeringClaimRef
}

NetworkSpec defines the desired state of Network

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type NetworkState

type NetworkState string

NetworkState is the state of a network. +enum

const (
	// NetworkStatePending means the network is being provisioned.
	NetworkStatePending NetworkState = "Pending"
	// NetworkStateAvailable means the network is ready to use.
	NetworkStateAvailable NetworkState = "Available"
	// NetworkStateError means the network is in an error state.
	NetworkStateError NetworkState = "Error"
)

type NetworkStatus

type NetworkStatus struct {
	// State is the state of the machine.
	State NetworkState
	// Peerings contains the states of the network peerings for the network.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Peerings []NetworkPeeringStatus
}

NetworkStatus defines the observed state of Network

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

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

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

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

type PolicyType

type PolicyType string

PolicyType is a type of policy.

const (
	// PolicyTypeIngress is a policy that describes ingress traffic.
	PolicyTypeIngress PolicyType = "Ingress"
	// PolicyTypeEgress is a policy that describes egress traffic.
	PolicyTypeEgress PolicyType = "Egress"
)

type PrefixSource

type PrefixSource struct {
	// Value specifies a static prefix to use.
	Value *commonv1alpha1.IPPrefix
	// Ephemeral specifies a prefix by creating an ephemeral ipam.Prefix to allocate the prefix with.
	Ephemeral *EphemeralPrefixSource
}

func (*PrefixSource) DeepCopy

func (in *PrefixSource) DeepCopy() *PrefixSource

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

func (*PrefixSource) DeepCopyInto

func (in *PrefixSource) DeepCopyInto(out *PrefixSource)

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

type VirtualIP

type VirtualIP struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec   VirtualIPSpec
	Status VirtualIPStatus
}

VirtualIP is the Schema for the virtualips API

func (*VirtualIP) DeepCopy

func (in *VirtualIP) DeepCopy() *VirtualIP

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

func (*VirtualIP) DeepCopyInto

func (in *VirtualIP) DeepCopyInto(out *VirtualIP)

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

func (*VirtualIP) DeepCopyObject

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

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

type VirtualIPList

type VirtualIPList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []VirtualIP
}

VirtualIPList contains a list of VirtualIP

func (*VirtualIPList) DeepCopy

func (in *VirtualIPList) DeepCopy() *VirtualIPList

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

func (*VirtualIPList) DeepCopyInto

func (in *VirtualIPList) DeepCopyInto(out *VirtualIPList)

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

func (*VirtualIPList) DeepCopyObject

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

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

type VirtualIPSource

type VirtualIPSource struct {
	// VirtualIPRef references a VirtualIP to use.
	VirtualIPRef *corev1.LocalObjectReference
	// Ephemeral instructs to create an ephemeral (i.e. coupled to the lifetime of the surrounding object)
	// VirtualIP.
	Ephemeral *EphemeralVirtualIPSource
}

VirtualIPSource is the definition of how to obtain a VirtualIP.

func (*VirtualIPSource) DeepCopy

func (in *VirtualIPSource) DeepCopy() *VirtualIPSource

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

func (*VirtualIPSource) DeepCopyInto

func (in *VirtualIPSource) DeepCopyInto(out *VirtualIPSource)

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

type VirtualIPSpec

type VirtualIPSpec struct {
	// Type is the type of VirtualIP.
	Type VirtualIPType
	// IPFamily is the ip family of the VirtualIP.
	IPFamily corev1.IPFamily

	// TargetRef references the target for this VirtualIP (currently only NetworkInterface).
	TargetRef *commonv1alpha1.LocalUIDReference
}

VirtualIPSpec defines the desired state of VirtualIP

func (*VirtualIPSpec) DeepCopy

func (in *VirtualIPSpec) DeepCopy() *VirtualIPSpec

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

func (*VirtualIPSpec) DeepCopyInto

func (in *VirtualIPSpec) DeepCopyInto(out *VirtualIPSpec)

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

type VirtualIPStatus

type VirtualIPStatus struct {
	// IP is the allocated IP, if any.
	IP *commonv1alpha1.IP
}

VirtualIPStatus defines the observed state of VirtualIP

func (*VirtualIPStatus) DeepCopy

func (in *VirtualIPStatus) DeepCopy() *VirtualIPStatus

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

func (*VirtualIPStatus) DeepCopyInto

func (in *VirtualIPStatus) DeepCopyInto(out *VirtualIPStatus)

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

type VirtualIPTemplateSpec

type VirtualIPTemplateSpec struct {
	metav1.ObjectMeta
	Spec VirtualIPSpec
}

VirtualIPTemplateSpec is the specification of a VirtualIP template.

func (*VirtualIPTemplateSpec) DeepCopy

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

func (*VirtualIPTemplateSpec) DeepCopyInto

func (in *VirtualIPTemplateSpec) DeepCopyInto(out *VirtualIPTemplateSpec)

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

type VirtualIPType

type VirtualIPType string

VirtualIPType is a type of VirtualIP.

const (
	// VirtualIPTypePublic is a VirtualIP that allocates and routes a stable public IP.
	VirtualIPTypePublic VirtualIPType = "Public"
)

Directories

Path Synopsis
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.

Jump to

Keyboard shortcuts

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