v1beta1

package
v0.52.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

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

View Source
const KindAgent = "Agent"
View Source
const (
	VirtualEdgeConfigAnnotation = "virtual-edge.hhfab.fabric.githedgehog.com/external-cfg"
)

Variables

View Source
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;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

func (in *Agent) DeepCopy() *Agent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Agent.

func (*Agent) DeepCopyInto

func (in *Agent) DeepCopyInto(out *Agent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Agent) DeepCopyObject

func (in *Agent) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Agent) IsCollapsedCore

func (a *Agent) IsCollapsedCore() bool

func (*Agent) IsFirstInRedundancyGroup

func (a *Agent) IsFirstInRedundancyGroup() bool

func (*Agent) IsSpineLeaf

func (a *Agent) IsSpineLeaf() bool

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

func (in *AgentList) DeepCopy() *AgentList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList.

func (*AgentList) DeepCopyInto

func (in *AgentList) DeepCopyInto(out *AgentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentList) DeepCopyObject

func (in *AgentList) DeepCopyObject() runtime.Object

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

func (in *AgentSpec) DeepCopy() *AgentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.

func (*AgentSpec) DeepCopyInto

func (in *AgentSpec) DeepCopyInto(out *AgentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AgentSpec) IsVS

func (s *AgentSpec) IsVS() bool

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpecConfigCollapsedCore.

func (*AgentSpecConfigCollapsedCore) DeepCopyInto

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

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

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

Catalog is the Schema for the catalogs API

func (*Catalog) DeepCopy

func (in *Catalog) DeepCopy() *Catalog

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Catalog.

func (*Catalog) DeepCopyInto

func (in *Catalog) DeepCopyInto(out *Catalog)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Catalog) DeepCopyObject

func (in *Catalog) DeepCopyObject() runtime.Object

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateBGPNeighborPrefixes.

func (*SwitchStateBGPNeighborPrefixes) DeepCopyInto

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

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStateInterfaceCounters.

func (*SwitchStateInterfaceCounters) DeepCopyInto

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwitchStatePlatformTemperature.

func (*SwitchStatePlatformTemperature) DeepCopyInto

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

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

func (in *UserCreds) DeepCopy() *UserCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserCreds.

func (*UserCreds) DeepCopyInto

func (in *UserCreds) DeepCopyInto(out *UserCreds)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL