Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the agent v1alpha2 API group. This is the internal API group for the switch and control node agents. Not intended to be modified by the user. +kubebuilder:object:generate=true +groupName=agent.githedgehog.com
Index ¶
- Constants
- Variables
- type AdminStatus
- type Agent
- type AgentList
- type AgentSpec
- type AgentSpecConfig
- type AgentSpecConfigCollapsedCore
- type AgentSpecConfigSpineLeaf
- type AgentStatus
- type AgentVersion
- type ApplyStatusUpdate
- type BGPMessages
- type BGPMessagesCounters
- type BGPNeighborSessionState
- type BGPPeerType
- type Catalog
- type CatalogList
- type CatalogSpec
- type CatalogStatus
- type ControlAgent
- type ControlAgentList
- type ControlAgentSpec
- type ControlAgentStatus
- type OperStatus
- type SwitchState
- type SwitchStateBGPNeighbor
- type SwitchStateBGPNeighborPrefixes
- type SwitchStateBreakout
- type SwitchStateInterface
- type SwitchStateInterfaceCounters
- type SwitchStateLLDPNeighbor
- type SwitchStateNOS
- type SwitchStatePlatform
- type SwitchStatePlatformFan
- type SwitchStatePlatformPSU
- type SwitchStatePlatformTemperature
- type SwitchStateTransceiver
- type UserCreds
- type VirtualEdgeConfig
Constants ¶
const (
VirtualEdgeConfigAnnotation = "virtual-edge.hhfab.fabric.githedgehog.com/external-cfg"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "agent.githedgehog.com", Version: "v1alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AdminStatus ¶ added in v0.35.0
type AdminStatus string
const ( AdminStatusUnset AdminStatus = "" AdminStatusUp AdminStatus = "up" AdminStatusDown AdminStatus = "down" AdminStatusTesting AdminStatus = "testing" )
func (AdminStatus) ID ¶ added in v0.35.0
func (a AdminStatus) ID() (uint8, error)
type Agent ¶
type Agent struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the desired state of the Agent Spec AgentSpec `json:"spec,omitempty"` // Status is the observed state of the Agent Status AgentStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=hedgehog;fabric,shortName=ag +kubebuilder:printcolumn:name="Role",type=string,JSONPath=`.spec.role`,priority=0 +kubebuilder:printcolumn:name="Descr",type=string,JSONPath=`.spec.description`,priority=0 +kubebuilder:printcolumn:name="HWSKU",type=string,JSONPath=`.status.state.nos.hwskuVersion`,priority=1 +kubebuilder:printcolumn:name="ASIC",type=string,JSONPath=`.status.state.nos.asicVersion`,priority=1 +kubebuilder:printcolumn:name="Heartbeat",type=date,JSONPath=`.status.lastHeartbeat`,priority=1 +kubebuilder:printcolumn:name="Applied",type=date,JSONPath=`.status.lastAppliedTime`,priority=0 +kubebuilder:printcolumn:name="AppliedG",type=string,JSONPath=`.status.lastAppliedGen`,priority=0 +kubebuilder:printcolumn:name="CurrentG",type=string,JSONPath=`.metadata.generation`,priority=0 +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.status.version`,priority=0 +kubebuilder:printcolumn:name="Software",type=string,JSONPath=`.status.state.nos.softwareVersion`,priority=1 +kubebuilder:printcolumn:name="Attempt",type=date,JSONPath=`.status.lastAttemptTime`,priority=2 +kubebuilder:printcolumn:name="AttemptG",type=string,JSONPath=`.status.lastAttemptGen`,priority=2 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,priority=10 Agent is an internal API object used by the controller to pass all relevant information to the agent running on a specific switch in order to fully configure it and manage its lifecycle. It is not intended to be used directly by users. Spec of the object isn't user-editable, it is managed by the controller. Status of the object is updated by the agent and is used by the controller to track the state of the agent and the switch it is running on. Name of the Agent object is the same as the name of the switch it is running on and it's created in the same namespace as the Switch object.
func (*Agent) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Agent.
func (*Agent) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Agent) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Agent) IsCollapsedCore ¶
func (*Agent) IsFirstInRedundancyGroup ¶
func (*Agent) IsSpineLeaf ¶
type AgentList ¶
type AgentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Agent `json:"items"` }
AgentList contains a list of Agent
func (*AgentList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList.
func (*AgentList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentSpec ¶
type AgentSpec struct { Role wiringapi.SwitchRole `json:"role,omitempty"` Description string `json:"description,omitempty"` Config AgentSpecConfig `json:"config,omitempty"` Version AgentVersion `json:"version,omitempty"` Users []UserCreds `json:"users,omitempty"` Switch wiringapi.SwitchSpec `json:"switch,omitempty"` Switches map[string]wiringapi.SwitchSpec `json:"switches,omitempty"` RedundancyGroupPeers []string `json:"redundancyGroupPeers,omitempty"` Connections map[string]wiringapi.ConnectionSpec `json:"connections,omitempty"` VPCs map[string]vpcapi.VPCSpec `json:"vpcs,omitempty"` VPCAttachments map[string]vpcapi.VPCAttachmentSpec `json:"vpcAttachments,omitempty"` VPCPeerings map[string]vpcapi.VPCPeeringSpec `json:"vpcPeers,omitempty"` IPv4Namespaces map[string]vpcapi.IPv4NamespaceSpec `json:"ipv4Namespaces,omitempty"` VLANNamespaces map[string]wiringapi.VLANNamespaceSpec `json:"vlanNamespaces,omitempty"` Externals map[string]vpcapi.ExternalSpec `json:"externals,omitempty"` ExternalAttachments map[string]vpcapi.ExternalAttachmentSpec `json:"externalAttachments,omitempty"` ExternalPeerings map[string]vpcapi.ExternalPeeringSpec `json:"externalPeerings,omitempty"` ConfiguredVPCSubnets map[string]bool `json:"configuredVPCSubnets,omitempty"` AttachedVPCs map[string]bool `json:"attachedVPCs,omitempty"` Reinstall string `json:"reinstall,omitempty"` // set to InstallID to reinstall NOS Reboot string `json:"reboot,omitempty"` // set to RunID to reboot PowerReset string `json:"powerReset,omitempty"` // set to RunID to power reset Catalog CatalogSpec `json:"catalog,omitempty"` // TODO impl StatusUpdates []ApplyStatusUpdate `json:"statusUpdates,omitempty"` }
AgentSpec defines the desired state of the Agent and includes all relevant information required to fully configure the switch and manage its lifecycle. It is not intended to be used directly by users.
func (*AgentSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.
func (*AgentSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSpecConfig ¶
type AgentSpecConfig struct { ControlVIP string `json:"controlVIP,omitempty"` VPCPeeringDisabled bool `json:"vpcPeeringDisabled,omitempty"` CollapsedCore *AgentSpecConfigCollapsedCore `json:"collapsedCore,omitempty"` SpineLeaf *AgentSpecConfigSpineLeaf `json:"spineLeaf,omitempty"` BaseVPCCommunity string `json:"baseVPCCommunity,omitempty"` VPCLoopbackSubnet string `json:"vpcLoopbackSubnet,omitempty"` FabricMTU uint16 `json:"fabricMTU,omitempty"` ServerFacingMTUOffset uint16 `json:"serverFacingMTUOffset,omitempty"` ESLAGMACBase string `json:"eslagMACBase,omitempty"` ESLAGESIPrefix string `json:"eslagESIPrefix,omitempty"` }
func (*AgentSpecConfig) DeepCopy ¶
func (in *AgentSpecConfig) DeepCopy() *AgentSpecConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpecConfig.
func (*AgentSpecConfig) DeepCopyInto ¶
func (in *AgentSpecConfig) DeepCopyInto(out *AgentSpecConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSpecConfigCollapsedCore ¶
type AgentSpecConfigCollapsedCore struct{}
func (*AgentSpecConfigCollapsedCore) DeepCopy ¶
func (in *AgentSpecConfigCollapsedCore) DeepCopy() *AgentSpecConfigCollapsedCore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpecConfigCollapsedCore.
func (*AgentSpecConfigCollapsedCore) DeepCopyInto ¶
func (in *AgentSpecConfigCollapsedCore) DeepCopyInto(out *AgentSpecConfigCollapsedCore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSpecConfigSpineLeaf ¶
type AgentSpecConfigSpineLeaf struct{}
func (*AgentSpecConfigSpineLeaf) DeepCopy ¶
func (in *AgentSpecConfigSpineLeaf) DeepCopy() *AgentSpecConfigSpineLeaf
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpecConfigSpineLeaf.
func (*AgentSpecConfigSpineLeaf) DeepCopyInto ¶
func (in *AgentSpecConfigSpineLeaf) DeepCopyInto(out *AgentSpecConfigSpineLeaf)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentStatus ¶
type AgentStatus struct { // Current running agent version Version string `json:"version,omitempty"` // ID of the agent installation, used to track NOS re-installs InstallID string `json:"installID,omitempty"` // ID of the agent run, used to track NOS reboots RunID string `json:"runID,omitempty"` // Time of the last heartbeat from the agent LastHeartbeat metav1.Time `json:"lastHeartbeat,omitempty"` // Time of the last attempt to apply configuration LastAttemptTime metav1.Time `json:"lastAttemptTime,omitempty"` // Generation of the last attempt to apply configuration LastAttemptGen int64 `json:"lastAttemptGen,omitempty"` // Time of the last successful configuration application LastAppliedTime metav1.Time `json:"lastAppliedTime,omitempty"` // Generation of the last successful configuration application LastAppliedGen int64 `json:"lastAppliedGen,omitempty"` // Detailed switch state updated with each heartbeat State SwitchState `json:"state,omitempty"` // Status updates from the agent StatusUpdates []ApplyStatusUpdate `json:"statusUpdates,omitempty"` // Conditions of the agent, includes readiness marker for use with kubectl wait Conditions []metav1.Condition `json:"conditions"` }
AgentStatus defines the observed state of the agent running on a specific switch and includes information about the switch itself as well as the state of the agent and applied configuration.
func (*AgentStatus) DeepCopy ¶
func (in *AgentStatus) DeepCopy() *AgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentStatus.
func (*AgentStatus) DeepCopyInto ¶
func (in *AgentStatus) DeepCopyInto(out *AgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentVersion ¶
type AgentVersion struct { Default string `json:"default,omitempty"` Override string `json:"override,omitempty"` Repo string `json:"repo,omitempty"` CA string `json:"ca,omitempty"` }
func (*AgentVersion) DeepCopy ¶
func (in *AgentVersion) DeepCopy() *AgentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentVersion.
func (*AgentVersion) DeepCopyInto ¶
func (in *AgentVersion) DeepCopyInto(out *AgentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplyStatusUpdate ¶
type ApplyStatusUpdate struct { APIVersion string `json:"apiVersion,omitempty"` Kind string `json:"kind,omitempty"` Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` Generation int64 `json:"generation,omitempty"` }
func (*ApplyStatusUpdate) DeepCopy ¶
func (in *ApplyStatusUpdate) DeepCopy() *ApplyStatusUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplyStatusUpdate.
func (*ApplyStatusUpdate) DeepCopyInto ¶
func (in *ApplyStatusUpdate) DeepCopyInto(out *ApplyStatusUpdate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPMessages ¶ added in v0.35.0
type BGPMessages struct { Received BGPMessagesCounters `json:"received,omitempty"` Sent BGPMessagesCounters `json:"sent,omitempty"` }
func (*BGPMessages) DeepCopy ¶ added in v0.35.0
func (in *BGPMessages) DeepCopy() *BGPMessages
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMessages.
func (*BGPMessages) DeepCopyInto ¶ added in v0.35.0
func (in *BGPMessages) DeepCopyInto(out *BGPMessages)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPMessagesCounters ¶ added in v0.35.0
type BGPMessagesCounters struct { Capability uint64 `json:"capability,omitempty"` Keepalive uint64 `json:"keepalive,omitempty"` Notification uint64 `json:"notification,omitempty"` Open uint64 `json:"open,omitempty"` RouteRefresh uint64 `json:"routeRefresh,omitempty"` Update uint64 `json:"update,omitempty"` }
func (*BGPMessagesCounters) DeepCopy ¶ added in v0.35.0
func (in *BGPMessagesCounters) DeepCopy() *BGPMessagesCounters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMessagesCounters.
func (*BGPMessagesCounters) DeepCopyInto ¶ added in v0.35.0
func (in *BGPMessagesCounters) DeepCopyInto(out *BGPMessagesCounters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPNeighborSessionState ¶ added in v0.35.0
type BGPNeighborSessionState string
const ( BGPNeighborSessionStateUnset BGPNeighborSessionState = "" BGPNeighborSessionStateIdle BGPNeighborSessionState = "idle" BGPNeighborSessionStateConnect BGPNeighborSessionState = "connect" BGPNeighborSessionStateActive BGPNeighborSessionState = "active" BGPNeighborSessionStateOpenSent BGPNeighborSessionState = "openSent" BGPNeighborSessionStateOpenConfirm BGPNeighborSessionState = "openConfirm" BGPNeighborSessionStateEstablished BGPNeighborSessionState = "established" )
func (BGPNeighborSessionState) ID ¶ added in v0.35.0
func (b BGPNeighborSessionState) ID() (uint8, error)
type BGPPeerType ¶ added in v0.35.0
type BGPPeerType string
const ( BGPPeerTypeUnset BGPPeerType = "" BGPPeerTypeInternal BGPPeerType = "internal" BGPPeerTypeExternal BGPPeerType = "external" )
func (BGPPeerType) ID ¶ added in v0.35.0
func (b BGPPeerType) ID() (uint8, error)
type Catalog ¶
type Catalog struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CatalogSpec `json:"spec,omitempty"` Status CatalogStatus `json:"status,omitempty"` }
Catalog is the Schema for the catalogs API
func (*Catalog) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Catalog.
func (*Catalog) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Catalog) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CatalogList ¶
type CatalogList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Catalog `json:"items"` }
CatalogList contains a list of Catalog
func (*CatalogList) DeepCopy ¶
func (in *CatalogList) DeepCopy() *CatalogList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogList.
func (*CatalogList) DeepCopyInto ¶
func (in *CatalogList) DeepCopyInto(out *CatalogList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CatalogList) DeepCopyObject ¶
func (in *CatalogList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CatalogSpec ¶
type CatalogSpec struct { // ConnectionSystemIDs stores connection name -> ID, globally unique for the fabric ConnectionIDs map[string]uint32 `json:"connectionIDs,omitempty"` // VPCVNIs stores VPC name -> VPC VNI, globally unique for the fabric VPCVNIs map[string]uint32 `json:"vpcVNIs,omitempty"` // VPCSubnetVNIs stores VPC name -> subnet name -> VPC Subnet VNI, globally unique for the fabric VPCSubnetVNIs map[string]map[string]uint32 `json:"vpcSubnetVNIs,omitempty"` // IRBVLANs stores VPC name -> IRB VLAN ID, unique per redundancy group (or switch) IRBVLANs map[string]uint16 `json:"irbVLANs,omitempty"` // PortChannelIDs stores Connection name -> PortChannel ID, unique per redundancy group (or switch) PortChannelIDs map[string]uint16 `json:"portChannelIDs,omitempty"` // LoopbackWorkaroundLinks stores loopback workaround "request" name (vpc@<vpc-peering> or ext@<external-peering>) -> loopback link name (<port1--port2>), unique per switch LooopbackWorkaroundLinks map[string]string `json:"loopbackWorkaroundLinks,omitempty"` // LoopbackWorkaroundVLANs stores loopback workaround "request" -> VLAN ID, unique per switch LoopbackWorkaroundVLANs map[string]uint16 `json:"loopbackWorkaroundVLANs,omitempty"` // ExternalIDs stores external name -> ID, unique per switch ExternalIDs map[string]uint16 `json:"externalIDs,omitempty"` // SubnetIDs stores subnet -> ID, unique per switch SubnetIDs map[string]uint32 `json:"subnetIDs,omitempty"` }
CatalogSpec defines the desired state of Catalog
func (*CatalogSpec) DeepCopy ¶
func (in *CatalogSpec) DeepCopy() *CatalogSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSpec.
func (*CatalogSpec) DeepCopyInto ¶
func (in *CatalogSpec) DeepCopyInto(out *CatalogSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CatalogSpec) GetVPCSubnetVNI ¶
func (c *CatalogSpec) GetVPCSubnetVNI(vpc, subnet string) (uint32, bool)
type CatalogStatus ¶
type CatalogStatus struct{}
CatalogStatus defines the observed state of Catalog
func (*CatalogStatus) DeepCopy ¶
func (in *CatalogStatus) DeepCopy() *CatalogStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogStatus.
func (*CatalogStatus) DeepCopyInto ¶
func (in *CatalogStatus) DeepCopyInto(out *CatalogStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlAgent ¶
type ControlAgent struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ControlAgentSpec `json:"spec,omitempty"` Status ControlAgentStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=hedgehog;fabric,shortName=cag +kubebuilder:printcolumn:name="Heartbeat",type=date,JSONPath=`.status.lastHeartbeat`,priority=0 +kubebuilder:printcolumn:name="Applied",type=date,JSONPath=`.status.lastAppliedTime`,priority=0 +kubebuilder:printcolumn:name="AppliedG",type=string,JSONPath=`.status.lastAppliedGen`,priority=0 +kubebuilder:printcolumn:name="CurrentG",type=string,JSONPath=`.metadata.generation`,priority=0 +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.status.version`,priority=0 +kubebuilder:printcolumn:name="Attempt",type=date,JSONPath=`.status.lastAttemptTime`,priority=2 +kubebuilder:printcolumn:name="AttemptG",type=string,JSONPath=`.status.lastAttemptGen`,priority=2 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,priority=10 ControlAgent is the Schema for the controlagents API
func (*ControlAgent) DeepCopy ¶
func (in *ControlAgent) DeepCopy() *ControlAgent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlAgent.
func (*ControlAgent) DeepCopyInto ¶
func (in *ControlAgent) DeepCopyInto(out *ControlAgent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControlAgent) DeepCopyObject ¶
func (in *ControlAgent) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ControlAgentList ¶
type ControlAgentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ControlAgent `json:"items"` }
ControlAgentList contains a list of ControlAgent
func (*ControlAgentList) DeepCopy ¶
func (in *ControlAgentList) DeepCopy() *ControlAgentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlAgentList.
func (*ControlAgentList) DeepCopyInto ¶
func (in *ControlAgentList) DeepCopyInto(out *ControlAgentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControlAgentList) DeepCopyObject ¶
func (in *ControlAgentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ControlAgentSpec ¶
type ControlAgentSpec struct { ControlVIP string `json:"controlVIP,omitempty"` Version AgentVersion `json:"version,omitempty"` Networkd map[string]string `json:"networkd,omitempty"` Hosts map[string]string `json:"hosts,omitempty"` }
ControlAgentSpec defines the desired state of the ControlAgent and includes all relevant information to configure the control node. Not intended to be modified by the user.
func (*ControlAgentSpec) DeepCopy ¶
func (in *ControlAgentSpec) DeepCopy() *ControlAgentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlAgentSpec.
func (*ControlAgentSpec) DeepCopyInto ¶
func (in *ControlAgentSpec) DeepCopyInto(out *ControlAgentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlAgentStatus ¶
type ControlAgentStatus struct { Conditions []metav1.Condition `json:"conditions"` Version string `json:"version,omitempty"` LastHeartbeat metav1.Time `json:"lastHeartbeat,omitempty"` LastAttemptTime metav1.Time `json:"lastAttemptTime,omitempty"` LastAttemptGen int64 `json:"lastAttemptGen,omitempty"` LastAppliedTime metav1.Time `json:"lastAppliedTime,omitempty"` LastAppliedGen int64 `json:"lastAppliedGen,omitempty"` }
ControlAgentStatus defines the observed state of ControlAgent
func (*ControlAgentStatus) DeepCopy ¶
func (in *ControlAgentStatus) DeepCopy() *ControlAgentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlAgentStatus.
func (*ControlAgentStatus) DeepCopyInto ¶
func (in *ControlAgentStatus) DeepCopyInto(out *ControlAgentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperStatus ¶ added in v0.35.0
type OperStatus string
const ( OperStatusUnset OperStatus = "" OperStatusUp OperStatus = "up" OperStatusDown OperStatus = "down" OperStatusTesting OperStatus = "testing" OperStatusUnknown OperStatus = "unknown" OperStatusDormant OperStatus = "dormant" OperStatusNotPresent OperStatus = "notPresent" OperStatusLowerLayerDown OperStatus = "lowerLayerDown" )
func (OperStatus) ID ¶ added in v0.35.0
func (o OperStatus) ID() (uint8, error)
type SwitchState ¶ added in v0.35.0
type SwitchState struct { // Information about the switch and NOS NOS SwitchStateNOS `json:"nos,omitempty"` // Switch interfaces state (incl. physical, management and port channels) Interfaces map[string]SwitchStateInterface `json:"interfaces,omitempty"` // Breakout ports state (port -> breakout state) Breakouts map[string]SwitchStateBreakout `json:"breakouts,omitempty"` // State of all BGP neighbors (VRF -> neighbor address -> state) BGPNeighbors map[string]map[string]SwitchStateBGPNeighbor `json:"bgpNeighbors,omitempty"` // State of the switch platform (fans, PSUs, sensors) Platform SwitchStatePlatform `json:"platform,omitempty"` }
func (*SwitchState) DeepCopy ¶ added in v0.35.0
func (in *SwitchState) DeepCopy() *SwitchState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchState.
func (*SwitchState) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchState) DeepCopyInto(out *SwitchState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateBGPNeighbor ¶ added in v0.35.0
type SwitchStateBGPNeighbor struct { ConnectionsDropped uint64 `json:"connectionsDropped,omitempty"` Enabled bool `json:"enabled,omitempty"` EstablishedTransitions uint64 `json:"establishedTransitions,omitempty"` LastEstablished metav1.Time `json:"lastEstablished,omitempty"` LastRead metav1.Time `json:"lastRead,omitempty"` LastResetReason string `json:"lastResetReason,omitempty"` LastResetTime metav1.Time `json:"lastResetTime,omitempty"` LastWrite metav1.Time `json:"lastWrite,omitempty"` LocalAS uint32 `json:"localAS,omitempty"` Messages BGPMessages `json:"messages,omitempty"` PeerAS uint32 `json:"peerAS,omitempty"` PeerGroup string `json:"peerGroup,omitempty"` PeerPort uint16 `json:"peerPort,omitempty"` PeerType BGPPeerType `json:"peerType,omitempty"` RemoteRouterID string `json:"remoteRouterID,omitempty"` SessionState BGPNeighborSessionState `json:"sessionState,omitempty"` ShutdownMessage string `json:"shutdownMessage,omitempty"` Prefixes map[string]SwitchStateBGPNeighborPrefixes `json:"prefixes,omitempty"` }
func (*SwitchStateBGPNeighbor) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateBGPNeighbor) DeepCopy() *SwitchStateBGPNeighbor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBGPNeighbor.
func (*SwitchStateBGPNeighbor) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateBGPNeighbor) DeepCopyInto(out *SwitchStateBGPNeighbor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateBGPNeighborPrefixes ¶ added in v0.35.0
type SwitchStateBGPNeighborPrefixes struct { Received uint32 `json:"received,omitempty"` ReceivedPrePolicy uint32 `json:"receivedPrePolicy,omitempty"` Sent uint32 `json:"sent,omitempty"` }
func (*SwitchStateBGPNeighborPrefixes) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateBGPNeighborPrefixes) DeepCopy() *SwitchStateBGPNeighborPrefixes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBGPNeighborPrefixes.
func (*SwitchStateBGPNeighborPrefixes) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateBGPNeighborPrefixes) DeepCopyInto(out *SwitchStateBGPNeighborPrefixes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateBreakout ¶ added in v0.35.0
type SwitchStateBreakout struct { Mode string `json:"mode,omitempty"` Members []string `json:"members,omitempty"` Status string `json:"status,omitempty"` }
func (*SwitchStateBreakout) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateBreakout) DeepCopy() *SwitchStateBreakout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBreakout.
func (*SwitchStateBreakout) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateBreakout) DeepCopyInto(out *SwitchStateBreakout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateInterface ¶ added in v0.35.0
type SwitchStateInterface struct { Enabled bool `json:"enabled,omitempty"` AdminStatus AdminStatus `json:"adminStatus,omitempty"` OperStatus OperStatus `json:"operStatus,omitempty"` MAC string `json:"mac,omitempty"` LastChange metav1.Time `json:"lastChanged,omitempty"` Counters *SwitchStateInterfaceCounters `json:"counters,omitempty"` Transceiver *SwitchStateTransceiver `json:"transceiver,omitempty"` LLDPNeighbors []SwitchStateLLDPNeighbor `json:"lldpNeighbors,omitempty"` }
func (*SwitchStateInterface) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateInterface) DeepCopy() *SwitchStateInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateInterface.
func (*SwitchStateInterface) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateInterface) DeepCopyInto(out *SwitchStateInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateInterfaceCounters ¶ added in v0.35.0
type SwitchStateInterfaceCounters struct { InBitsPerSecond float64 `json:"inBitsPerSecond,omitempty"` InDiscards uint64 `json:"inDiscards,omitempty"` InErrors uint64 `json:"inErrors,omitempty"` InPktsPerSecond float64 `json:"inPktsPerSecond,omitempty"` InUtilization uint8 `json:"inUtilization,omitempty"` LastClear metav1.Time `json:"lastClear,omitempty"` OutBitsPerSecond float64 `json:"outBitsPerSecond,omitempty"` OutDiscards uint64 `json:"outDiscards,omitempty"` OutErrors uint64 `json:"outErrors,omitempty"` OutPktsPerSecond float64 `json:"outPktsPerSecond,omitempty"` OutUtilization uint8 `json:"outUtilization,omitempty"` }
func (*SwitchStateInterfaceCounters) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateInterfaceCounters) DeepCopy() *SwitchStateInterfaceCounters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateInterfaceCounters.
func (*SwitchStateInterfaceCounters) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateInterfaceCounters) DeepCopyInto(out *SwitchStateInterfaceCounters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateLLDPNeighbor ¶ added in v0.35.0
type SwitchStateLLDPNeighbor struct { ChassisID string `json:"chassisID,omitempty"` SystemName string `json:"systemName,omitempty"` SystemDescription string `json:"systemDescription,omitempty"` PortID string `json:"portID,omitempty"` PortDescription string `json:"portDescription,omitempty"` Manufacturer string `json:"manufacturer,omitempty"` Model string `json:"model,omitempty"` SerialNumber string `json:"serialNumber,omitempty"` }
func (*SwitchStateLLDPNeighbor) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateLLDPNeighbor) DeepCopy() *SwitchStateLLDPNeighbor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateLLDPNeighbor.
func (*SwitchStateLLDPNeighbor) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateLLDPNeighbor) DeepCopyInto(out *SwitchStateLLDPNeighbor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateNOS ¶ added in v0.35.0
type SwitchStateNOS struct { // ASIC name, such as "broadcom" or "vs" AsicVersion string `json:"asicVersion,omitempty"` // NOS build commit BuildCommit string `json:"buildCommit,omitempty"` // NOS build date BuildDate string `json:"buildDate,omitempty"` // NOS build user BuiltBy string `json:"builtBy,omitempty"` // NOS config DB version, such as "version_4_2_1" ConfigDbVersion string `json:"configDbVersion,omitempty"` // Distribution version, such as "Debian 10.13" DistributionVersion string `json:"distributionVersion,omitempty"` // Hardware version, such as "X01" HardwareVersion string `json:"hardwareVersion,omitempty"` // Hwsku version, such as "DellEMC-S5248f-P-25G-DPB" HwskuVersion string `json:"hwskuVersion,omitempty"` // Kernel version, such as "5.10.0-21-amd64" KernelVersion string `json:"kernelVersion,omitempty"` // Manufacturer name, such as "Dell EMC" MfgName string `json:"mfgName,omitempty"` // Platform name, such as "x86_64-dellemc_s5248f_c3538-r0" PlatformName string `json:"platformName,omitempty"` // NOS product description, such as "Enterprise SONiC Distribution by Broadcom - Enterprise Base package" ProductDescription string `json:"productDescription,omitempty"` // NOS product version, empty for Broadcom SONiC ProductVersion string `json:"productVersion,omitempty"` // Switch serial number SerialNumber string `json:"serialNumber,omitempty"` // NOS software version, such as "4.2.0-Enterprise_Base" SoftwareVersion string `json:"softwareVersion,omitempty"` // Switch uptime, such as "21:21:27 up 1 day, 23:26, 0 users, load average: 1.92, 1.99, 2.00 " Uptime string `json:"uptime,omitempty"` }
SwitchStateNOS contains information about the switch and NOS received from the switch itself by the agent
func (*SwitchStateNOS) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateNOS) DeepCopy() *SwitchStateNOS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateNOS.
func (*SwitchStateNOS) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateNOS) DeepCopyInto(out *SwitchStateNOS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStatePlatform ¶ added in v0.35.0
type SwitchStatePlatform struct { Fans map[string]SwitchStatePlatformFan `json:"fans,omitempty"` PSUs map[string]SwitchStatePlatformPSU `json:"psus,omitempty"` Temperatures map[string]SwitchStatePlatformTemperature `json:"temperature,omitempty"` }
func (*SwitchStatePlatform) DeepCopy ¶ added in v0.35.0
func (in *SwitchStatePlatform) DeepCopy() *SwitchStatePlatform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatform.
func (*SwitchStatePlatform) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStatePlatform) DeepCopyInto(out *SwitchStatePlatform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStatePlatformFan ¶ added in v0.35.0
type SwitchStatePlatformFan struct { Direction string `json:"direction,omitempty"` Speed float64 `json:"speed,omitempty"` Presense bool `json:"presense,omitempty"` Status bool `json:"status,omitempty"` }
func (*SwitchStatePlatformFan) DeepCopy ¶ added in v0.35.0
func (in *SwitchStatePlatformFan) DeepCopy() *SwitchStatePlatformFan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformFan.
func (*SwitchStatePlatformFan) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStatePlatformFan) DeepCopyInto(out *SwitchStatePlatformFan)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStatePlatformPSU ¶ added in v0.35.0
type SwitchStatePlatformPSU struct { InputCurrent float64 `json:"inputCurrent,omitempty"` InputPower float64 `json:"inputPower,omitempty"` InputVoltage float64 `json:"inputVoltage,omitempty"` OutputCurrent float64 `json:"outputCurrent,omitempty"` OutputPower float64 `json:"outputPower,omitempty"` OutputVoltage float64 `json:"outputVoltage,omitempty"` Presense bool `json:"presense,omitempty"` Status bool `json:"status,omitempty"` }
func (*SwitchStatePlatformPSU) DeepCopy ¶ added in v0.35.0
func (in *SwitchStatePlatformPSU) DeepCopy() *SwitchStatePlatformPSU
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformPSU.
func (*SwitchStatePlatformPSU) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStatePlatformPSU) DeepCopyInto(out *SwitchStatePlatformPSU)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStatePlatformTemperature ¶ added in v0.35.0
type SwitchStatePlatformTemperature struct { Temperature float64 `json:"temperature,omitempty"` Alarms string `json:"alarms,omitempty"` HighThreshold float64 `json:"highThreshold,omitempty"` CriticalHighThreshold float64 `json:"criticalHighThreshold,omitempty"` LowThreshold float64 `json:"lowThreshold,omitempty"` CriticalLowThreshold float64 `json:"criticalLowThreshold,omitempty"` }
func (*SwitchStatePlatformTemperature) DeepCopy ¶ added in v0.35.0
func (in *SwitchStatePlatformTemperature) DeepCopy() *SwitchStatePlatformTemperature
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformTemperature.
func (*SwitchStatePlatformTemperature) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStatePlatformTemperature) DeepCopyInto(out *SwitchStatePlatformTemperature)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateTransceiver ¶ added in v0.35.0
type SwitchStateTransceiver struct { Description string `json:"description,omitempty"` CableClass string `json:"cableClass,omitempty"` FormFactor string `json:"formFactor,omitempty"` ConnectorType string `json:"connectorType,omitempty"` Present string `json:"present,omitempty"` CableLength float64 `json:"cableLength,omitempty"` OperStatus string `json:"operStatus,omitempty"` Temperature float64 `json:"temperature,omitempty"` Voltage float64 `json:"voltage,omitempty"` SerialNumber string `json:"serialNumber,omitempty"` Vendor string `json:"vendor,omitempty"` VendorPart string `json:"vendorPart,omitempty"` VendorOUI string `json:"vendorOUI,omitempty"` VendorRev string `json:"vendorRev,omitempty"` }
func (*SwitchStateTransceiver) DeepCopy ¶ added in v0.35.0
func (in *SwitchStateTransceiver) DeepCopy() *SwitchStateTransceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateTransceiver.
func (*SwitchStateTransceiver) DeepCopyInto ¶ added in v0.35.0
func (in *SwitchStateTransceiver) DeepCopyInto(out *SwitchStateTransceiver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserCreds ¶
type UserCreds struct { Name string `json:"name,omitempty"` Password string `json:"password,omitempty"` Role string `json:"role,omitempty"` SSHKeys []string `json:"sshKeys,omitempty"` }
func (*UserCreds) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserCreds.
func (*UserCreds) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualEdgeConfig ¶
type VirtualEdgeConfig struct { ASN string `json:"ASN"` VRF string `json:"VRF"` CommunityIn string `json:"CommunityIn"` CommunityOut string `json:"CommunityOut"` NeighborIP string `json:"NeighborIP"` IfName string `json:"ifName"` IfVlan string `json:"ifVlan"` IfIP string `json:"ifIP"` }
+kubebuilder:skip
func (*VirtualEdgeConfig) DeepCopy ¶
func (in *VirtualEdgeConfig) DeepCopy() *VirtualEdgeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualEdgeConfig.
func (*VirtualEdgeConfig) DeepCopyInto ¶
func (in *VirtualEdgeConfig) DeepCopyInto(out *VirtualEdgeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.