Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the networking.metal.ironcore.dev v1alpha1 API group. +kubebuilder:validation:Required +kubebuilder:object:generate=true +groupName=networking.metal.ironcore.dev
SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors SPDX-License-Identifier: Apache-2.0
SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors SPDX-License-Identifier: Apache-2.0
Index ¶
- Constants
- Variables
- func RegisterManagementAccessDependency(gvk schema.GroupVersionKind)
- type ACLAction
- type ACLEntry
- type AccessControlList
- func (in *AccessControlList) DeepCopy() *AccessControlList
- func (in *AccessControlList) DeepCopyInto(out *AccessControlList)
- func (in *AccessControlList) DeepCopyObject() runtime.Object
- func (acl *AccessControlList) GetConditions() []metav1.Condition
- func (acl *AccessControlList) SetConditions(conditions []metav1.Condition)
- type AccessControlListList
- type AccessControlListSpec
- type AccessControlListStatus
- type AddressFamily
- type AddressFamilyStatus
- type AdminState
- type Aggregation
- type BGP
- type BGPAddressFamilies
- type BGPAddressFamily
- type BGPAddressFamilyType
- type BGPCommunityType
- type BGPL2vpnEvpn
- type BGPList
- type BGPMultipath
- type BGPMultipathEbgp
- type BGPMultipathIbgp
- type BGPPeer
- type BGPPeerAddressFamilies
- type BGPPeerAddressFamily
- type BGPPeerList
- type BGPPeerLocalAddress
- type BGPPeerSessionState
- type BGPPeerSpec
- type BGPPeerStatus
- type BGPRouteTargetPolicy
- type BGPSpec
- type BGPStatus
- type Banner
- type BannerList
- type BannerSpec
- type BannerStatus
- type Bootstrap
- type Certificate
- type CertificateList
- type CertificateSource
- type CertificateSpec
- type CertificateStatus
- type ConfigMapKeySelector
- type ConfigMapReference
- type ControlProtocol
- type DNS
- type DNSList
- type DNSSpec
- type DNSStatus
- type Device
- func (in *Device) DeepCopy() *Device
- func (in *Device) DeepCopyInto(out *Device)
- func (in *Device) DeepCopyObject() runtime.Object
- func (d *Device) GetConditions() []metav1.Condition
- func (d *Device) GetConfigMapRefs() []ConfigMapReference
- func (d *Device) GetSecretRefs() []SecretReference
- func (d *Device) SetConditions(conditions []metav1.Condition)
- type DeviceList
- type DevicePhase
- type DevicePort
- type DeviceSpec
- type DeviceStatus
- type Endpoint
- type GNMI
- type GRPC
- type IPPrefix
- type ISIS
- type ISISBFD
- type ISISInterface
- type ISISLevel
- type ISISList
- type ISISSpec
- type ISISStatus
- type Interface
- type InterfaceIPv4
- type InterfaceIPv4Unnumbered
- type InterfaceList
- type InterfaceSpec
- type InterfaceStatus
- type InterfaceType
- type LACPMode
- type LocalObjectReference
- type LogFacility
- type LogServer
- type ManagementAccess
- func (in *ManagementAccess) DeepCopy() *ManagementAccess
- func (in *ManagementAccess) DeepCopyInto(out *ManagementAccess)
- func (in *ManagementAccess) DeepCopyObject() runtime.Object
- func (ma *ManagementAccess) GetConditions() []metav1.Condition
- func (ma *ManagementAccess) SetConditions(conditions []metav1.Condition)
- type ManagementAccessList
- type ManagementAccessSpec
- type ManagementAccessStatus
- type MultiChassis
- type NTP
- type NTPList
- type NTPServer
- type NTPSpec
- type NTPStatus
- type NameServer
- type OSPF
- type OSPFInterface
- type OSPFList
- type OSPFNeighbor
- type OSPFNeighborState
- type OSPFSpec
- type OSPFStatus
- type OverloadBit
- type PIM
- type PIMInterface
- type PIMInterfaceMode
- type PIMList
- type PIMSpec
- type PIMStatus
- type PasswordSource
- type Protocol
- type RendezvousPoint
- type RouteTarget
- type RouteTargetAF
- type RouteTargetAction
- type SNMP
- type SNMPCommunity
- type SNMPHosts
- type SNMPList
- type SNMPSpec
- type SNMPStatus
- type SSH
- type SSHPublicKeySource
- type SecretKeySelector
- type SecretReference
- type Severity
- type Switchport
- type SwitchportMode
- type Syslog
- type SyslogList
- type SyslogSpec
- type SyslogStatus
- type TLS
- type TemplateSource
- type TypedLocalObjectReference
- type User
- type UserList
- type UserRole
- type UserSpec
- type UserStatus
- type VLAN
- type VLANList
- type VLANSpec
- type VLANState
- type VLANStatus
- type VRF
- type VRFList
- type VRFSpec
- type VRFStatus
Constants ¶
const ( // ReadyCondition is the top-level status condition that reports if an object is ready. // This condition indicates whether the resource is ready to be used and will // be calculated by the controller based on child conditions, if present. ReadyCondition = "Ready" // ConfiguredCondition indicates whether the resource has been successfully configured. // This condition indicates whether the desired configuration has been applied to the device // (i.e., all necessary API calls succeeded). ConfiguredCondition = "Configured" // OperationalCondition indicates whether the resource is operational. // This condition indicates whether the resource is in a state that allows it to function as // intended (e.g., a interface is up). It corresponds to the "oper-status" commonly found // in the OpenConfig models (or "operSt" on Cisco). OperationalCondition = "Operational" )
Condition types that are used across different objects.
const ( // ReadyReason indicates that the resource is ready for use. ReadyReason = "Ready" // NotReadyReason indicates that the resource is not ready for use. NotReadyReason = "NotReady" // ReconcilePendingReason indicates that the controller is waiting for resources to be reconciled. ReconcilePendingReason = "ReconcilePending" // NotImplementedReason indicates that the provider does not implement the required functionality // to support the resource. NotImplementedReason = "NotImplemented" // ProvisioningReason indicates that the resource is being provisioned. ProvisioningReason = "Provisioning" // ConfiguredReason indicates that the resource has been successfully configured. ConfiguredReason = "Configured" // OperationalReason indicates that the resource is operational. OperationalReason = "Operational" // DegradedReason indicates that the resource is in a degraded state. DegradedReason = "Degraded" // ErrorReason indicates that an error occurred while reconciling the resource. ErrorReason = "Error" // WaitingForDependenciesReason indicates that the resource is waiting for its dependencies to be ready. WaitingForDependenciesReason = "WaitingForDependencies" )
Reasons that are used across different objects.
const ( // InterfaceNotFoundReason indicates that a referenced interface was not found. InterfaceNotFoundReason = "InterfaceNotFound" // InvalidInterfaceTypeReason indicates that a referenced interface is not of the expected type. InvalidInterfaceTypeReason = "InvalidInterfaceType" // CrossDeviceReferenceReason indicates that a referenced interface belongs to a different device. CrossDeviceReferenceReason = "CrossDeviceReference" // MemberInterfaceAlreadyInUseReason indicates that a member interface is already part of another aggregate. MemberInterfaceAlreadyInUseReason = "MemberInterfaceAlreadyInUse" )
Reasons that are specific to Interface objects.
const AggregateLabel = "networking.metal.ironcore.dev/aggregate-name"
AggregateLabel is a label applied to member interfaces to indicate the name of the aggregate interface they belong to.
const DeviceKind = "Device"
DeviceKind represents the Kind of Device.
const DeviceLabel = "networking.metal.ironcore.dev/device-name"
DeviceLabel is a label applied to any Network API object to indicate the device it is associated with. This label is used by controllers to filter and manage resources based on the device they are intended for.
const FinalizerName = "networking.metal.ironcore.dev/finalizer"
FinalizerName is the identifier used by the controllers to perform cleanup before a resource is deleted. It is added when the resource is created and ensures that the controller can handle teardown logic (e.g., deleting external dependencies) before Kubernetes finalizes the deletion.
const WatchLabel = "networking.metal.ironcore.dev/watch-filter"
WatchLabel is a label that can be applied to any Network API object.
Controllers which allow for selective reconciliation may check this label and proceed with reconciliation of the object only if this label and a configured value is present.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "networking.metal.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 )
var (
ManagementAccessDependencies []schema.GroupVersionKind
)
Functions ¶
func RegisterManagementAccessDependency ¶
func RegisterManagementAccessDependency(gvk schema.GroupVersionKind)
Types ¶
type ACLAction ¶
type ACLAction string
ACLAction represents the type of action that can be taken by an ACL rule. +kubebuilder:validation:Enum=Permit;Deny
type ACLEntry ¶
type ACLEntry struct {
// The sequence number of the ACL entry.
// +required
// +kubebuilder:validation:Minimum=1
Sequence int32 `json:"sequence"`
// The forwarding action of the ACL entry.
// +required
Action ACLAction `json:"action"`
// The protocol to match. If not specified, defaults to "IP".
// Available options are: ICMP, IP, OSPF, PIM, TCP, UDP.
// +optional
// +kubebuilder:default=IP
Protocol Protocol `json:"protocol"`
// Source IP address prefix. Can be IPv4 or IPv6.
// Use 0.0.0.0/0 (::/0) to represent 'any'.
// +required
SourceAddress IPPrefix `json:"sourceAddress"`
// Destination IP address prefix. Can be IPv4 or IPv6.
// Use 0.0.0.0/0 (::/0) to represent 'any'.
// +required
DestinationAddress IPPrefix `json:"destinationAddress"`
// Description provides a human-readable description of the ACL entry.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Description string `json:"description,omitempty"`
}
func (*ACLEntry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ACLEntry.
func (*ACLEntry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlList ¶
type AccessControlList struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec AccessControlListSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status AccessControlListStatus `json:"status,omitempty,omitzero"`
}
AccessControlList is the Schema for the accesscontrollists API
func (*AccessControlList) DeepCopy ¶
func (in *AccessControlList) DeepCopy() *AccessControlList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlList.
func (*AccessControlList) DeepCopyInto ¶
func (in *AccessControlList) DeepCopyInto(out *AccessControlList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlList) DeepCopyObject ¶
func (in *AccessControlList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AccessControlList) GetConditions ¶
func (acl *AccessControlList) GetConditions() []metav1.Condition
GetConditions implements conditions.Getter.
func (*AccessControlList) SetConditions ¶
func (acl *AccessControlList) SetConditions(conditions []metav1.Condition)
SetConditions implements conditions.Setter.
type AccessControlListList ¶
type AccessControlListList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AccessControlList `json:"items"`
}
AccessControlListList contains a list of AccessControlList
func (*AccessControlListList) DeepCopy ¶
func (in *AccessControlListList) DeepCopy() *AccessControlListList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlListList.
func (*AccessControlListList) DeepCopyInto ¶
func (in *AccessControlListList) DeepCopyInto(out *AccessControlListList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlListList) DeepCopyObject ¶
func (in *AccessControlListList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlListSpec ¶
type AccessControlListSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the AccessControlList to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Name is the indentifier of the AccessControlList on the device.
// Immutable.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Name is immutable"
Name string `json:"name"`
// A list of rules/entries to apply.
// +required
// +listType=map
// +listMapKey=sequence
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=100
Entries []ACLEntry `json:"entries"`
}
AccessControlListSpec defines the desired state of AccessControlList
func (*AccessControlListSpec) DeepCopy ¶
func (in *AccessControlListSpec) DeepCopy() *AccessControlListSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlListSpec.
func (*AccessControlListSpec) DeepCopyInto ¶
func (in *AccessControlListSpec) DeepCopyInto(out *AccessControlListSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlListStatus ¶
type AccessControlListStatus struct {
// The conditions are a list of status objects that describe the state of the AccessControlList.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
AccessControlListStatus defines the observed state of AccessControlList.
func (*AccessControlListStatus) DeepCopy ¶
func (in *AccessControlListStatus) DeepCopy() *AccessControlListStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlListStatus.
func (*AccessControlListStatus) DeepCopyInto ¶
func (in *AccessControlListStatus) DeepCopyInto(out *AccessControlListStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddressFamily ¶
type AddressFamily string
AddressFamily represents the address family of an ISIS instance. +kubebuilder:validation:Enum=IPv4Unicast;IPv6Unicast
const ( AddressFamilyIPv4Unicast AddressFamily = "IPv4Unicast" AddressFamilyIPv6Unicast AddressFamily = "IPv6Unicast" )
type AddressFamilyStatus ¶
type AddressFamilyStatus struct {
// AfiSafi identifies the address family and subsequent address family.
// +required
AfiSafi BGPAddressFamilyType `json:"afiSafi"`
// AcceptedPrefixes is the number of prefixes received from the peer that have passed the inbound policy
// and are stored in the neighbor-specific table (Adj-RIB-In).
// +kubebuilder:validation:Minimum=0
// +optional
AcceptedPrefixes int64 `json:"acceptedPrefixes,omitempty"`
// AdvertisedPrefixes is the number of prefixes currently being advertised to the peer after passing
// the outbound policy. This reflects the state of the outbound routing table for the peer (Adj-RIB-Out).
// +kubebuilder:validation:Minimum=0
// +optional
AdvertisedPrefixes int64 `json:"advertisedPrefixes,omitempty"`
}
AddressFamilyStatus defines the prefix exchange statistics for a single address family (e.g., IPv4-Unicast).
func (*AddressFamilyStatus) DeepCopy ¶
func (in *AddressFamilyStatus) DeepCopy() *AddressFamilyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressFamilyStatus.
func (*AddressFamilyStatus) DeepCopyInto ¶
func (in *AddressFamilyStatus) DeepCopyInto(out *AddressFamilyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdminState ¶
type AdminState string
AdminState represents the administrative state of the interface. +kubebuilder:validation:Enum=Up;Down
const ( // AdminStateUp indicates that the interface is administratively set up. AdminStateUp AdminState = "Up" // AdminStateDown indicates that the interface is administratively set down. AdminStateDown AdminState = "Down" )
type Aggregation ¶
type Aggregation struct {
// MemberInterfaceRefs is a list of interface references that are part of the aggregate interface.
// +required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=32
MemberInterfaceRefs []LocalObjectReference `json:"memberInterfaceRefs"`
// ControlProtocol defines the lacp configuration for the aggregate interface.
// +optional
// +kubebuilder:default={mode: Active}
ControlProtocol ControlProtocol `json:"controlProtocol"`
// Multichassis defines the multichassis configuration for the aggregate interface.
// +optional
MultiChassis *MultiChassis `json:"multichassis,omitempty"`
}
func (*Aggregation) DeepCopy ¶
func (in *Aggregation) DeepCopy() *Aggregation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Aggregation.
func (*Aggregation) DeepCopyInto ¶
func (in *Aggregation) DeepCopyInto(out *Aggregation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGP ¶
type BGP struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec BGPSpec `json:"spec"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status BGPStatus `json:"status,omitempty,omitzero"`
}
BGP is the Schema for the bgp API
func (*BGP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGP.
func (*BGP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGP) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BGP) GetConditions ¶
GetConditions implements conditions.Getter.
func (*BGP) SetConditions ¶
SetConditions implements conditions.Setter.
type BGPAddressFamilies ¶
type BGPAddressFamilies struct {
// Ipv4Unicast configures IPv4 unicast address family support.
// Enables exchange of IPv4 unicast routes between BGP peers.
// +optional
Ipv4Unicast *BGPAddressFamily `json:"ipv4Unicast,omitempty"`
// Ipv6Unicast configures IPv6 unicast address family support.
// Enables exchange of IPv6 unicast routes between BGP peers.
// +optional
Ipv6Unicast *BGPAddressFamily `json:"ipv6Unicast,omitempty"`
// L2vpnEvpn configures L2VPN EVPN address family support.
// Enables exchange of Ethernet VPN routes for overlay network services.
// +optional
L2vpnEvpn *BGPL2vpnEvpn `json:"l2vpnEvpn,omitempty"`
}
BGPAddressFamilies defines the configuration for supported BGP address families.
func (*BGPAddressFamilies) DeepCopy ¶
func (in *BGPAddressFamilies) DeepCopy() *BGPAddressFamilies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAddressFamilies.
func (*BGPAddressFamilies) DeepCopyInto ¶
func (in *BGPAddressFamilies) DeepCopyInto(out *BGPAddressFamilies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPAddressFamily ¶
type BGPAddressFamily struct {
// Enabled determines whether this address family is activated for BGP sessions.
// When false, the address family is not negotiated with peers.
// +optional
Enabled bool `json:"enabled,omitempty"`
// Multipath configures address family specific multipath behavior.
// When specified, overrides global multipath settings for this address family.
// +optional
Multipath *BGPMultipath `json:"multipath,omitempty"`
}
BGPAddressFamily defines common configuration for a BGP address family.
func (*BGPAddressFamily) DeepCopy ¶
func (in *BGPAddressFamily) DeepCopy() *BGPAddressFamily
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAddressFamily.
func (*BGPAddressFamily) DeepCopyInto ¶
func (in *BGPAddressFamily) DeepCopyInto(out *BGPAddressFamily)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPAddressFamilyType ¶
type BGPAddressFamilyType string
BGPAddressFamilyType represents the BGP address family identifier (AFI/SAFI combination). +kubebuilder:validation:Enum=IPv4Unicast;IPv6Unicast;L2vpnEvpn
const ( // BGPAddressFamilyIpv4Unicast represents the IPv4 Unicast address family (AFI=1, SAFI=1). BGPAddressFamilyIpv4Unicast BGPAddressFamilyType = "IPv4Unicast" // BGPAddressFamilyIpv6Unicast represents the IPv6 Unicast address family (AFI=2, SAFI=1). BGPAddressFamilyIpv6Unicast BGPAddressFamilyType = "IPv6Unicast" // BGPAddressFamilyL2vpnEvpn represents the L2VPN EVPN address family (AFI=25, SAFI=70). BGPAddressFamilyL2vpnEvpn BGPAddressFamilyType = "L2vpnEvpn" )
type BGPCommunityType ¶
type BGPCommunityType string
BGPCommunityType represents the type of BGP community attributes that can be sent to peers. +kubebuilder:validation:Enum=Standard;Extended;Both
const ( // BGPCommunityTypeStandard sends only standard community attributes (RFC 1997) BGPCommunityTypeStandard BGPCommunityType = "Standard" // BGPCommunityTypeExtended sends only extended community attributes (RFC 4360) BGPCommunityTypeExtended BGPCommunityType = "Extended" // BGPCommunityTypeBoth sends both standard and extended community attributes BGPCommunityTypeBoth BGPCommunityType = "Both" )
type BGPL2vpnEvpn ¶
type BGPL2vpnEvpn struct {
BGPAddressFamily `json:",inline"`
// RouteTargetPolicy configures route target filtering behavior for EVPN routes.
// Controls which routes are retained based on route target matching.
// +optional
RouteTargetPolicy *BGPRouteTargetPolicy `json:"routeTargetPolicy,omitempty"`
}
BGPL2vpnEvpn defines the configuration for L2VPN EVPN address family.
func (*BGPL2vpnEvpn) DeepCopy ¶
func (in *BGPL2vpnEvpn) DeepCopy() *BGPL2vpnEvpn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPL2vpnEvpn.
func (*BGPL2vpnEvpn) DeepCopyInto ¶
func (in *BGPL2vpnEvpn) DeepCopyInto(out *BGPL2vpnEvpn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPList ¶
type BGPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BGP `json:"items"`
}
BGPList contains a list of BGP
func (*BGPList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPList.
func (*BGPList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BGPMultipath ¶
type BGPMultipath struct {
// Enabled determines whether BGP is allowed to use multiple paths for forwarding.
// When false, BGP will only use a single best path regardless of multiple equal-cost paths.
// +optional
Enabled bool `json:"enabled,omitempty"`
// Ebgp configures multipath behavior for external BGP (eBGP) paths.
// +optional
Ebgp *BGPMultipathEbgp `json:"ebgp,omitempty"`
// Ibgp configures multipath behavior for internal BGP (iBGP) paths.
// +optional
Ibgp *BGPMultipathIbgp `json:"ibgp,omitempty"`
}
BGPMultipath defines the configuration for BGP multipath behavior.
func (*BGPMultipath) DeepCopy ¶
func (in *BGPMultipath) DeepCopy() *BGPMultipath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMultipath.
func (*BGPMultipath) DeepCopyInto ¶
func (in *BGPMultipath) DeepCopyInto(out *BGPMultipath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPMultipathEbgp ¶
type BGPMultipathEbgp struct {
// AllowMultipleAs enables the use of multiple paths with different AS paths for eBGP.
// When true, relaxes the requirement that multipath candidates must have identical AS paths.
// This corresponds to the "RelaxAs" mode.
// +optional
AllowMultipleAs bool `json:"allowMultipleAs,omitempty"`
// MaximumPaths sets the maximum number of eBGP paths that can be used for multipath load balancing.
// Valid range is 1-64 when specified. When omitted, no explicit limit is configured.
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=64
MaximumPaths int8 `json:"maximumPaths,omitempty"`
}
BGPMultipathEbgp defines the configuration for eBGP multipath behavior.
func (*BGPMultipathEbgp) DeepCopy ¶
func (in *BGPMultipathEbgp) DeepCopy() *BGPMultipathEbgp
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMultipathEbgp.
func (*BGPMultipathEbgp) DeepCopyInto ¶
func (in *BGPMultipathEbgp) DeepCopyInto(out *BGPMultipathEbgp)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPMultipathIbgp ¶
type BGPMultipathIbgp struct {
// MaximumPaths sets the maximum number of iBGP paths that can be used for multipath load balancing.
// Valid range is 1-64 when specified. When omitted, no explicit limit is configured.
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=64
MaximumPaths int8 `json:"maximumPaths,omitempty"`
}
BGPMultipathIbgp defines the configuration for iBGP multipath behavior.
func (*BGPMultipathIbgp) DeepCopy ¶
func (in *BGPMultipathIbgp) DeepCopy() *BGPMultipathIbgp
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMultipathIbgp.
func (*BGPMultipathIbgp) DeepCopyInto ¶
func (in *BGPMultipathIbgp) DeepCopyInto(out *BGPMultipathIbgp)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeer ¶
type BGPPeer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec BGPPeerSpec `json:"spec"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status BGPPeerStatus `json:"status,omitempty,omitzero"`
}
BGPPeer is the Schema for the bgppeers API
func (*BGPPeer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeer.
func (*BGPPeer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPPeer) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BGPPeer) GetConditions ¶
GetConditions implements conditions.Getter.
func (*BGPPeer) SetConditions ¶
SetConditions implements conditions.Setter.
type BGPPeerAddressFamilies ¶
type BGPPeerAddressFamilies struct {
// Ipv4Unicast configures IPv4 unicast address family settings for this peer.
// Controls IPv4 unicast route exchange and peer-specific behavior.
// +optional
Ipv4Unicast *BGPPeerAddressFamily `json:"ipv4Unicast,omitempty"`
// Ipv6Unicast configures IPv6 unicast address family settings for this peer.
// Controls IPv6 unicast route exchange and peer-specific behavior.
// +optional
Ipv6Unicast *BGPPeerAddressFamily `json:"ipv6Unicast,omitempty"`
// L2vpnEvpn configures L2VPN EVPN address family settings for this peer.
// Controls EVPN route exchange and peer-specific behavior.
// +optional
L2vpnEvpn *BGPPeerAddressFamily `json:"l2vpnEvpn,omitempty"`
}
BGPPeerAddressFamilies defines the address family specific configuration for a BGP peer.
func (*BGPPeerAddressFamilies) DeepCopy ¶
func (in *BGPPeerAddressFamilies) DeepCopy() *BGPPeerAddressFamilies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerAddressFamilies.
func (*BGPPeerAddressFamilies) DeepCopyInto ¶
func (in *BGPPeerAddressFamilies) DeepCopyInto(out *BGPPeerAddressFamilies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeerAddressFamily ¶
type BGPPeerAddressFamily struct {
// Enabled determines whether this address family is activated for this specific peer.
// When false, the address family is not negotiated with this peer.
// Defaults to false.
// +optional
Enabled bool `json:"enabled,omitempty"`
// SendCommunity specifies which community attributes should be sent to this BGP peer
// for this address family. If not specified, no community attributes are sent.
// +optional
SendCommunity BGPCommunityType `json:"sendCommunity,omitempty"`
// RouteReflectorClient indicates whether this peer should be treated as a route reflector client
// for this specific address family. Defaults to false.
// +optional
RouteReflectorClient bool `json:"routeReflectorClient,omitempty"`
}
BGPPeerAddressFamily defines common configuration for a BGP peer's address family.
func (*BGPPeerAddressFamily) DeepCopy ¶
func (in *BGPPeerAddressFamily) DeepCopy() *BGPPeerAddressFamily
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerAddressFamily.
func (*BGPPeerAddressFamily) DeepCopyInto ¶
func (in *BGPPeerAddressFamily) DeepCopyInto(out *BGPPeerAddressFamily)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeerList ¶
type BGPPeerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BGPPeer `json:"items"`
}
BGPPeerList contains a list of BGPPeer
func (*BGPPeerList) DeepCopy ¶
func (in *BGPPeerList) DeepCopy() *BGPPeerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerList.
func (*BGPPeerList) DeepCopyInto ¶
func (in *BGPPeerList) DeepCopyInto(out *BGPPeerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPPeerList) DeepCopyObject ¶
func (in *BGPPeerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BGPPeerLocalAddress ¶
type BGPPeerLocalAddress struct {
// InterfaceRef is a reference to an Interface resource whose IP address will be used
// as the source address for BGP packets sent to this peer.
// The Interface object must exist in the same namespace.
// +required
InterfaceRef LocalObjectReference `json:"interfaceRef,omitempty"`
}
BGPPeerLocalAddress defines the local address configuration for a BGP peer.
func (*BGPPeerLocalAddress) DeepCopy ¶
func (in *BGPPeerLocalAddress) DeepCopy() *BGPPeerLocalAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerLocalAddress.
func (*BGPPeerLocalAddress) DeepCopyInto ¶
func (in *BGPPeerLocalAddress) DeepCopyInto(out *BGPPeerLocalAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeerSessionState ¶
type BGPPeerSessionState string
BGPPeerSessionState represents the operational state of a BGP peer session. +kubebuilder:validation:Enum=Idle;Connect;Active;OpenSent;OpenConfirm;Established;Unknown
const ( // BGPPeerSessionStateIdle indicates the peer is down and in the idle state of the FSM. BGPPeerSessionStateIdle BGPPeerSessionState = "Idle" // BGPPeerSessionStateConnect indicates the peer is down and the session is waiting for // the underlying transport session to be established. BGPPeerSessionStateConnect BGPPeerSessionState = "Connect" // BGPPeerSessionStateActive indicates the peer is down and the local system is awaiting // a connection from the remote peer. BGPPeerSessionStateActive BGPPeerSessionState = "Active" // BGPPeerSessionStateOpenSent indicates the peer is in the process of being established. // The local system has sent an OPEN message. BGPPeerSessionStateOpenSent BGPPeerSessionState = "OpenSent" // BGPPeerSessionStateOpenConfirm indicates the peer is in the process of being established. // The local system is awaiting a NOTIFICATION or KEEPALIVE message. BGPPeerSessionStateOpenConfirm BGPPeerSessionState = "OpenConfirm" // BGPPeerSessionStateEstablished indicates the peer is up - the BGP session with the peer is established. BGPPeerSessionStateEstablished BGPPeerSessionState = "Established" // BGPPeerSessionStateUnknown indicates the peer state is unknown. BGPPeerSessionStateUnknown BGPPeerSessionState = "Unknown" )
type BGPPeerSpec ¶
type BGPPeerSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the BGP to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Address is the IPv4 address of the BGP peer.
// +required
// +kubebuilder:validation:Format=ipv4
Address string `json:"address"`
// ASNumber is the autonomous system number (ASN) of the BGP peer.
// Supports both plain format (1-4294967295) and dotted notation (1-65535.0-65535) as per RFC 5396.
// +required
ASNumber intstr.IntOrString `json:"asNumber"`
// Description is an optional human-readable description for this BGP peer.
// This field is used for documentation purposes and may be displayed in management interfaces.
// +optional
Description string `json:"description,omitempty"`
// LocalAddress specifies the local address configuration for the BGP session with this peer.
// This determines the source address/interface for BGP packets sent to this peer.
// +optional
LocalAddress *BGPPeerLocalAddress `json:"localAddress,omitempty"`
// AddressFamilies configures address family specific settings for this BGP peer.
// Controls which address families are enabled and their specific configuration.
// +optional
AddressFamilies *BGPPeerAddressFamilies `json:"addressFamilies,omitempty"`
}
BGPPeerSpec defines the desired state of BGPPeer
func (*BGPPeerSpec) DeepCopy ¶
func (in *BGPPeerSpec) DeepCopy() *BGPPeerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerSpec.
func (*BGPPeerSpec) DeepCopyInto ¶
func (in *BGPPeerSpec) DeepCopyInto(out *BGPPeerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeerStatus ¶
type BGPPeerStatus struct {
// SessionState is the current operational state of the BGP session.
// +optional
SessionState BGPPeerSessionState `json:"sessionState,omitempty"`
// LastEstablishedTime is the timestamp when the BGP session last transitioned to the ESTABLISHED state.
// A frequently changing timestamp indicates session instability (flapping).
// +optional
LastEstablishedTime *metav1.Time `json:"lastEstablishedTime,omitempty"`
// AdvertisedPrefixesSummary provides a human-readable summary of advertised prefixes
// across all address families (e.g., "10 (IPv4Unicast), 5 (IPv6Unicast)").
// This field is computed by the controller from the AddressFamilies field.
// +optional
AdvertisedPrefixesSummary string `json:"advertisedPrefixesSummary,omitempty"`
// AddressFamilies contains per-address-family statistics for this peer.
// Only address families that are enabled and negotiated with the peer are included.
// +optional
// +listType=map
// +listMapKey=afiSafi
// +patchStrategy=merge
// +patchMergeKey=afiSafi
AddressFamilies []AddressFamilyStatus `json:"addressFamilies,omitempty"`
// ObservedGeneration reflects the .metadata.generation that was last processed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// The conditions are a list of status objects that describe the state of the BGP.
// +listType=map
// +listMapKey=type
// +patchStrategy=merge
// +patchMergeKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
BGPPeerStatus defines the observed state of BGPPeer.
func (*BGPPeerStatus) DeepCopy ¶
func (in *BGPPeerStatus) DeepCopy() *BGPPeerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerStatus.
func (*BGPPeerStatus) DeepCopyInto ¶
func (in *BGPPeerStatus) DeepCopyInto(out *BGPPeerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPRouteTargetPolicy ¶
type BGPRouteTargetPolicy struct {
// RetainAll controls whether all route targets are retained regardless of import policy.
// +optional
RetainAll bool `json:"retainAll,omitempty"`
}
BGPRouteTargetPolicy defines the policy for route target filtering in EVPN.
func (*BGPRouteTargetPolicy) DeepCopy ¶
func (in *BGPRouteTargetPolicy) DeepCopy() *BGPRouteTargetPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPRouteTargetPolicy.
func (*BGPRouteTargetPolicy) DeepCopyInto ¶
func (in *BGPRouteTargetPolicy) DeepCopyInto(out *BGPRouteTargetPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPSpec ¶
type BGPSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the BGP to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// ASNumber is the autonomous system number (ASN) for the BGP router.
// Supports both plain format (1-4294967295) and dotted notation (1-65535.0-65535) as per RFC 5396.
// +required
ASNumber intstr.IntOrString `json:"asNumber"`
// RouterID is the BGP router identifier, used in BGP messages to identify the originating router.
// Follows dotted quad notation (IPv4 format).
// +required
// +kubebuilder:validation:Format=ipv4
RouterID string `json:"routerId"`
// AddressFamilies configures supported BGP address families and their specific settings.
// +optional
AddressFamilies *BGPAddressFamilies `json:"addressFamilies,omitempty"`
}
BGPSpec defines the desired state of BGP
func (*BGPSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPSpec.
func (*BGPSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPStatus ¶
type BGPStatus struct {
// The conditions are a list of status objects that describe the state of the BGP.
// +listType=map
// +listMapKey=type
// +patchStrategy=merge
// +patchMergeKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
BGPStatus defines the observed state of BGP.
func (*BGPStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPStatus.
func (*BGPStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Banner ¶
type Banner struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec BannerSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status BannerStatus `json:"status,omitempty,omitzero"`
}
Banner is the Schema for the banners API
func (*Banner) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Banner.
func (*Banner) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Banner) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Banner) GetConditions ¶
GetConditions implements conditions.Getter.
func (*Banner) SetConditions ¶
SetConditions implements conditions.Setter.
type BannerList ¶
type BannerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Banner `json:"items"`
}
BannerList contains a list of Banner
func (*BannerList) DeepCopy ¶
func (in *BannerList) DeepCopy() *BannerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BannerList.
func (*BannerList) DeepCopyInto ¶
func (in *BannerList) DeepCopyInto(out *BannerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BannerList) DeepCopyObject ¶
func (in *BannerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BannerSpec ¶
type BannerSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Banner to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Pre-Login banner to display on login.
// +required
Message TemplateSource `json:"message"`
}
BannerSpec defines the desired state of Banner
func (*BannerSpec) DeepCopy ¶
func (in *BannerSpec) DeepCopy() *BannerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BannerSpec.
func (*BannerSpec) DeepCopyInto ¶
func (in *BannerSpec) DeepCopyInto(out *BannerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BannerStatus ¶
type BannerStatus struct {
// The conditions are a list of status objects that describe the state of the Banner.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
BannerStatus defines the observed state of Banner.
func (*BannerStatus) DeepCopy ¶
func (in *BannerStatus) DeepCopy() *BannerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BannerStatus.
func (*BannerStatus) DeepCopyInto ¶
func (in *BannerStatus) DeepCopyInto(out *BannerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Bootstrap ¶
type Bootstrap struct {
// Template defines the multiline string template that contains the initial configuration for the device.
// +required
Template TemplateSource `json:"template"`
}
Bootstrap defines the configuration for device bootstrap.
func (*Bootstrap) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bootstrap.
func (*Bootstrap) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Certificate ¶
type Certificate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec CertificateSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status CertificateStatus `json:"status,omitempty,omitzero"`
}
Certificate is the Schema for the certificates API
func (*Certificate) DeepCopy ¶
func (in *Certificate) DeepCopy() *Certificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Certificate.
func (*Certificate) DeepCopyInto ¶
func (in *Certificate) DeepCopyInto(out *Certificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Certificate) DeepCopyObject ¶
func (in *Certificate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Certificate) GetConditions ¶
func (cert *Certificate) GetConditions() []metav1.Condition
GetConditions implements conditions.Getter.
func (*Certificate) SetConditions ¶
func (cert *Certificate) SetConditions(conditions []metav1.Condition)
SetConditions implements conditions.Setter.
type CertificateList ¶
type CertificateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Certificate `json:"items"`
}
CertificateList contains a list of Certificate
func (*CertificateList) DeepCopy ¶
func (in *CertificateList) DeepCopy() *CertificateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateList.
func (*CertificateList) DeepCopyInto ¶
func (in *CertificateList) DeepCopyInto(out *CertificateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CertificateList) DeepCopyObject ¶
func (in *CertificateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CertificateSource ¶
type CertificateSource struct {
// Secret containing the certificate.
// The secret must be of type kubernetes.io/tls and as such contain the following keys: 'tls.crt' and 'tls.key'.
// +required
SecretRef SecretReference `json:"secretRef,omitempty"`
}
CertificateSource represents a source for the value of a certificate.
func (*CertificateSource) DeepCopy ¶
func (in *CertificateSource) DeepCopy() *CertificateSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSource.
func (*CertificateSource) DeepCopyInto ¶
func (in *CertificateSource) DeepCopyInto(out *CertificateSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateSpec ¶
type CertificateSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Certificate to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// The certificate management id.
// Immutable.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ID is immutable"
ID string `json:"id"`
// Secret containing the certificate source.
// The secret must be of type kubernetes.io/tls and as such contain the following keys: 'tls.crt' and 'tls.key'.
// +required
SecretRef SecretReference `json:"secretRef"`
}
CertificateSpec defines the desired state of Certificate
func (*CertificateSpec) DeepCopy ¶
func (in *CertificateSpec) DeepCopy() *CertificateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSpec.
func (*CertificateSpec) DeepCopyInto ¶
func (in *CertificateSpec) DeepCopyInto(out *CertificateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateStatus ¶
type CertificateStatus struct {
// The conditions are a list of status objects that describe the state of the Certificate.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
CertificateStatus defines the observed state of Certificate.
func (*CertificateStatus) DeepCopy ¶
func (in *CertificateStatus) DeepCopy() *CertificateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateStatus.
func (*CertificateStatus) DeepCopyInto ¶
func (in *CertificateStatus) DeepCopyInto(out *CertificateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapKeySelector ¶
type ConfigMapKeySelector struct {
// Name of the configmap resource being referred to.
ConfigMapReference `json:",inline"`
// Key is the of the entry in the configmap resource's `data` or `binaryData`
// field to be used.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Key string `json:"key"`
}
ConfigMapKeySelector contains enough information to select a key of a ConfigMap. +structType=atomic
func (*ConfigMapKeySelector) DeepCopy ¶
func (in *ConfigMapKeySelector) DeepCopy() *ConfigMapKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapKeySelector.
func (*ConfigMapKeySelector) DeepCopyInto ¶
func (in *ConfigMapKeySelector) DeepCopyInto(out *ConfigMapKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapReference ¶
type ConfigMapReference struct {
// Name is unique within a namespace to reference a configmap resource.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Name string `json:"name"`
// Namespace defines the space within which the configmap name must be unique.
// If omitted, the namespace of the object being reconciled will be used.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Namespace string `json:"namespace,omitempty"`
}
ConfigMapReference represents a ConfigMap Reference. It has enough information to retrieve a ConfigMap in any namespace. +structType=atomic
func (*ConfigMapReference) DeepCopy ¶
func (in *ConfigMapReference) DeepCopy() *ConfigMapReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapReference.
func (*ConfigMapReference) DeepCopyInto ¶
func (in *ConfigMapReference) DeepCopyInto(out *ConfigMapReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlProtocol ¶
type ControlProtocol struct {
// Mode defines the LACP mode for the aggregate interface.
// +required
Mode LACPMode `json:"mode"`
}
func (*ControlProtocol) DeepCopy ¶
func (in *ControlProtocol) DeepCopy() *ControlProtocol
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlProtocol.
func (*ControlProtocol) DeepCopyInto ¶
func (in *ControlProtocol) DeepCopyInto(out *ControlProtocol)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNS ¶
type DNS struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec DNSSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status DNSStatus `json:"status,omitempty,omitzero"`
}
DNS is the Schema for the dns API
func (*DNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.
func (*DNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNS) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DNS) GetConditions ¶
GetConditions implements conditions.Getter.
func (*DNS) SetConditions ¶
SetConditions implements conditions.Setter.
type DNSList ¶
type DNSList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNS `json:"items"`
}
DNSList contains a list of DNS
func (*DNSList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSList.
func (*DNSList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSSpec ¶
type DNSSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the DNS to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Default domain name that the device uses to complete unqualified hostnames.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:Format=hostname
Domain string `json:"domain"`
// A list of DNS servers to use for address resolution.
// +optional
// +listType=map
// +listMapKey=address
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=6
Servers []NameServer `json:"servers,omitempty"`
// Source interface for all DNS traffic.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
SourceInterfaceName string `json:"sourceInterfaceName,omitempty"`
}
DNSSpec defines the desired state of DNS
func (*DNSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSpec.
func (*DNSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSStatus ¶
type DNSStatus struct {
// The conditions are a list of status objects that describe the state of the DNS.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
DNSStatus defines the observed state of DNS.
func (*DNSStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSStatus.
func (*DNSStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Device ¶
type Device struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Spec DeviceSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Status DeviceStatus `json:"status,omitempty"`
}
Device is the Schema for the devices API.
func (*Device) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.
func (*Device) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Device) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Device) GetConditions ¶
GetConditions implements conditions.Getter.
func (*Device) GetConfigMapRefs ¶
func (d *Device) GetConfigMapRefs() []ConfigMapReference
GetConfigMapRefs returns the list of configmaps referenced in the Device resource.
func (*Device) GetSecretRefs ¶
func (d *Device) GetSecretRefs() []SecretReference
GetSecretRefs returns the list of secrets referenced in the Device resource.
func (*Device) SetConditions ¶
SetConditions implements conditions.Setter.
type DeviceList ¶
type DeviceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Device `json:"items"`
}
DeviceList contains a list of Device.
func (*DeviceList) DeepCopy ¶
func (in *DeviceList) DeepCopy() *DeviceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceList.
func (*DeviceList) DeepCopyInto ¶
func (in *DeviceList) DeepCopyInto(out *DeviceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeviceList) DeepCopyObject ¶
func (in *DeviceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevicePhase ¶
type DevicePhase string
DevicePhase represents the current phase of the Device as it's being provisioned and managed by the operator. +kubebuilder:validation:Enum=Pending;Provisioning;Active;Failed
const ( // DevicePhasePending indicates that the device is pending and has not yet been provisioned. DevicePhasePending DevicePhase = "Pending" // DevicePhaseProvisioning indicates that the device is being provisioned. DevicePhaseProvisioning DevicePhase = "Provisioning" // DevicePhaseActive indicates that the device has been successfully provisioned and is now ready for use. DevicePhaseActive DevicePhase = "Active" // DevicePhaseFailed indicates that the device provisioning has failed. DevicePhaseFailed DevicePhase = "Failed" )
type DevicePort ¶
type DevicePort struct {
// Name is the name of the port.
// +required
Name string `json:"name"`
// Type is the type of the port, e.g. "10g".
// +optional
Type string `json:"type,omitempty"`
// SupportedSpeedsGbps is the list of supported speeds in Gbps for this port.
// +optional
SupportedSpeedsGbps []int32 `json:"supportedSpeedsGbps,omitempty"`
// Transceiver is the type of transceiver plugged into the port, if any.
// +optional
Trasceiver string `json:"transceiver,omitempty"`
// InterfaceRef is the reference to the corresponding Interface resource
// configuring this port, if any.
// +optional
InterfaceRef *LocalObjectReference `json:"interfaceName,omitzero"`
}
func (*DevicePort) DeepCopy ¶
func (in *DevicePort) DeepCopy() *DevicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePort.
func (*DevicePort) DeepCopyInto ¶
func (in *DevicePort) DeepCopyInto(out *DevicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpec ¶
type DeviceSpec struct {
// Endpoint contains the connection information for the device.
// +required
Endpoint Endpoint `json:"endpoint"`
// Bootstrap is an optional configuration for the device bootstrap process.
// It can be used to provide initial configuration templates or scripts that are applied during the device provisioning.
// +optional
Bootstrap *Bootstrap `json:"bootstrap,omitempty"`
}
DeviceSpec defines the desired state of Device.
func (*DeviceSpec) DeepCopy ¶
func (in *DeviceSpec) DeepCopy() *DeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpec.
func (*DeviceSpec) DeepCopyInto ¶
func (in *DeviceSpec) DeepCopyInto(out *DeviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceStatus ¶
type DeviceStatus struct {
// Phase represents the current phase of the Device.
// +kubebuilder:default=Pending
// +required
Phase DevicePhase `json:"phase,omitempty"`
// Manufacturer is the manufacturer of the Device.
// +optional
Manufacturer string `json:"manufacturer,omitempty"`
// Model is the model identifier of the Device.
// +optional
Model string `json:"model,omitempty"`
// SerialNumber is the serial number of the Device.
// +optional
SerialNumber string `json:"serialNumber,omitempty"`
// FirmwareVersion is the firmware version running on the Device.
// +optional
FirmwareVersion string `json:"firmwareVersion,omitempty"`
// Ports is the list of ports on the Device.
// +optional
Ports []DevicePort `json:"ports,omitempty"`
// PostSummary shows a summary of the port configured, grouped by type, e.g. "1/4 (10g), 3/64 (100g)".
// +optional
PostSummary string `json:"portSummary,omitempty"`
// The conditions are a list of status objects that describe the state of the Device.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}
DeviceStatus defines the observed state of Device.
func (*DeviceStatus) DeepCopy ¶
func (in *DeviceStatus) DeepCopy() *DeviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceStatus.
func (*DeviceStatus) DeepCopyInto ¶
func (in *DeviceStatus) DeepCopyInto(out *DeviceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct {
// Address is the management address of the device provided as <ip:port>.
// +kubebuilder:validation:Pattern=`^(\d{1,3}\.){3}\d{1,3}:\d{1,5}$`
// +required
Address string `json:"address"`
// SecretRef is name of the authentication secret for the device containing the username and password.
// The secret must be of type kubernetes.io/basic-auth and as such contain the following keys: 'username' and 'password'.
// +optional
SecretRef *SecretReference `json:"secretRef,omitempty"`
// Transport credentials for grpc connection to the switch.
// +optional
TLS *TLS `json:"tls,omitempty"`
}
Endpoint contains the connection information for the device. +kubebuilder:validation:XValidation:rule="!has(oldSelf.secretRef) || has(self.secretRef)", message="SecretRef is required once set"
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GNMI ¶
type GNMI struct {
// The maximum number of concurrent gNMI calls that can be made to the gRPC server on the switch for each VRF.
// Configure a limit from 1 through 16. The default limit is 8.
// +optional
// +kubebuilder:default=8
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=16
// +kubebuilder:validation:ExclusiveMaximum=false
MaxConcurrentCall int8 `json:"maxConcurrentCall"`
// Configure the keepalive timeout for inactive or unauthorized connections.
// The gRPC agent is expected to periodically send an empty response to the client, on which the client is expected to respond with an empty request.
// If the client does not respond within the keepalive timeout, the gRPC agent should close the connection.
// The default interval value is 10 minutes.
// +optional
// +kubebuilder:default="10m"
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
KeepAliveTimeout metav1.Duration `json:"keepAliveTimeout"`
}
func (*GNMI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GNMI.
func (*GNMI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPC ¶
type GRPC struct {
// Enable or disable the gRPC server on the device.
// If not specified, the gRPC server is enabled by default.
// +optional
// +kubebuilder:default=true
Enabled bool `json:"enabled"`
// The TCP port on which the gRPC server should listen.
// The range of port-id is from 1024 to 65535.
// Port 9339 is the default.
// +optional
// +kubebuilder:default=9339
// +kubebuilder:validation:Minimum=1024
// +kubebuilder:validation:Maximum=65535
// +kubebuilder:validation:ExclusiveMaximum=false
Port int32 `json:"port"`
// Name of the certificate that is associated with the gRPC service.
// The certificate is provisioned through other interfaces on the device,
// such as e.g. the gNOI certificate management service.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
CertificateID string `json:"certificateId,omitempty"`
// Enable the gRPC agent to accept incoming (dial-in) RPC requests from a given vrf.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
VrfName string `json:"vrfName"`
// Additional gNMI configuration for the gRPC server.
// This may not be supported by all devices.
// +optional
// +kubebuilder:default={maxConcurrentCall:8, keepAliveTimeout:"10m"}
GNMI GNMI `json:"gnmi,omitzero"`
}
func (*GRPC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPC.
func (*GRPC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPPrefix ¶
IPPrefix represents an IP prefix in CIDR notation. It is used to define a range of IP addresses in a network.
+kubebuilder:validation:Type=string +kubebuilder:validation:Format=cidr +kubebuilder:validation:Example="192.168.1.0/24" +kubebuilder:validation:Example="2001:db8::/32" +kubebuilder:object:generate=false
func MustParsePrefix ¶
func ParsePrefix ¶
func (*IPPrefix) DeepCopyInto ¶
DeepCopyInto copies all properties of this object into another object of the same type
func (IPPrefix) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*IPPrefix) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type ISIS ¶
type ISIS struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec ISISSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status ISISStatus `json:"status,omitempty,omitzero"`
}
ISIS is the Schema for the isis API
func (*ISIS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISIS.
func (*ISIS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ISIS) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ISIS) GetConditions ¶
GetConditions implements conditions.Getter.
func (*ISIS) SetConditions ¶
SetConditions implements conditions.Setter.
type ISISBFD ¶
type ISISBFD struct {
// Enabled indicates whether BFD is enabled on the interface.
// +optional
// +kubebuilder:default=false
Enabled bool `json:"enabled"`
}
func (*ISISBFD) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISISBFD.
func (*ISISBFD) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ISISInterface ¶
type ISISInterface struct {
// Ref is a reference to the interface object.
// The interface object must exist in the same namespace.
// +required
Ref LocalObjectReference `json:"ref"`
// BFD contains BFD configuration for the interface.
// +optional
// +kubebuilder:default={}
BFD ISISBFD `json:"bfd,omitzero"`
}
func (*ISISInterface) DeepCopy ¶
func (in *ISISInterface) DeepCopy() *ISISInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISISInterface.
func (*ISISInterface) DeepCopyInto ¶
func (in *ISISInterface) DeepCopyInto(out *ISISInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ISISLevel ¶
type ISISLevel string
ISISLevel represents the level of an ISIS instance. +kubebuilder:validation:Enum=Level1;Level2;Level1-2
type ISISList ¶
type ISISList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ISIS `json:"items"`
}
ISISList contains a list of ISIS
func (*ISISList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISISList.
func (*ISISList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ISISList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ISISSpec ¶
type ISISSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Interface to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Instance is the name of the ISIS instance.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Instance is immutable"
Instance string `json:"instance"`
// NetworkEntityTitle is the NET of the ISIS instance.
// +required
// +kubebuilder:validation:Pattern=`^[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}$`
NetworkEntityTitle string `json:"networkEntityTitle"`
// Type indicates the level of the ISIS instance.
// +required
Type ISISLevel `json:"type"`
// OverloadBit indicates the overload bit of the ISIS instance.
// +optional
// +kubebuilder:default=Never
OverloadBit OverloadBit `json:"overloadBit,omitempty"`
// AddressFamilies is a list of address families for the ISIS instance.
// +required
// +listType=set
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=2
AddressFamilies []AddressFamily `json:"addressFamilies"`
// Interfaces is a list of interfaces that are part of the ISIS instance.
// +optional
// +listType=atomic
Interfaces []ISISInterface `json:"interfaces,omitempty"`
}
ISISSpec defines the desired state of ISIS
func (*ISISSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISISSpec.
func (*ISISSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ISISStatus ¶
type ISISStatus struct {
// The conditions are a list of status objects that describe the state of the ISIS.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ISISStatus defines the observed state of ISIS.
func (*ISISStatus) DeepCopy ¶
func (in *ISISStatus) DeepCopy() *ISISStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISISStatus.
func (*ISISStatus) DeepCopyInto ¶
func (in *ISISStatus) DeepCopyInto(out *ISISStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Interface ¶
type Interface struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec InterfaceSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status InterfaceStatus `json:"status,omitempty,omitzero"`
}
Interface is the Schema for the interfaces API.
func (*Interface) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.
func (*Interface) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Interface) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Interface) GetConditions ¶
GetConditions implements conditions.Getter.
func (*Interface) SetConditions ¶
SetConditions implements conditions.Setter.
type InterfaceIPv4 ¶
type InterfaceIPv4 struct {
// Addresses defines the list of IPv4 addresses assigned to the interface.
// The first address in the list is considered the primary address,
// and any additional addresses are considered secondary addresses.
// +optional
// +listType=atomic
// +kubebuilder:validation:MinItems=1
Addresses []IPPrefix `json:"addresses,omitempty"`
// Unnumbered defines the unnumbered interface configuration.
// When specified, the interface borrows the IP address from another interface.
// +optional
Unnumbered *InterfaceIPv4Unnumbered `json:"unnumbered,omitempty"`
}
InterfaceIPv4 defines the IPv4 configuration for an interface. +kubebuilder:validation:XValidation:rule="!has(self.addresses) || !has(self.unnumbered)", message="addresses and unnumbered are mutually exclusive"
func (*InterfaceIPv4) DeepCopy ¶
func (in *InterfaceIPv4) DeepCopy() *InterfaceIPv4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceIPv4.
func (*InterfaceIPv4) DeepCopyInto ¶
func (in *InterfaceIPv4) DeepCopyInto(out *InterfaceIPv4)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceIPv4Unnumbered ¶
type InterfaceIPv4Unnumbered struct {
// InterfaceRef is a reference to the interface from which to borrow the IP address.
// The referenced interface must exist and have at least one IPv4 address configured.
// +required
InterfaceRef LocalObjectReference `json:"interfaceRef"`
}
InterfaceIPv4Unnumbered defines the unnumbered interface configuration. An unnumbered interface borrows the IP address from another interface, allowing the interface to function without its own IP address assignment.
func (*InterfaceIPv4Unnumbered) DeepCopy ¶
func (in *InterfaceIPv4Unnumbered) DeepCopy() *InterfaceIPv4Unnumbered
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceIPv4Unnumbered.
func (*InterfaceIPv4Unnumbered) DeepCopyInto ¶
func (in *InterfaceIPv4Unnumbered) DeepCopyInto(out *InterfaceIPv4Unnumbered)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceList ¶
type InterfaceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Interface `json:"items"`
}
InterfaceList contains a list of Interface.
func (*InterfaceList) DeepCopy ¶
func (in *InterfaceList) DeepCopy() *InterfaceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceList.
func (*InterfaceList) DeepCopyInto ¶
func (in *InterfaceList) DeepCopyInto(out *InterfaceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InterfaceList) DeepCopyObject ¶
func (in *InterfaceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InterfaceSpec ¶
type InterfaceSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Interface to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Name is the name of the interface.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=255
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Name is immutable"
Name string `json:"name"`
// AdminState indicates whether the interface is administratively up or down.
// +required
AdminState AdminState `json:"adminState"`
// Description provides a human-readable description of the interface.
// +optional
// +kubebuilder:validation:MaxLength=255
Description string `json:"description,omitempty"`
// Type indicates the type of the interface.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Type is immutable"
Type InterfaceType `json:"type"`
// MTU (Maximum Transmission Unit) specifies the size of the largest packet that can be sent over the interface.
// +optional
// +kubebuilder:validation:Minimum=576
// +kubebuilder:validation:Maximum=9216
MTU int32 `json:"mtu,omitempty"`
// Switchport defines the switchport configuration for the interface.
// This is only applicable for Ethernet and Aggregate interfaces.
// +optional
Switchport *Switchport `json:"switchport,omitempty"`
// IPv4 defines the IPv4 configuration for the interface.
// +optional
IPv4 *InterfaceIPv4 `json:"ipv4,omitempty"`
// Aggregation defines the aggregation (bundle) configuration for the interface.
// This is only applicable for interfaces of type Aggregate.
// +optional
Aggregation *Aggregation `json:"aggregation,omitempty"`
}
InterfaceSpec defines the desired state of Interface. +kubebuilder:validation:XValidation:rule="!has(self.switchport) || !has(self.ipv4)", message="switchport and ipv4 are mutually exclusive" +kubebuilder:validation:XValidation:rule="self.type != 'Loopback' || !has(self.switchport)", message="switchport must not be specified for interfaces of type Loopback" +kubebuilder:validation:XValidation:rule="self.type == 'Physical' || !has(self.ipv4) || !has(self.ipv4.unnumbered)", message="unnumbered ipv4 configuration can only be used for interfaces of type Physical" +kubebuilder:validation:XValidation:rule="self.type != 'Aggregate' || has(self.aggregation)", message="aggregation must be specified for interfaces of type Aggregate" +kubebuilder:validation:XValidation:rule="self.type == 'Aggregate' || !has(self.aggregation)", message="aggregation must only be specified on interfaces of type Aggregate" +kubebuilder:validation:XValidation:rule="self.type != 'Aggregate' || !has(self.ipv4)", message="ipv4 must not be specified for interfaces of type Aggregate"
func (*InterfaceSpec) DeepCopy ¶
func (in *InterfaceSpec) DeepCopy() *InterfaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSpec.
func (*InterfaceSpec) DeepCopyInto ¶
func (in *InterfaceSpec) DeepCopyInto(out *InterfaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceStatus ¶
type InterfaceStatus struct {
// The conditions are a list of status objects that describe the state of the Interface.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// MemberOf references the aggregate interface this interface is a member of, if any.
// This field only applies to physical interfaces that are part of an aggregate interface.
// +optional
MemberOf *LocalObjectReference `json:"memberOf,omitempty"`
}
InterfaceStatus defines the observed state of Interface.
func (*InterfaceStatus) DeepCopy ¶
func (in *InterfaceStatus) DeepCopy() *InterfaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceStatus.
func (*InterfaceStatus) DeepCopyInto ¶
func (in *InterfaceStatus) DeepCopyInto(out *InterfaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceType ¶
type InterfaceType string
InterfaceType represents the type of the interface. +kubebuilder:validation:Enum=Physical;Loopback;Aggregate
const ( // InterfaceTypePhysical indicates that the interface is a physical/ethernet interface. InterfaceTypePhysical InterfaceType = "Physical" // InterfaceTypeLoopback indicates that the interface is a loopback interface. InterfaceTypeLoopback InterfaceType = "Loopback" // InterfaceTypeAggregate indicates that the interface is an aggregate (bundle) interface. InterfaceTypeAggregate InterfaceType = "Aggregate" )
type LACPMode ¶
type LACPMode string
LACPMode represents the LACP mode of an interface. +kubebuilder:validation:Enum=Active;Passive
type LocalObjectReference ¶
type LocalObjectReference struct {
// Name of the referent.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
LocalObjectReference contains enough information to locate a referenced object inside the same namespace. +structType=atomic
func (*LocalObjectReference) DeepCopy ¶
func (in *LocalObjectReference) DeepCopy() *LocalObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.
func (*LocalObjectReference) DeepCopyInto ¶
func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogFacility ¶
type LogFacility struct {
// The name of the log facility.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
// The severity level of the log messages for this facility.
// +required
Severity Severity `json:"severity"`
}
func (*LogFacility) DeepCopy ¶
func (in *LogFacility) DeepCopy() *LogFacility
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogFacility.
func (*LogFacility) DeepCopyInto ¶
func (in *LogFacility) DeepCopyInto(out *LogFacility)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogServer ¶
type LogServer struct {
// IP address or hostname of the remote log server
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Address string `json:"address"`
// The servity level of the log messages sent to the server.
// +required
Severity Severity `json:"severity"`
// The name of the vrf used to reach the log server.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
VrfName string `json:"vrfName"`
// The destination port number for syslog UDP messages to
// the server. The default is 514.
// +optional
// +kubebuilder:default=514
Port int32 `json:"port"`
}
func (*LogServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogServer.
func (*LogServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagementAccess ¶
type ManagementAccess struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec ManagementAccessSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status ManagementAccessStatus `json:"status,omitempty,omitzero"`
}
ManagementAccess is the Schema for the managementaccesses API
func (*ManagementAccess) DeepCopy ¶
func (in *ManagementAccess) DeepCopy() *ManagementAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementAccess.
func (*ManagementAccess) DeepCopyInto ¶
func (in *ManagementAccess) DeepCopyInto(out *ManagementAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagementAccess) DeepCopyObject ¶
func (in *ManagementAccess) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ManagementAccess) GetConditions ¶
func (ma *ManagementAccess) GetConditions() []metav1.Condition
GetConditions implements conditions.Getter.
func (*ManagementAccess) SetConditions ¶
func (ma *ManagementAccess) SetConditions(conditions []metav1.Condition)
SetConditions implements conditions.Setter.
type ManagementAccessList ¶
type ManagementAccessList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ManagementAccess `json:"items"`
}
ManagementAccessList contains a list of ManagementAccess
func (*ManagementAccessList) DeepCopy ¶
func (in *ManagementAccessList) DeepCopy() *ManagementAccessList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementAccessList.
func (*ManagementAccessList) DeepCopyInto ¶
func (in *ManagementAccessList) DeepCopyInto(out *ManagementAccessList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagementAccessList) DeepCopyObject ¶
func (in *ManagementAccessList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagementAccessSpec ¶
type ManagementAccessSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Interface to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Configuration for the gRPC server on the device.
// Currently, only a single "default" gRPC server is supported.
// +optional
// +kubebuilder:default={enabled:true, port:9339}
GRPC GRPC `json:"grpc,omitzero"`
// Configuration for the SSH server on the device.
// +optional
// +kubebuilder:default={enabled:true, timeout:"10m", sessionLimit:32}
SSH SSH `json:"ssh,omitzero"`
}
ManagementAccessSpec defines the desired state of ManagementAccess
func (*ManagementAccessSpec) DeepCopy ¶
func (in *ManagementAccessSpec) DeepCopy() *ManagementAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementAccessSpec.
func (*ManagementAccessSpec) DeepCopyInto ¶
func (in *ManagementAccessSpec) DeepCopyInto(out *ManagementAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagementAccessStatus ¶
type ManagementAccessStatus struct {
// The conditions are a list of status objects that describe the state of the ManagementAccess.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ManagementAccessStatus defines the observed state of ManagementAccess.
func (*ManagementAccessStatus) DeepCopy ¶
func (in *ManagementAccessStatus) DeepCopy() *ManagementAccessStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementAccessStatus.
func (*ManagementAccessStatus) DeepCopyInto ¶
func (in *ManagementAccessStatus) DeepCopyInto(out *ManagementAccessStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiChassis ¶
type MultiChassis struct {
// Enabled indicates whether the aggregate interface is part of a multichassis setup.
// +required
// +kubebuilder:default=true
Enabled bool `json:"enabled"`
// ID is the multichassis identifier.
// +required
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=4094
ID int16 `json:"id"`
}
func (*MultiChassis) DeepCopy ¶
func (in *MultiChassis) DeepCopy() *MultiChassis
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiChassis.
func (*MultiChassis) DeepCopyInto ¶
func (in *MultiChassis) DeepCopyInto(out *MultiChassis)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NTP ¶
type NTP struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec NTPSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status NTPStatus `json:"status,omitempty,omitzero"`
}
NTP is the Schema for the ntp API
func (*NTP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTP.
func (*NTP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NTP) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NTP) GetConditions ¶
GetConditions implements conditions.Getter.
func (*NTP) SetConditions ¶
SetConditions implements conditions.Setter.
type NTPList ¶
type NTPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NTP `json:"items"`
}
NTPList contains a list of NTP
func (*NTPList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTPList.
func (*NTPList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NTPList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NTPServer ¶
type NTPServer struct {
// Hostname/IP address of the NTP server.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Address string `json:"address"`
// Indicates whether this server should be preferred or not.
// +optional
// +kubebuilder:default=false
Prefer bool `json:"prefer,omitempty"`
// The name of the vrf used to communicate with the NTP server.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
VrfName string `json:"vrfName,omitempty"`
}
func (*NTPServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTPServer.
func (*NTPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NTPSpec ¶
type NTPSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the NTP to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Source interface for all NTP traffic.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
SourceInterfaceName string `json:"sourceInterfaceName"`
// NTP servers.
// +required
// +listType=map
// +listMapKey=address
// +kubebuilder:validation:MinItems=1
Servers []NTPServer `json:"servers"`
}
NTPSpec defines the desired state of NTP
func (*NTPSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTPSpec.
func (*NTPSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NTPStatus ¶
type NTPStatus struct {
// The conditions are a list of status objects that describe the state of the NTP.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
NTPStatus defines the observed state of NTP.
func (*NTPStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTPStatus.
func (*NTPStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NameServer ¶
type NameServer struct {
// The Hostname or IP address of the DNS server.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Address string `json:"address"`
// The name of the vrf used to communicate with the DNS server.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
VrfName string `json:"vrfName,omitempty"`
}
func (*NameServer) DeepCopy ¶
func (in *NameServer) DeepCopy() *NameServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NameServer.
func (*NameServer) DeepCopyInto ¶
func (in *NameServer) DeepCopyInto(out *NameServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSPF ¶
type OSPF struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec OSPFSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status OSPFStatus `json:"status,omitempty,omitzero"`
}
OSPF is the Schema for the ospf API
func (*OSPF) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPF.
func (*OSPF) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSPF) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*OSPF) GetConditions ¶
GetConditions implements conditions.Getter.
func (*OSPF) SetConditions ¶
SetConditions implements conditions.Setter.
type OSPFInterface ¶
type OSPFInterface struct {
LocalObjectReference `json:",inline"`
// Area is the OSPF area identifier for this interface.
// Must be specified in dotted-quad notation (e.g., "0.0.0.0" for the backbone area).
// This is semantically a 32-bit identifier displayed in IPv4 address format,
// not an actual IPv4 address. Area 0 (0.0.0.0) is the OSPF backbone area and
// is required for proper OSPF operation in multi-area configurations.
// +required
// +kubebuilder:validation:Format=ipv4
Area string `json:"area"`
// Passive indicates whether this interface should operate in passive mode.
// In passive mode, OSPF will advertise the interface's network in LSAs but will not
// send or receive OSPF protocol packets (Hello, LSU, etc.) on this interface.
// This is typically used for loopback interfaces where OSPF adjacencies
// should not be formed but the network should still be advertised.
// Defaults to false (active mode).
// +optional
Passive *bool `json:"passive,omitempty"`
}
OSPFInterface defines the OSPF-specific configuration for an interface that is participating in an OSPF instance.
func (*OSPFInterface) DeepCopy ¶
func (in *OSPFInterface) DeepCopy() *OSPFInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPFInterface.
func (*OSPFInterface) DeepCopyInto ¶
func (in *OSPFInterface) DeepCopyInto(out *OSPFInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSPFList ¶
type OSPFList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []OSPF `json:"items"`
}
OSPFList contains a list of OSPF
func (*OSPFList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPFList.
func (*OSPFList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSPFList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OSPFNeighbor ¶
type OSPFNeighbor struct {
// RouterID is the router identifier of the remote OSPF neighbor.
// +required
RouterID string `json:"routerId"`
// Address is the IP address of the remote OSPF neighbor.
// +required
Address string `json:"address"`
// InterfaceRef is a reference to the local interface through which this neighbor is connected.
// +required
InterfaceRef LocalObjectReference `json:"interfaceRef"`
// Priority is the remote system's priority to become the designated router.
// Valid range is 0-255.
// +optional
Priority *uint8 `json:"priority,omitempty"`
// LastEstablishedTime is the timestamp when the adjacency last transitioned to the FULL state.
// A frequently changing timestamp indicates adjacency instability (flapping).
// +optional
LastEstablishedTime *metav1.Time `json:"lastEstablishedTime,omitempty"`
// AdjacencyState is the current state of the adjacency with this neighbor.
// +optional
AdjacencyState OSPFNeighborState `json:"adjacencyState,omitempty"`
}
OSPFNeighbor represents an OSPF neighbor with its adjacency information.
func (*OSPFNeighbor) DeepCopy ¶
func (in *OSPFNeighbor) DeepCopy() *OSPFNeighbor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPFNeighbor.
func (*OSPFNeighbor) DeepCopyInto ¶
func (in *OSPFNeighbor) DeepCopyInto(out *OSPFNeighbor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSPFNeighborState ¶
type OSPFNeighborState string
OSPFNeighborState represents the state of an OSPF adjacency as defined in RFC 2328. +kubebuilder:validation:Enum=Down;Attempt;Init;TwoWay;ExStart;Exchange;Loading;Full
const ( // OSPFNeighborStateUnknown indicates an unknown or undefined state. OSPFNeighborStateUnknown OSPFNeighborState = "Unknown" // OSPFNeighborStateDown indicates the initial state of a neighbor. // No recent information has been received from the neighbor. OSPFNeighborStateDown OSPFNeighborState = "Down" // OSPFNeighborStateAttempt is only valid for neighbors on NBMA networks. // It indicates that no recent information has been received but effort should be made to contact the neighbor. OSPFNeighborStateAttempt OSPFNeighborState = "Attempt" // OSPFNeighborStateInit indicates a Hello packet has been received from the neighbor // but bidirectional communication has not yet been established. OSPFNeighborStateInit OSPFNeighborState = "Init" // OSPFNeighborStateTwoWay indicates bidirectional communication has been established. // This is the most advanced state short of forming an adjacency. OSPFNeighborStateTwoWay OSPFNeighborState = "TwoWay" // OSPFNeighborStateExStart indicates the first step in creating an adjacency. // The routers are determining the relationship and initial DD sequence number. OSPFNeighborStateExStart OSPFNeighborState = "ExStart" // OSPFNeighborStateExchange indicates the routers are exchanging Database Description packets. OSPFNeighborStateExchange OSPFNeighborState = "Exchange" // OSPFNeighborStateLoading indicates Link State Request packets are being sent to the neighbor // to obtain more recent LSAs that were discovered during the Exchange state. OSPFNeighborStateLoading OSPFNeighborState = "Loading" // OSPFNeighborStateFull indicates the neighboring routers are fully adjacent. // LSDBs are synchronized and the adjacency will appear in Router and Network LSAs. OSPFNeighborStateFull OSPFNeighborState = "Full" )
type OSPFSpec ¶
type OSPFSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Interface to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Instance is the process tag of the OSPF instance.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Instance is immutable"
Instance string `json:"instance"`
// RouterID is the OSPF router identifier, used in OSPF messages to identify the originating router.
// Follows dotted quad notation (IPv4 format).
// +required
// +kubebuilder:validation:Format=ipv4
RouterID string `json:"routerId"`
// LogAdjacencyChanges enables logging when the state of an OSPF neighbor changes.
// When true, a log message is generated for adjacency state transitions.
// +optional
LogAdjacencyChanges *bool `json:"logAdjacencyChanges,omitempty"`
// InterfaceRefs is a list of interfaces that are part of the OSPF instance.
// +optional
// +listType=atomic
// +kubebuilder:validation:MinItems=1
InterfaceRefs []OSPFInterface `json:"interfaceRefs,omitempty"`
}
OSPFSpec defines the desired state of OSPF
func (*OSPFSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPFSpec.
func (*OSPFSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSPFStatus ¶
type OSPFStatus struct {
// AdjacencySummary provides a human-readable summary of neighbor adjacencies
// by state (e.g., "3 Full, 1 ExStart, 1 Down").
// This field is computed by the controller from the Neighbors field.
// +optional
AdjacencySummary string `json:"adjacencySummary,omitempty"`
// ObservedGeneration reflects the .metadata.generation that was last processed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Neighbors is a list of OSPF neighbors and their adjacency states.
// +optional
// +listType=map
// +listMapKey=routerId
// +patchStrategy=merge
// +patchMergeKey=routerId
Neighbors []OSPFNeighbor `json:"neighbors,omitempty"`
// The conditions are a list of status objects that describe the state of the OSPF.
// +listType=map
// +listMapKey=type
// +patchStrategy=merge
// +patchMergeKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
OSPFStatus defines the observed state of OSPF.
func (*OSPFStatus) DeepCopy ¶
func (in *OSPFStatus) DeepCopy() *OSPFStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPFStatus.
func (*OSPFStatus) DeepCopyInto ¶
func (in *OSPFStatus) DeepCopyInto(out *OSPFStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverloadBit ¶
type OverloadBit string
OverloadBit represents the overload bit of an ISIS instance. +kubebuilder:validation:Enum=Always;Never;OnStartup
const ( OverloadBitAlways OverloadBit = "Always" OverloadBitNever OverloadBit = "Never" OverloadBitOnStartup OverloadBit = "OnStartup" )
type PIM ¶
type PIM struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec PIMSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status PIMStatus `json:"status,omitempty,omitzero"`
}
PIM is the Schema for the pim API
func (*PIM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PIM.
func (*PIM) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PIM) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PIM) GetConditions ¶
GetConditions implements conditions.Getter.
func (*PIM) SetConditions ¶
SetConditions implements conditions.Setter.
type PIMInterface ¶
type PIMInterface struct {
LocalObjectReference `json:",inline"`
// Mode is the PIM mode to use when delivering multicast traffic via this interface.
// +optional
// +kubebuilder:default=Sparse
Mode PIMInterfaceMode `json:"mode"`
}
func (*PIMInterface) DeepCopy ¶
func (in *PIMInterface) DeepCopy() *PIMInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PIMInterface.
func (*PIMInterface) DeepCopyInto ¶
func (in *PIMInterface) DeepCopyInto(out *PIMInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PIMInterfaceMode ¶
type PIMInterfaceMode string
PIMInterfaceMode represents the mode of a PIM interface. +kubebuilder:validation:Enum=Sparse;Dense
const ( PIMModeSparse PIMInterfaceMode = "Sparse" PIMModeDense PIMInterfaceMode = "Dense" )
type PIMList ¶
type PIMList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PIM `json:"items"`
}
PIMList contains a list of PIM
func (*PIMList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PIMList.
func (*PIMList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PIMList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PIMSpec ¶
type PIMSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the PIM to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// RendezvousPoints defines the list of rendezvous points for sparse mode multicast.
// +optional
// +listType=map
// +listMapKey=address
// +kubebuilder:validation:MinItems=1
RendezvousPoints []RendezvousPoint `json:"rendezvousPoints,omitempty"`
// InterfaceRefs is a list of interfaces that are part of the PIM instance.
// +optional
// +listType=atomic
// +kubebuilder:validation:MinItems=1
InterfaceRefs []PIMInterface `json:"interfaceRefs,omitempty"`
}
PIMSpec defines the desired state of PIM
func (*PIMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PIMSpec.
func (*PIMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PIMStatus ¶
type PIMStatus struct {
// The conditions are a list of status objects that describe the state of the PIM.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
PIMStatus defines the observed state of PIM.
func (*PIMStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PIMStatus.
func (*PIMStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PasswordSource ¶
type PasswordSource struct {
// Selects a key of a secret.
// +required
SecretKeyRef SecretKeySelector `json:"secretKeyRef"`
}
PasswordSource represents a source for the value of a password.
func (*PasswordSource) DeepCopy ¶
func (in *PasswordSource) DeepCopy() *PasswordSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PasswordSource.
func (*PasswordSource) DeepCopyInto ¶
func (in *PasswordSource) DeepCopyInto(out *PasswordSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Protocol ¶
type Protocol string
Protocol represents the protocol type for an ACL entry. +kubebuilder:validation:Enum=ICMP;IP;OSPF;PIM;TCP;UDP
type RendezvousPoint ¶
type RendezvousPoint struct {
// Address is the IPv4 address of the rendezvous point.
// +required
// +kubebuilder:validation:Format=ipv4
Address string `json:"address"`
// MulticastGroups defined the list of multicast IPv4 address ranges associated with the rendezvous point.
// If not specified, the rendezvous point will be used for all multicast groups.
// +optional
MulticastGroups []IPPrefix `json:"multicastGroups,omitempty"`
// AnycastAddresses is a list of redundant anycast ipv4 addresses associated with the rendezvous point.
// +optional
// +listType=set
// +kubebuilder:validation:items:Format=ipv4
AnycastAddresses []string `json:"anycastAddresses,omitempty"`
}
func (*RendezvousPoint) DeepCopy ¶
func (in *RendezvousPoint) DeepCopy() *RendezvousPoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RendezvousPoint.
func (*RendezvousPoint) DeepCopyInto ¶
func (in *RendezvousPoint) DeepCopyInto(out *RendezvousPoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteTarget ¶
type RouteTarget struct {
// Value is the route target value, must have the format as VRFSpec.RouteDistinguisher. Validation via
// admission webhook.
//
// +required
Value string `json:"value"`
// AddressFamilies is the list of address families for the route target.
// +required
// +listType=set
// +kubebuilder:validation:MinItems=1
AddressFamilies []RouteTargetAF `json:"addressFamilies,omitempty"`
// Action defines whether the route target is imported, exported, or both
// +required
Action RouteTargetAction `json:"action"`
}
func (*RouteTarget) DeepCopy ¶
func (in *RouteTarget) DeepCopy() *RouteTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTarget.
func (*RouteTarget) DeepCopyInto ¶
func (in *RouteTarget) DeepCopyInto(out *RouteTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteTargetAF ¶
type RouteTargetAF string
RouteTargetAF represents a supported address family value. +kubebuilder:validation:Enum=IPv4;IPv6;IPv4EVPN;IPv6EVPN
const ( IPv4 RouteTargetAF = "IPv4" IPv6 RouteTargetAF = "IPv6" IPv4EVPN RouteTargetAF = "IPv4EVPN" IPv6EVPN RouteTargetAF = "IPv6EVPN" )
type RouteTargetAction ¶
type RouteTargetAction string
RouteTargetAction represents the action for a route target. +kubebuilder:validation:Enum=Import;Export;Both
const ( RouteTargetActionImport RouteTargetAction = "Import" RouteTargetActionExport RouteTargetAction = "Export" RouteTargetActionBoth RouteTargetAction = "Both" )
type SNMP ¶
type SNMP struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec SNMPSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status SNMPStatus `json:"status,omitempty,omitzero"`
}
SNMP is the Schema for the snmp API
func (*SNMP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SNMP.
func (*SNMP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SNMP) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SNMP) GetConditions ¶
GetConditions implements conditions.Getter.
func (*SNMP) SetConditions ¶
SetConditions implements conditions.Setter.
type SNMPCommunity ¶
type SNMPCommunity struct {
// Name of the community.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
// Group to which the community belongs.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Group string `json:"group,omitempty"`
// ACL name to filter SNMP requests.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
ACLName string `json:"aclName,omitempty"`
}
func (*SNMPCommunity) DeepCopy ¶
func (in *SNMPCommunity) DeepCopy() *SNMPCommunity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SNMPCommunity.
func (*SNMPCommunity) DeepCopyInto ¶
func (in *SNMPCommunity) DeepCopyInto(out *SNMPCommunity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SNMPHosts ¶
type SNMPHosts struct {
// The Hostname or IP address of the SNMP host to send notifications to.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Address string `json:"address"`
// Type of message to send to host. Default is traps.
// +optional
// +kubebuilder:default=Traps
// +kubebuilder:validation:Enum=Traps;Informs
Type string `json:"type"`
// SNMP version. Default is v2c.
// +optional
// +kubebuilder:default=v2c
// +kubebuilder:validation:Enum=v1;v2c;v3
Version string `json:"version"`
// SNMP community or user name.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Community string `json:"community,omitempty"`
// The name of the vrf instance to use to source traffic.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
VrfName string `json:"vrfName,omitempty"`
}
func (*SNMPHosts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SNMPHosts.
func (*SNMPHosts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SNMPList ¶
type SNMPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SNMP `json:"items"`
}
SNMPList contains a list of SNMP
func (*SNMPList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SNMPList.
func (*SNMPList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SNMPList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SNMPSpec ¶
type SNMPSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the SNMP to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// The contact information for the SNMP server.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Contact string `json:"contact,omitempty"`
// The location information for the SNMP server.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Location string `json:"location,omitempty"`
// The name of the interface to be used for sending out SNMP Trap/Inform notifications.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
SourceInterfaceName string `json:"sourceInterfaceName"`
// SNMP communities for SNMPv1 or SNMPv2c.
// +optional
// +listType=map
// +listMapKey=name
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=16
Communities []SNMPCommunity `json:"communities,omitempty"`
// SNMP destination hosts for SNMP traps or informs messages.
// +required
// +listType=map
// +listMapKey=address
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=16
Hosts []SNMPHosts `json:"hosts"`
// The list of trap notifications to enable.
// +optional
// +listType=set
// +kubebuilder:validation:MinItems=1
Traps []string `json:"traps,omitempty"`
}
SNMPSpec defines the desired state of SNMP
func (*SNMPSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SNMPSpec.
func (*SNMPSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SNMPStatus ¶
type SNMPStatus struct {
// The conditions are a list of status objects that describe the state of the SNMP.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
SNMPStatus defines the observed state of SNMP.
func (*SNMPStatus) DeepCopy ¶
func (in *SNMPStatus) DeepCopy() *SNMPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SNMPStatus.
func (*SNMPStatus) DeepCopyInto ¶
func (in *SNMPStatus) DeepCopyInto(out *SNMPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSH ¶
type SSH struct {
// Enable or disable the SSH server on the device.
// If not specified, the SSH server is enabled by default.
// +optional
// +kubebuilder:default=true
Enabled bool `json:"enabled"`
// The timeout duration for SSH sessions.
// If not specified, the default timeout is 10 minutes.
// +optional
// +kubebuilder:default="10m"
// +kubebuilder:validation:Type=string
Timeout metav1.Duration `json:"timeout,omitzero"`
// The maximum number of concurrent SSH sessions allowed.
// If not specified, the default limit is 32.
// +optional
// +kubebuilder:default=32
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=64
// +kubebuilder:validation:ExclusiveMaximum=false
SessionLimit int8 `json:"sessionLimit,omitempty"`
}
func (*SSH) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSH.
func (*SSH) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHPublicKeySource ¶
type SSHPublicKeySource struct {
// Selects a key of a secret.
// +required
SecretKeyRef SecretKeySelector `json:"secretKeyRef"`
}
SSHPublicKeySource represents a source for the value of an SSH public key.
func (*SSHPublicKeySource) DeepCopy ¶
func (in *SSHPublicKeySource) DeepCopy() *SSHPublicKeySource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeySource.
func (*SSHPublicKeySource) DeepCopyInto ¶
func (in *SSHPublicKeySource) DeepCopyInto(out *SSHPublicKeySource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeySelector ¶
type SecretKeySelector struct {
// Name of the secret resource being referred to.
SecretReference `json:",inline"`
// Key is the of the entry in the secret resource's `data` or `stringData`
// field to be used.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Key string `json:"key"`
}
SecretKeySelector contains enough information to select a key of a Secret. +structType=atomic
func (*SecretKeySelector) DeepCopy ¶
func (in *SecretKeySelector) DeepCopy() *SecretKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeySelector.
func (*SecretKeySelector) DeepCopyInto ¶
func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶
type SecretReference struct {
// Name is unique within a namespace to reference a secret resource.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Name string `json:"name"`
// Namespace defines the space within which the secret name must be unique.
// If omitted, the namespace of the object being reconciled will be used.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Namespace string `json:"namespace,omitempty"`
}
SecretReference represents a Secret Reference. It has enough information to retrieve a Secret in any namespace. +structType=atomic
func (*SecretReference) DeepCopy ¶
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Severity ¶
type Severity string
Severity represents the severity level of a log message. +kubebuilder:validation:Enum=Debug;Info;Notice;Warning;Error;Critical;Alert;Emergency
type Switchport ¶
type Switchport struct {
// Mode defines the switchport mode, such as access or trunk.
// +required
Mode SwitchportMode `json:"mode"`
// AccessVlan specifies the VLAN ID for access mode switchports.
// Only applicable when Mode is set to "Access".
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=4094
AccessVlan int32 `json:"accessVlan,omitempty"`
// NativeVlan specifies the native VLAN ID for trunk mode switchports.
// Only applicable when Mode is set to "Trunk".
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=4094
NativeVlan int32 `json:"nativeVlan,omitempty"`
// AllowedVlans is a list of VLAN IDs that are allowed on the trunk port.
// Only applicable when Mode is set to "Trunk".
// +optional
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:items:Minimum=1
// +kubebuilder:validation:items:Maximum=4094
AllowedVlans []int32 `json:"allowedVlans,omitempty"`
}
Switchport defines the switchport configuration for an interface. +kubebuilder:validation:XValidation:rule="self.mode != 'Access' || has(self.accessVlan)", message="accessVlan must be specified when mode is Access" +kubebuilder:validation:XValidation:rule="self.mode != 'Trunk' || has(self.nativeVlan)", message="nativeVlan must be specified when mode is Trunk" +kubebuilder:validation:XValidation:rule="self.mode != 'Trunk' || has(self.allowedVlans)", message="allowedVlans must be specified when mode is Trunk"
func (*Switchport) DeepCopy ¶
func (in *Switchport) DeepCopy() *Switchport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Switchport.
func (*Switchport) DeepCopyInto ¶
func (in *Switchport) DeepCopyInto(out *Switchport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchportMode ¶
type SwitchportMode string
SwitchportMode represents the switchport mode of an interface. +kubebuilder:validation:Enum=Access;Trunk
const ( // SwitchportModeAccess indicates that the switchport is in access mode. SwitchportModeAccess SwitchportMode = "Access" // SwitchportModeTrunk indicates that the switchport is in trunk mode. SwitchportModeTrunk SwitchportMode = "Trunk" )
type Syslog ¶
type Syslog struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec SyslogSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status SyslogStatus `json:"status,omitempty,omitzero"`
}
Syslog is the Schema for the syslogs API
func (*Syslog) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Syslog.
func (*Syslog) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Syslog) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Syslog) GetConditions ¶
GetConditions implements conditions.Getter.
func (*Syslog) SetConditions ¶
SetConditions implements conditions.Setter.
type SyslogList ¶
type SyslogList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Syslog `json:"items"`
}
SyslogList contains a list of Syslog
func (*SyslogList) DeepCopy ¶
func (in *SyslogList) DeepCopy() *SyslogList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogList.
func (*SyslogList) DeepCopyInto ¶
func (in *SyslogList) DeepCopyInto(out *SyslogList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyslogList) DeepCopyObject ¶
func (in *SyslogList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SyslogSpec ¶
type SyslogSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the Interface to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Servers is a list of remote log servers to which the device will send logs.
// +required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=16
Servers []LogServer `json:"servers"`
// Facilities is a list of log facilities to configure on the device.
// +required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=64
Facilities []LogFacility `json:"facilities"`
}
SyslogSpec defines the desired state of Syslog
func (*SyslogSpec) DeepCopy ¶
func (in *SyslogSpec) DeepCopy() *SyslogSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogSpec.
func (*SyslogSpec) DeepCopyInto ¶
func (in *SyslogSpec) DeepCopyInto(out *SyslogSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyslogStatus ¶
type SyslogStatus struct {
// The conditions are a list of status objects that describe the state of the Banner.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
SyslogStatus defines the observed state of Syslog.
func (*SyslogStatus) DeepCopy ¶
func (in *SyslogStatus) DeepCopy() *SyslogStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogStatus.
func (*SyslogStatus) DeepCopyInto ¶
func (in *SyslogStatus) DeepCopyInto(out *SyslogStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLS ¶
type TLS struct {
// The CA certificate to verify the server's identity.
// +required
CA SecretKeySelector `json:"ca"`
// The client certificate and private key to use for mutual TLS authentication.
// Leave empty if mTLS is not desired.
// +optional
Certificate *CertificateSource `json:"certificate,omitempty"`
}
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateSource ¶
type TemplateSource struct {
// Inline template content
// +optional
// +kubebuilder:validation:MinLength=1
Inline *string `json:"inline,omitempty"`
// Reference to a Secret containing the template
// +optional
SecretRef *SecretKeySelector `json:"secretRef,omitempty"`
// Reference to a ConfigMap containing the template
// +optional
ConfigMapRef *ConfigMapKeySelector `json:"configMapRef,omitempty"`
}
TemplateSource defines a source for template content. It can be provided inline, or as a reference to a Secret or ConfigMap.
+kubebuilder:validation:XValidation:rule="[has(self.inline), has(self.secretRef), has(self.configMapRef)].filter(x, x).size() == 1",message="exactly one of 'inline', 'secretRef', or 'configMapRef' must be specified"
func (*TemplateSource) DeepCopy ¶
func (in *TemplateSource) DeepCopy() *TemplateSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateSource.
func (*TemplateSource) DeepCopyInto ¶
func (in *TemplateSource) DeepCopyInto(out *TemplateSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TypedLocalObjectReference ¶
type TypedLocalObjectReference struct {
// Kind of the resource being referenced.
// Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=`^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`
Kind string `json:"kind"`
// Name of the resource being referenced.
// Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
Name string `json:"name"`
// APIVersion is the api group version of the resource being referenced.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
//+kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$`
APIVersion string `json:"apiVersion"`
}
TypedLocalObjectReference contains enough information to locate a typed referenced object inside the same namespace. +structType=atomic
func (*TypedLocalObjectReference) DeepCopy ¶
func (in *TypedLocalObjectReference) DeepCopy() *TypedLocalObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedLocalObjectReference.
func (*TypedLocalObjectReference) DeepCopyInto ¶
func (in *TypedLocalObjectReference) DeepCopyInto(out *TypedLocalObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec UserSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status UserStatus `json:"status,omitempty,omitzero"`
}
User is the Schema for the users API
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*User) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*User) GetConditions ¶
GetConditions implements conditions.Getter.
func (*User) SetConditions ¶
SetConditions implements conditions.Setter.
type UserList ¶
type UserList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []User `json:"items"`
}
UserList contains a list of User
func (*UserList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
func (*UserList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserRole ¶
type UserRole struct {
// The name of the role.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
}
UserRole represents a role that can be assigned to a user.
func (*UserRole) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserRole.
func (*UserRole) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserSpec ¶
type UserSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the User to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Assigned username for this user.
// Immutable.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Username is immutable"
Username string `json:"username"`
// The user password, supplied in cleartext.
// +required
Password PasswordSource `json:"password"`
// Role which the user is to be assigned to.
// +required
// +listType=map
// +listMapKey=name
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=64
Roles []UserRole `json:"roles"`
// SSH public key for this user.
// +optional
SSHPublicKey *SSHPublicKeySource `json:"sshPublicKey,omitempty"`
}
UserSpec defines the desired state of User
func (*UserSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.
func (*UserSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserStatus ¶
type UserStatus struct {
// The conditions are a list of status objects that describe the state of the User.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
UserStatus defines the observed state of User.
func (*UserStatus) DeepCopy ¶
func (in *UserStatus) DeepCopy() *UserStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.
func (*UserStatus) DeepCopyInto ¶
func (in *UserStatus) DeepCopyInto(out *UserStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLAN ¶
type VLAN struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired state of the resource.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec VLANSpec `json:"spec,omitempty"`
// Status of the resource. This is set and updated automatically.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status VLANStatus `json:"status,omitempty,omitzero"`
}
VLAN is the Schema for the vlans API
func (*VLAN) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAN.
func (*VLAN) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLAN) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VLAN) GetConditions ¶
GetConditions implements conditions.Getter.
func (*VLAN) SetConditions ¶
SetConditions implements conditions.Setter.
type VLANList ¶
type VLANList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VLAN `json:"items"`
}
VLANList contains a list of VLAN
func (*VLANList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLANList.
func (*VLANList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VLANList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VLANSpec ¶
type VLANSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this vlan.
// This reference is used to link the VLAN to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// ID is the VLAN ID. Valid values are between 1 and 4094.
// Immutable.
// +required
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=4094
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Name is immutable"
ID int16 `json:"id"`
// Name is the name of the VLAN.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=128
// +kubebuilder:validation:Pattern=`^[^\s]+$`
Name string `json:"name,omitempty"`
// AdminState indicates whether the VLAN is administratively active or inactive/suspended.
// +optional
// +kubebuilder:default=Active
AdminState VLANState `json:"adminState"`
}
VLANSpec defines the desired state of VLAN
func (*VLANSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLANSpec.
func (*VLANSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLANState ¶
type VLANState string
VLANState represents the administrative state of the VLAN. +kubebuilder:validation:Enum=Active;Suspended
type VLANStatus ¶
type VLANStatus struct {
// The conditions are a list of status objects that describe the state of the VLAN.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VLANStatus defines the observed state of VLAN.
func (*VLANStatus) DeepCopy ¶
func (in *VLANStatus) DeepCopy() *VLANStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLANStatus.
func (*VLANStatus) DeepCopyInto ¶
func (in *VLANStatus) DeepCopyInto(out *VLANStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VRF ¶
type VRF struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of VRF
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +required
Spec VRFSpec `json:"spec"`
// status of the resource. This is set and updated automatically.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status VRFStatus `json:"status,omitempty,omitzero"`
}
VRF is the Schema for the vrfs API +kubebuilder:webhook:path=/validate-networking.metal.ironcore.dev-v1alpha1-vrf,mutating=false,failurePolicy=Fail,sideEffects=None,groups=networking.metal.ironcore.dev,resources=vrfs,verbs=create;update,versions=v1alpha1,name=vvrf.kb.io,admissionReviewVersions=v1
func (*VRF) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VRF.
func (*VRF) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VRF) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VRF) GetConditions ¶
GetConditions returns the list of conditions for the VRF.
func (*VRF) SetConditions ¶
SetConditions sets the conditions for the VRF.
type VRFList ¶
type VRFList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VRF `json:"items"`
}
VRFList contains a list of VRF
func (*VRFList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VRFList.
func (*VRFList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VRFList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VRFSpec ¶
type VRFSpec struct {
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
// Immutable.
// +required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
DeviceRef LocalObjectReference `json:"deviceRef"`
// ProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
// This reference is used to link the VRF to its provider-specific configuration.
// +optional
ProviderConfigRef *TypedLocalObjectReference `json:"providerConfigRef,omitempty"`
// Name is the name of the VRF.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=32
Name string `json:"name"`
// Description provides a human-readable description of the VRF.
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=255
Description string `json:"description,omitempty"`
// VNI is the VXLAN Network Identifier for the VRF (always an L3).
// +optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=16777215
VNI uint32 `json:"vni,omitempty"`
// RouteDistinguisher is the route distinguisher for the VRF.
// Formats supported:
// - Type 0: <asn(0-65535)>:<number(0-4294967295)>
// - Type 1: <ipv4>:<number(0-65535)>
// - Type 2: <asn(65536-4294967295)>:<number(0-65535)>
//
// Validation via admission webhook for the VRF type.
//
// +optional
RouteDistinguisher string `json:"routeDistinguisher,omitempty"`
// RouteTargets is the list of route targets for the VRF.
// +optional
// +listType=map
// +listMapKey=value
RouteTargets []RouteTarget `json:"routeTargets,omitempty"`
}
VRFSpec defines the desired state of VRF
func (*VRFSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VRFSpec.
func (*VRFSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VRFStatus ¶
type VRFStatus struct {
// The conditions are a list of status objects that describe the state of the VRF.
//+listType=map
//+listMapKey=type
//+patchStrategy=merge
//+patchMergeKey=type
//+optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VRFStatus defines the observed state of VRF.
func (*VRFStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VRFStatus.
func (*VRFStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- acl_types.go
- banner_types.go
- bgp_peer_types.go
- bgp_types.go
- certificate_types.go
- device_types.go
- dns_types.go
- groupversion_info.go
- interface_types.go
- isis_types.go
- managementaccess_types.go
- ntp_types.go
- ospf_types.go
- pim_types.go
- prefix_types.go
- ref_types.go
- snmp_types.go
- syslog_types.go
- user_types.go
- vlan_types.go
- vrf_types.go
- zz_generated.deepcopy.go