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
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"` }
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"` // 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" )