Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the agent v1beta1 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 OperStatus
- type SwitchState
- type SwitchStateBGPNeighbor
- type SwitchStateBGPNeighborPrefixes
- type SwitchStateBreakout
- type SwitchStateCRM
- type SwitchStateCRMACLDetails
- type SwitchStateCRMACLInfo
- type SwitchStateCRMACLStats
- type SwitchStateCRMStats
- type SwitchStateInterface
- type SwitchStateInterfaceCounters
- type SwitchStateLLDPNeighbor
- type SwitchStateNOS
- type SwitchStatePlatform
- type SwitchStatePlatformFan
- type SwitchStatePlatformPSU
- type SwitchStatePlatformTemperature
- type SwitchStateTransceiver
- type UserCreds
- type VirtualEdgeConfig
Constants ¶
const KindAgent = "Agent"
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: "v1beta1"} // 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 ¶
type AdminStatus string
const ( AdminStatusUnset AdminStatus = "" AdminStatusUp AdminStatus = "up" AdminStatusDown AdminStatus = "down" AdminStatusTesting AdminStatus = "testing" )
func (AdminStatus) ID ¶
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,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"` Alloy meta.AlloyConfig `json:"alloy,omitempty"` Version AgentVersion `json:"version,omitempty"` Users []UserCreds `json:"users,omitempty"` Switch wiringapi.SwitchSpec `json:"switch,omitempty"` SwitchProfile *wiringapi.SwitchProfileSpec `json:"switchProfile,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"` DefaultMaxPathsEBGP uint32 `json:"defaultMaxPathsEBGP,omitempty"` MCLAGSessionSubnet string `json:"mclagSessionSubnet,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 { // Registry information CA string `json:"ca,omitempty"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` // Agent information Repo string `json:"repo,omitempty"` Default string `json:"default,omitempty"` Override string `json:"override,omitempty"` // Alloy information AlloyRepo string `json:"alloyRepo,omitempty"` AlloyVersion string `json:"alloyVersion,omitempty"` }
TODO rename?
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 ¶
type BGPMessages struct { Received BGPMessagesCounters `json:"received,omitempty"` Sent BGPMessagesCounters `json:"sent,omitempty"` }
func (*BGPMessages) DeepCopy ¶
func (in *BGPMessages) DeepCopy() *BGPMessages
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMessages.
func (*BGPMessages) DeepCopyInto ¶
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 ¶
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 ¶
func (in *BGPMessagesCounters) DeepCopy() *BGPMessagesCounters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPMessagesCounters.
func (*BGPMessagesCounters) DeepCopyInto ¶
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 ¶
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 ¶
func (b BGPNeighborSessionState) ID() (uint8, error)
type BGPPeerType ¶
type BGPPeerType string
const ( BGPPeerTypeUnset BGPPeerType = "" BGPPeerTypeInternal BGPPeerType = "internal" BGPPeerTypeExternal BGPPeerType = "external" )
func (BGPPeerType) ID ¶
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"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=hedgehog 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 OperStatus ¶
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 ¶
func (o OperStatus) ID() (uint8, error)
type SwitchState ¶
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"` // State of the critical resources (ACLs, routes, etc.) CriticalResources SwitchStateCRM `json:"criticalResources,omitempty"` }
func (*SwitchState) DeepCopy ¶
func (in *SwitchState) DeepCopy() *SwitchState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchState.
func (*SwitchState) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStateBGPNeighbor) DeepCopy() *SwitchStateBGPNeighbor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBGPNeighbor.
func (*SwitchStateBGPNeighbor) DeepCopyInto ¶
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 ¶
type SwitchStateBGPNeighborPrefixes struct { Received uint32 `json:"received,omitempty"` ReceivedPrePolicy uint32 `json:"receivedPrePolicy,omitempty"` Sent uint32 `json:"sent,omitempty"` }
func (*SwitchStateBGPNeighborPrefixes) DeepCopy ¶
func (in *SwitchStateBGPNeighborPrefixes) DeepCopy() *SwitchStateBGPNeighborPrefixes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBGPNeighborPrefixes.
func (*SwitchStateBGPNeighborPrefixes) DeepCopyInto ¶
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 ¶
type SwitchStateBreakout struct { Mode string `json:"mode,omitempty"` NOSMembers []string `json:"nosMembers,omitempty"` Status string `json:"status,omitempty"` }
func (*SwitchStateBreakout) DeepCopy ¶
func (in *SwitchStateBreakout) DeepCopy() *SwitchStateBreakout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBreakout.
func (*SwitchStateBreakout) DeepCopyInto ¶
func (in *SwitchStateBreakout) DeepCopyInto(out *SwitchStateBreakout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateCRM ¶
type SwitchStateCRM struct { ACLStats SwitchStateCRMACLStats `json:"aclStats,omitempty"` Stats SwitchStateCRMStats `json:"stats,omitempty"` }
func (*SwitchStateCRM) DeepCopy ¶
func (in *SwitchStateCRM) DeepCopy() *SwitchStateCRM
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateCRM.
func (*SwitchStateCRM) DeepCopyInto ¶
func (in *SwitchStateCRM) DeepCopyInto(out *SwitchStateCRM)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateCRMACLDetails ¶
type SwitchStateCRMACLDetails struct { GroupsAvailable uint32 `json:"groupsAvailable,omitempty"` GroupsUsed uint32 `json:"groupsUsed,omitempty"` TablesAvailable uint32 `json:"tablesAvailable,omitempty"` TablesUsed uint32 `json:"tablesUsed,omitempty"` }
func (*SwitchStateCRMACLDetails) DeepCopy ¶
func (in *SwitchStateCRMACLDetails) DeepCopy() *SwitchStateCRMACLDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateCRMACLDetails.
func (*SwitchStateCRMACLDetails) DeepCopyInto ¶
func (in *SwitchStateCRMACLDetails) DeepCopyInto(out *SwitchStateCRMACLDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateCRMACLInfo ¶
type SwitchStateCRMACLInfo struct { Lag SwitchStateCRMACLDetails `json:"lag,omitempty"` Port SwitchStateCRMACLDetails `json:"port,omitempty"` RIF SwitchStateCRMACLDetails `json:"rif,omitempty"` Switch SwitchStateCRMACLDetails `json:"switch,omitempty"` VLAN SwitchStateCRMACLDetails `json:"vlan,omitempty"` }
func (*SwitchStateCRMACLInfo) DeepCopy ¶
func (in *SwitchStateCRMACLInfo) DeepCopy() *SwitchStateCRMACLInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateCRMACLInfo.
func (*SwitchStateCRMACLInfo) DeepCopyInto ¶
func (in *SwitchStateCRMACLInfo) DeepCopyInto(out *SwitchStateCRMACLInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateCRMACLStats ¶
type SwitchStateCRMACLStats struct { Egress SwitchStateCRMACLInfo `json:"egress,omitempty"` Ingress SwitchStateCRMACLInfo `json:"ingress,omitempty"` }
func (*SwitchStateCRMACLStats) DeepCopy ¶
func (in *SwitchStateCRMACLStats) DeepCopy() *SwitchStateCRMACLStats
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateCRMACLStats.
func (*SwitchStateCRMACLStats) DeepCopyInto ¶
func (in *SwitchStateCRMACLStats) DeepCopyInto(out *SwitchStateCRMACLStats)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateCRMStats ¶
type SwitchStateCRMStats struct { DnatEntriesAvailable uint32 `json:"dnatEntriesAvailable,omitempty"` DnatEntriesUsed uint32 `json:"dnatEntriesUsed,omitempty"` FdbEntriesAvailable uint32 `json:"fdbEntriesAvailable,omitempty"` FdbEntriesUsed uint32 `json:"fdbEntriesUsed,omitempty"` IpmcEntriesAvailable uint32 `json:"ipmcEntriesAvailable,omitempty"` IpmcEntriesUsed uint32 `json:"ipmcEntriesUsed,omitempty"` Ipv4NeighborsAvailable uint32 `json:"ipv4NeighborsAvailable,omitempty"` Ipv4NeighborsUsed uint32 `json:"ipv4NeighborsUsed,omitempty"` Ipv4NexthopsAvailable uint32 `json:"ipv4NexthopsAvailable,omitempty"` Ipv4NexthopsUsed uint32 `json:"ipv4NexthopsUsed,omitempty"` Ipv4RoutesAvailable uint32 `json:"ipv4RoutesAvailable,omitempty"` Ipv4RoutesUsed uint32 `json:"ipv4RoutesUsed,omitempty"` Ipv6NeighborsAvailable uint32 `json:"ipv6NeighborsAvailable,omitempty"` Ipv6NeighborsUsed uint32 `json:"ipv6NeighborsUsed,omitempty"` Ipv6NexthopsAvailable uint32 `json:"ipv6NexthopsAvailable,omitempty"` Ipv6NexthopsUsed uint32 `json:"ipv6NexthopsUsed,omitempty"` Ipv6RoutesAvailable uint32 `json:"ipv6RoutesAvailable,omitempty"` Ipv6RoutesUsed uint32 `json:"ipv6RoutesUsed,omitempty"` NexthopGroupMembersAvailable uint32 `json:"nexthopGroupMembersAvailable,omitempty"` NexthopGroupMembersUsed uint32 `json:"nexthopGroupMembersUsed,omitempty"` NexthopGroupsAvailable uint32 `json:"nexthopGroupsAvailable,omitempty"` NexthopGroupsUsed uint32 `json:"nexthopGroupsUsed,omitempty"` SnatEntriesAvailable uint32 `json:"snatEntriesAvailable,omitempty"` SnatEntriesUsed uint32 `json:"snatEntriesUsed,omitempty"` }
func (*SwitchStateCRMStats) DeepCopy ¶
func (in *SwitchStateCRMStats) DeepCopy() *SwitchStateCRMStats
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateCRMStats.
func (*SwitchStateCRMStats) DeepCopyInto ¶
func (in *SwitchStateCRMStats) DeepCopyInto(out *SwitchStateCRMStats)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwitchStateInterface ¶
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"` Speed string `json:"speed,omitempty"` Counters *SwitchStateInterfaceCounters `json:"counters,omitempty"` Transceiver *SwitchStateTransceiver `json:"transceiver,omitempty"` LLDPNeighbors []SwitchStateLLDPNeighbor `json:"lldpNeighbors,omitempty"` }
func (*SwitchStateInterface) DeepCopy ¶
func (in *SwitchStateInterface) DeepCopy() *SwitchStateInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateInterface.
func (*SwitchStateInterface) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStateInterfaceCounters) DeepCopy() *SwitchStateInterfaceCounters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateInterfaceCounters.
func (*SwitchStateInterfaceCounters) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStateLLDPNeighbor) DeepCopy() *SwitchStateLLDPNeighbor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateLLDPNeighbor.
func (*SwitchStateLLDPNeighbor) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStateNOS) DeepCopy() *SwitchStateNOS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateNOS.
func (*SwitchStateNOS) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStatePlatform) DeepCopy() *SwitchStatePlatform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatform.
func (*SwitchStatePlatform) DeepCopyInto ¶
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 ¶
type SwitchStatePlatformFan struct { Direction string `json:"direction,omitempty"` Speed float64 `json:"speed,omitempty"` Presence bool `json:"presence,omitempty"` Status bool `json:"status,omitempty"` }
func (*SwitchStatePlatformFan) DeepCopy ¶
func (in *SwitchStatePlatformFan) DeepCopy() *SwitchStatePlatformFan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformFan.
func (*SwitchStatePlatformFan) DeepCopyInto ¶
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 ¶
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"` Presence bool `json:"presence,omitempty"` Status bool `json:"status,omitempty"` }
func (*SwitchStatePlatformPSU) DeepCopy ¶
func (in *SwitchStatePlatformPSU) DeepCopy() *SwitchStatePlatformPSU
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformPSU.
func (*SwitchStatePlatformPSU) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStatePlatformTemperature) DeepCopy() *SwitchStatePlatformTemperature
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformTemperature.
func (*SwitchStatePlatformTemperature) DeepCopyInto ¶
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 ¶
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 ¶
func (in *SwitchStateTransceiver) DeepCopy() *SwitchStateTransceiver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateTransceiver.
func (*SwitchStateTransceiver) DeepCopyInto ¶
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.