v1alpha2

package
v0.34.1 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

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

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: "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 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.nosInfo.hwskuVersion`,priority=1 +kubebuilder:printcolumn:name="ASIC",type=string,JSONPath=`.status.nosInfo.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.nosInfo.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"`
	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

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

TODO replace with real profile, temp hack

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

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"`
	// Information about the switch and NOS
	NOSInfo NOSInfo `json:"nosInfo,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 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 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 NOSInfo

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

NOSInfo contains information about the switch and NOS received from the switch itself by the agent

func (*NOSInfo) DeepCopy

func (in *NOSInfo) DeepCopy() *NOSInfo

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

func (*NOSInfo) DeepCopyInto

func (in *NOSInfo) DeepCopyInto(out *NOSInfo)

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