Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 contains API Schema definitions for the networking v1alpha1 API group +kubebuilder:object:generate=true +groupName=networking.metalnet.ironcore.dev
Index ¶
- Variables
- func EqualIPPrefixes(a, b IPPrefix) bool
- func EqualIPs(a, b IP) bool
- type FirewallRule
- type FirewallRuleAction
- type FirewallRuleDirection
- type ICMPMatch
- type IP
- func (in *IP) DeepCopy() *IP
- func (in *IP) DeepCopyInto(out *IP)
- func (i IP) Family() corev1.IPFamily
- func (i IP) GomegaString() string
- func (i *IP) IsValid() bool
- func (i *IP) IsZero() bool
- func (i IP) MarshalJSON() ([]byte, error)
- func (i IP) OpenAPISchemaFormat() string
- func (i IP) OpenAPISchemaType() []string
- func (i IP) ToUnstructured() interface{}
- func (i *IP) UnmarshalJSON(b []byte) error
- type IPPrefix
- func (in *IPPrefix) DeepCopy() *IPPrefix
- func (in *IPPrefix) DeepCopyInto(out *IPPrefix)
- func (i IPPrefix) GomegaString() string
- func (i IPPrefix) IP() IP
- func (in *IPPrefix) IsValid() bool
- func (in *IPPrefix) IsZero() bool
- func (i IPPrefix) MarshalJSON() ([]byte, error)
- func (i IPPrefix) OpenAPISchemaFormat() string
- func (i IPPrefix) OpenAPISchemaType() []string
- func (i IPPrefix) ToUnstructured() interface{}
- func (i *IPPrefix) UnmarshalJSON(b []byte) error
- type LBPort
- type LoadBalancer
- type LoadBalancerList
- type LoadBalancerSpec
- type LoadBalancerState
- type LoadBalancerStatus
- type LoadBalancerType
- type LocalUIDReference
- type MeteringParameters
- type NATDetails
- type Network
- type NetworkInterface
- type NetworkInterfaceList
- type NetworkInterfaceSpec
- type NetworkInterfaceState
- type NetworkInterfaceStatus
- type NetworkList
- type NetworkPeeringState
- type NetworkPeeringStatus
- type NetworkSpec
- type NetworkStatus
- type PCIAddress
- type PeeredPrefix
- type PortMatch
- type ProtocolMatch
- type ProtocolType
- type TAPDevice
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "networking.metalnet.ironcore.dev", 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 ¶
func EqualIPPrefixes ¶
Types ¶
type FirewallRule ¶
type FirewallRule struct {
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
FirewallRuleID types.UID `json:"firewallRuleID"`
// +kubebuilder:validation:Required
Direction FirewallRuleDirection `json:"direction"`
// +kubebuilder:validation:Required
Action FirewallRuleAction `json:"action"`
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
// +kubebuilder:default=1000
Priority *int32 `json:"priority,omitempty"`
IpFamily corev1.IPFamily `json:"ipFamily"`
SourcePrefix *IPPrefix `json:"sourcePrefix,omitempty"`
DestinationPrefix *IPPrefix `json:"destinationPrefix,omitempty"`
ProtocolMatch *ProtocolMatch `json:"protocolMatch,omitempty"`
}
FirewallRule defines the desired state of FirewallRule
func (*FirewallRule) DeepCopy ¶
func (in *FirewallRule) DeepCopy() *FirewallRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRule.
func (*FirewallRule) DeepCopyInto ¶
func (in *FirewallRule) DeepCopyInto(out *FirewallRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FirewallRuleAction ¶
type FirewallRuleAction string
FirewallRuleAction is the action of the rule.
const ( // FirewallRuleActionAccept is used to accept traffic. FirewallRuleActionAccept FirewallRuleAction = "Accept" // FirewallRuleActionDeny is used to deny traffic. FirewallRuleActionDeny FirewallRuleAction = "Deny" )
Currently only Accept rules can be used.
type FirewallRuleDirection ¶
type FirewallRuleDirection string
FirewallRuleDirection is the direction of the rule.
const ( // FirewallRuleDirectionIngress is used to define rules for incoming traffic. FirewallRuleDirectionIngress FirewallRuleDirection = "Ingress" // FirewallRuleDirectionEgress is used to define rules for outgoing traffic. FirewallRuleDirectionEgress FirewallRuleDirection = "Egress" )
type ICMPMatch ¶
type ICMPMatch struct {
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=-1
// +kubebuilder:validation:Maximum=255
IcmpType *int32 `json:"icmpType"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=-1
// +kubebuilder:validation:Maximum=255
IcmpCode *int32 `json:"icmpCode"`
}
func (*ICMPMatch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ICMPMatch.
func (*ICMPMatch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IP ¶
IP is an IP address. +kubebuilder:validation:Type=string
func MustParseIP ¶
func MustParseNewIP ¶
func ParseNewIP ¶
func (*IP) DeepCopyInto ¶
func (IP) GomegaString ¶
func (IP) MarshalJSON ¶
func (IP) OpenAPISchemaFormat ¶
func (IP) OpenAPISchemaType ¶
func (IP) ToUnstructured ¶
func (i IP) ToUnstructured() interface{}
func (*IP) UnmarshalJSON ¶
type IPPrefix ¶
IPPrefix represents a network prefix. +kubebuilder:validation:Type=string +nullable
func MustParseIPPrefix ¶
func MustParseNewIPPrefix ¶
func NewIPPrefix ¶
func ParseIPPrefix ¶
func ParseNewIPPrefix ¶
func PtrToIPPrefix ¶
func (*IPPrefix) DeepCopyInto ¶
func (IPPrefix) GomegaString ¶
func (IPPrefix) MarshalJSON ¶
func (IPPrefix) OpenAPISchemaFormat ¶
func (IPPrefix) OpenAPISchemaType ¶
func (IPPrefix) ToUnstructured ¶
func (i IPPrefix) ToUnstructured() interface{}
func (*IPPrefix) UnmarshalJSON ¶
type LBPort ¶
type LBPort struct {
// +kubebuilder:validation:Required
Protocol string `json:"protocol"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port"`
}
LBPort consists of port and protocol
func (*LBPort) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LBPort.
func (*LBPort) DeepCopyInto ¶
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="Status",type=string,description="Status of the loadbalancer.",JSONPath=`.status.state`,priority=0 +kubebuilder:printcolumn:name="NodeName",type=string,description="Node the loadbalancer is running on.",JSONPath=`.spec.nodeName`,priority=0 +kubebuilder:printcolumn:name="IP",type=string,description="IP of the loadbalancer.",JSONPath=`.spec.ip`,priority=10 +kubebuilder:printcolumn:name="Type",type=string,description="Type of the loadbalancer.",JSONPath=`.spec.type`,priority=10 +kubebuilder:printcolumn:name="Age",type=date,description="Age of the loadbalancer.",JSONPath=`.metadata.creationTimestamp`,priority=0 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 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 LoadBalancerSpec ¶
type LoadBalancerSpec struct {
// NetworkRef is the Network this LoadBalancer is connected to
// +kubebuilder:validation:Required
NetworkRef corev1.LocalObjectReference `json:"networkRef"`
// Type defines whether the loadbalancer is using an internal or public ip
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=Internal;Public
LBtype LoadBalancerType `json:"type"`
// IPFamily defines which IPFamily this LoadBalancer is supporting
IPFamily corev1.IPFamily `json:"ipFamily"`
// IP is the provided IP which should be loadbalanced by this LoadBalancer
// +kubebuilder:validation:Required
IP IP `json:"ip"`
// Ports are the provided ports
// +kubebuilder:validation:MinItems=1
Ports []LBPort `json:"ports"`
// NodeName is the name of the node on which the LoadBalancer should be created.
NodeName *string `json:"nodeName,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 LoadBalancerState ¶
type LoadBalancerState string
LoadBalancerState is the binding state of a LoadBalancer.
const ( // LoadBalancerStateReady is used for any LoadBalancer that is ready. LoadBalancerStateReady LoadBalancerState = "Ready" // LoadBalancerStatePending is used for any LoadBalancer that is in an intermediate state. LoadBalancerStatePending LoadBalancerState = "Pending" // LoadBalancerStateError is used for any LoadBalancer that is some error occurred. LoadBalancerStateError LoadBalancerState = "Error" )
type LoadBalancerStatus ¶
type LoadBalancerStatus struct {
// State is the LoadBalancerState of the LoadBalancer.
State LoadBalancerState `json:"state,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 LoadBalancerType ¶
type LoadBalancerType string
LoadBalancerType is the type of a LoadBalancer.
const ( // LoadBalancerTypeInternal is used for any LoadBalancer that uses private IPs. LoadBalancerTypeInternal LoadBalancerType = "Internal" // LoadBalancerTypePublic is used for any LoadBalancer that uses public IPs. LoadBalancerTypePublic LoadBalancerType = "Public" )
type LocalUIDReference ¶
type LocalUIDReference struct {
// Name is the name of the referenced entity.
Name string `json:"name"`
// UID is the UID of the referenced entity.
// +optional
UID types.UID `json:"uid,omitempty"`
}
LocalUIDReference is a reference to another entity including its UID
func (*LocalUIDReference) DeepCopy ¶
func (in *LocalUIDReference) DeepCopy() *LocalUIDReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalUIDReference.
func (*LocalUIDReference) DeepCopyInto ¶
func (in *LocalUIDReference) DeepCopyInto(out *LocalUIDReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MeteringParameters ¶ added in v0.3.1
type MeteringParameters struct {
TotalRate *uint64 `json:"totalRate,omitempty"`
PublicRate *uint64 `json:"publicRate,omitempty"`
}
func (*MeteringParameters) DeepCopy ¶ added in v0.3.1
func (in *MeteringParameters) DeepCopy() *MeteringParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeteringParameters.
func (*MeteringParameters) DeepCopyInto ¶ added in v0.3.1
func (in *MeteringParameters) DeepCopyInto(out *MeteringParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NATDetails ¶
type NATDetails struct {
// +kubebuilder:validation:Required
IP *IP `json:"ip"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
EndPort int32 `json:"endPort"`
}
LBPort consists of port and protocol
func (*NATDetails) DeepCopy ¶
func (in *NATDetails) DeepCopy() *NATDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATDetails.
func (*NATDetails) DeepCopyInto ¶
func (in *NATDetails) DeepCopyInto(out *NATDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:Required
Spec NetworkSpec `json:"spec"`
Status NetworkStatus `json:"status,omitempty"`
}
Network is the Schema for the networks API
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Network) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NetworkInterface ¶
type NetworkInterface struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the desired state of NetworkInterface.
// +kubebuilder:validation:Required
Spec NetworkInterfaceSpec `json:"spec"`
// Status defines the observed state of NetworkInterface.
Status NetworkInterfaceStatus `json:"status,omitempty"`
}
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 `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
// Items is a list of NetworkInterface.
Items []NetworkInterface `json:"items"`
}
NetworkInterfaceList contains a list of NetworkInterface
func (*NetworkInterfaceList) DeepCopy ¶
func (in *NetworkInterfaceList) DeepCopy() *NetworkInterfaceList
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 {
// NetworkRef is the Network this NetworkInterface is connected to
// +kubebuilder:validation:Required
NetworkRef corev1.LocalObjectReference `json:"networkRef"`
// IPFamilies defines which IPFamilies this NetworkInterface is supporting
// Only one IP supported at the moment.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=2
IPFamilies []corev1.IPFamily `json:"ipFamilies"`
// IPs are the provided IPs or EphemeralIPs which should be assigned to this NetworkInterface
// Only one IP supported at the moment.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=2
IPs []IP `json:"ips"`
// Virtual IP
VirtualIP *IP `json:"virtualIP,omitempty"`
// Prefixes are the provided Prefix
Prefixes []IPPrefix `json:"prefixes,omitempty"`
// Loadbalancer Targets are the provided Prefix
LoadBalancerTargets []IPPrefix `json:"loadBalancerTargets,omitempty"`
// NATInfo is detailed information about the NAT on this interface
NAT *NATDetails `json:"nat,omitempty"`
// NodeName is the name of the node on which the interface should be created.
NodeName *string `json:"nodeName,omitempty"`
// FirewallRules are the firewall rules to be applied to this interface.
FirewallRules []FirewallRule `json:"firewallRules,omitempty"`
// MeteringRate are the metering parameters to be applied to this interface.
MeteringRate *MeteringParameters `json:"meteringRate,omitempty"`
// Hostname is the hostname which should be announced by the network interface.
Hostname *string `json:"hostname,omitempty"`
}
NetworkInterfaceSpec defines the desired state of NetworkInterface
func (*NetworkInterfaceSpec) DeepCopy ¶
func (in *NetworkInterfaceSpec) DeepCopy() *NetworkInterfaceSpec
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 binding state of a NetworkInterface.
const ( // NetworkInterfaceStateReady is used for any NetworkInterface that is ready. NetworkInterfaceStateReady NetworkInterfaceState = "Ready" // NetworkInterfaceStatePending is used for any NetworkInterface that is in an intermediate state. NetworkInterfaceStatePending NetworkInterfaceState = "Pending" // NetworkInterfaceStateError is used for any NetworkInterface that is some error occurred. NetworkInterfaceStateError NetworkInterfaceState = "Error" )
type NetworkInterfaceStatus ¶
type NetworkInterfaceStatus struct {
PCIAddress *PCIAddress `json:"pciAddress,omitempty"`
TAPDevice *TAPDevice `json:"tapDevice,omitempty"`
// VirtualIP is any virtual ip assigned to the NetworkInterface.
VirtualIP *IP `json:"virtualIP,omitempty"`
// NatIP is detailed information about the NAT on this interface
NatIP *NATDetails `json:"natIP,omitempty"`
// Prefixes are the Prefixes reserved for this NetworkInterface
Prefixes []IPPrefix `json:"prefixes,omitempty"`
// LoadBalancerTargets are the Targets reserved for this NetworkInterface
LoadBalancerTargets []IPPrefix `json:"loadBalancerTargets,omitempty"`
// State is the NetworkInterfaceState of the NetworkInterface.
State NetworkInterfaceState `json:"state,omitempty"`
}
NetworkInterfaceStatus defines the observed state of NetworkInterface
func (*NetworkInterfaceStatus) DeepCopy ¶
func (in *NetworkInterfaceStatus) DeepCopy() *NetworkInterfaceStatus
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 NetworkList ¶
type NetworkList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Network `json:"items"`
}
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 NetworkPeeringState ¶ added in v0.3.9
type NetworkPeeringState string
NetworkPeeringState is the state a NetworkPeering
const ( // NetworkPeeringStateError signals that the there was an error during network peering. NetworkPeeringStateError NetworkPeeringState = "Error" // NetworkPeeringStatePending signals that the network peering is not applied. NetworkPeeringStatePending NetworkPeeringState = "Pending" // NetworkPeeringStateReady signals that the network peering is ready. NetworkPeeringStateReady NetworkPeeringState = "Ready" )
type NetworkPeeringStatus ¶ added in v0.3.9
type NetworkPeeringStatus struct {
// +kubebuilder:validation:Maximum=16777215
// +kubebuilder:validation:Minimum=1
// ID is the ID of the peered network.
ID int32 `json:"id"`
// State represents the network peering state
State NetworkPeeringState `json:"state,omitempty"`
}
NetworkPeeringStatus is the status of a network peering.
func (*NetworkPeeringStatus) DeepCopy ¶ added in v0.3.9
func (in *NetworkPeeringStatus) DeepCopy() *NetworkPeeringStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringStatus.
func (*NetworkPeeringStatus) DeepCopyInto ¶ added in v0.3.9
func (in *NetworkPeeringStatus) DeepCopyInto(out *NetworkPeeringStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct {
// +kubebuilder:validation:Maximum=16777215
// +kubebuilder:validation:Minimum=1
// ID is the unique identifier of the Network
ID int32 `json:"id"`
// PeeredIDs are the IDs of networks to peer with.
PeeredIDs []int32 `json:"peeredIDs,omitempty"`
// PeeredPrefixes are the allowed CIDRs of the peered networks.
// +optional
// +patchMergeKey=id
// +patchStrategy=merge
// +listType=map
// +listMapKey=id
PeeredPrefixes []PeeredPrefix `json:"peeredPrefixes,omitempty" patchStrategy:"merge" patchMergeKey:"peeredPrefixes"`
}
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 NetworkStatus ¶ added in v0.3.9
type NetworkStatus struct {
// Peerings contains the states of the network peerings for the network.
Peerings []NetworkPeeringStatus `json:"peerings,omitempty"`
}
func (*NetworkStatus) DeepCopy ¶ added in v0.3.9
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶ added in v0.3.9
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PCIAddress ¶
type PCIAddress struct {
Domain string `json:"domain,omitempty"`
Bus string `json:"bus,omitempty"`
Slot string `json:"slot,omitempty"`
Function string `json:"function,omitempty"`
}
PCIAddress is a PCI address.
func (*PCIAddress) DeepCopy ¶
func (in *PCIAddress) DeepCopy() *PCIAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PCIAddress.
func (*PCIAddress) DeepCopyInto ¶
func (in *PCIAddress) DeepCopyInto(out *PCIAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeredPrefix ¶
type PeeredPrefix struct {
// +kubebuilder:validation:Maximum=16777215
// +kubebuilder:validation:Minimum=1
ID int32 `json:"id"`
Prefixes []IPPrefix `json:"prefixes"`
}
PeeredPrefix contains information of the peered networks and their allowed CIDRs.
func (*PeeredPrefix) DeepCopy ¶
func (in *PeeredPrefix) DeepCopy() *PeeredPrefix
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeredPrefix.
func (*PeeredPrefix) DeepCopyInto ¶
func (in *PeeredPrefix) DeepCopyInto(out *PeeredPrefix)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortMatch ¶
type PortMatch struct {
// +kubebuilder:validation:Minimum=-1
// +kubebuilder:validation:Maximum=65535
SrcPort *int32 `json:"srcPort,omitempty"`
// +kubebuilder:validation:Minimum=-1
// +kubebuilder:validation:Maximum=65535
EndSrcPort int32 `json:"endSrcPort,omitempty"`
// +kubebuilder:validation:Minimum=-1
// +kubebuilder:validation:Maximum=65535
DstPort *int32 `json:"dstPort,omitempty"`
// +kubebuilder:validation:Minimum=-1
// +kubebuilder:validation:Maximum=65535
EndDstPort int32 `json:"endDstPort,omitempty"`
}
func (*PortMatch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortMatch.
func (*PortMatch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProtocolMatch ¶
type ProtocolMatch struct {
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=TCP;tcp;UDP;udp;ICMP;icmp
ProtocolType *ProtocolType `json:"protocolType"`
ICMP *ICMPMatch `json:"icmp,omitempty"`
PortRange *PortMatch `json:"portRange,omitempty"`
}
func (*ProtocolMatch) DeepCopy ¶
func (in *ProtocolMatch) DeepCopy() *ProtocolMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtocolMatch.
func (*ProtocolMatch) DeepCopyInto ¶
func (in *ProtocolMatch) DeepCopyInto(out *ProtocolMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProtocolType ¶
type ProtocolType string
ProtocolType is the type for the network protocol
const ( // FirewallRuleProtocolTypeTCP is used for TCP traffic. FirewallRuleProtocolTypeTCP ProtocolType = "TCP" // FirewallRuleProtocolTypeUDP is used for UDP traffic. FirewallRuleProtocolTypeUDP ProtocolType = "UDP" // FirewallRuleProtocolTypeICMP is used for ICMP traffic. FirewallRuleProtocolTypeICMP ProtocolType = "ICMP" )
type TAPDevice ¶ added in v0.3.11
type TAPDevice struct {
Name string `json:"name,omitempty"`
}
TAPDevice is a TAP device.
func (*TAPDevice) DeepCopy ¶ added in v0.3.11
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TAPDevice.
func (*TAPDevice) DeepCopyInto ¶ added in v0.3.11
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.