v1alpha1

package
v2.1.2 Latest Latest
Warning

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

Go to latest
Published: May 6, 2024 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ceoslab v1alpha1 API group +kubebuilder:object:generate=true +groupName=ceoslab.arista.com

Index

Constants

This section is empty.

Variables

View Source
var (

	// GroupVersionResource is used to register and type these objects
	GroupVersionResource = schema.GroupVersionResource{Group: group, Version: version, Resource: resource}

	// Used by the dynamic client to create a new device (Kind)
	GroupVersionKind = schema.GroupVersionKind{Group: group, Version: version, Kind: kind}

	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: group, Version: version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CEosLabDevice

type CEosLabDevice struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CEosLabDeviceSpec   `json:"spec,omitempty"`
	Status CEosLabDeviceStatus `json:"status,omitempty"`
}

CEosLabDevice is the Schema for the ceoslabdevices API

func (*CEosLabDevice) DeepCopy

func (in *CEosLabDevice) DeepCopy() *CEosLabDevice

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

func (*CEosLabDevice) DeepCopyInto

func (in *CEosLabDevice) DeepCopyInto(out *CEosLabDevice)

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

func (*CEosLabDevice) DeepCopyObject

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

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

type CEosLabDeviceList

type CEosLabDeviceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CEosLabDevice `json:"items"`
}

CEosLabDeviceList contains a list of CEosLabDevice

func (*CEosLabDeviceList) DeepCopy

func (in *CEosLabDeviceList) DeepCopy() *CEosLabDeviceList

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

func (*CEosLabDeviceList) DeepCopyInto

func (in *CEosLabDeviceList) DeepCopyInto(out *CEosLabDeviceList)

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

func (*CEosLabDeviceList) DeepCopyObject

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

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

type CEosLabDeviceSpec

type CEosLabDeviceSpec struct {

	// Additional environment variables. Those necessary to boot properly are already present.
	EnvVar map[string]string `json:"envvars,omitempty"`
	// Image name. Default: ceos:latest
	Image string `json:"image,omitempty"`
	// Additional arguments to pass to /sbin/init. Those necessary to boot properly are already present.
	Args []string `json:"args,omitempty"`
	// Resource requests to configure on the pod. Default: none
	Resources map[string]string `json:"resourcerequirements,omitempty"`
	// Port mappings for container services. Default: none
	Services map[string]ServiceConfig `json:"services,omitempty"`
	// Init container image name. Default: networkop/init-wait:latest
	InitContainerImage string `json:"initcontainerimage,omitempty"`
	// Number of data interfaces to create. An additional interface (eth0) is created for pod connectivity. Default: 0 interfaces
	NumInterfaces int32 `json:"numinterfaces,omitempty"`
	// Time (in seconds) to wait before starting the device. Default: 0 seconds
	Sleep int32 `json:"sleep,omitempty"`
	// X.509 certificate configuration.
	CertConfig CertConfig `json:"certconfig,omitempty"`
	// Explicit interface mapping between kernel devices and interface names. If this is defined, any unmapped devices are ignored.
	IntfMapping map[string]string `json:"intfmapping,omitempty"`
	// EOS feature toggle overrides
	ToggleOverrides map[string]bool `json:"toggleoverrides,omitempty"`
	// EOS agents to for the startup probe to block on
	WaitForAgents []string `json:"waitforagents,omitempty"`
}

CEosLabDeviceSpec defines the desired state of CEosLabDevice

func (*CEosLabDeviceSpec) DeepCopy

func (in *CEosLabDeviceSpec) DeepCopy() *CEosLabDeviceSpec

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

func (*CEosLabDeviceSpec) DeepCopyInto

func (in *CEosLabDeviceSpec) DeepCopyInto(out *CEosLabDeviceSpec)

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

type CEosLabDeviceStatus

type CEosLabDeviceStatus struct {

	// Device status
	State string `json:"status,omitempty"`
	// Reason for potential failure
	Reason string `json:"reason,omitempty"`

	// ConfigMap state as configured in configmaps
	ConfigMapStatus ConfigMapStatus `json:"configmapconfig,omitempty"`
	// ConfigMap state as present in the pod. If these diverge, we need to restart the pod to
	// update. Even if an in-place update is possible these are needed at boot time.
	PodConfigMapStatus ConfigMapStatus `json:"podconfigmapconfig,omitempty"`
}

CEosLabDeviceStatus defines the observed state of CEosLabDevice

func (*CEosLabDeviceStatus) DeepCopy

func (in *CEosLabDeviceStatus) DeepCopy() *CEosLabDeviceStatus

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

func (*CEosLabDeviceStatus) DeepCopyInto

func (in *CEosLabDeviceStatus) DeepCopyInto(out *CEosLabDeviceStatus)

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

type CertConfig

type CertConfig struct {
	// Configuration for self-signed certificates.
	SelfSignedCerts []SelfSignedCertConfig `json:"selfsignedcerts,omitempty"`
}

func (*CertConfig) DeepCopy

func (in *CertConfig) DeepCopy() *CertConfig

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

func (*CertConfig) DeepCopyInto

func (in *CertConfig) DeepCopyInto(out *CertConfig)

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

type ConfigMapStatus

type ConfigMapStatus struct {
	SelfSignedCertStatus         map[string]SelfSignedCertConfig `json:"selfsignedcertstatus,omitempty"`
	IntfMappingStatus            map[string]string               `json:"intfmappingstatus,omitempty"`
	ToggleOverridesStatus        map[string]bool                 `json:"toggleoverridesstatus,omitempty"`
	RcEosStale                   bool                            `json:"rceosstale,omitempty"`
	StartupConfigResourceVersion *string                         `json:"startupconfigresourceversion,omitempty"`
}

func (*ConfigMapStatus) DeepCopy

func (in *ConfigMapStatus) DeepCopy() *ConfigMapStatus

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

func (*ConfigMapStatus) DeepCopyInto

func (in *ConfigMapStatus) DeepCopyInto(out *ConfigMapStatus)

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

type PortConfig

type PortConfig struct {
	// Port inside the container.
	In int32 `json:"in,omitempty"`
	// Port outside the container. Defaults to the same as in.
	Out int32 `json:"out,omitempty"`
}

func (*PortConfig) DeepCopy

func (in *PortConfig) DeepCopy() *PortConfig

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

func (*PortConfig) DeepCopyInto

func (in *PortConfig) DeepCopyInto(out *PortConfig)

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

type SelfSignedCertConfig

type SelfSignedCertConfig struct {
	// Certificate name on the node.
	CertName string `json:"certname,omitempty"`
	// Key name on the node.
	KeyName string `json:"keyname,omitempty"`
	// RSA keysize to use for key generation.
	KeySize int32 `json:"keysize,omitempty"`
	// Common name to set in the cert.
	CommonName string `json:"commonname,omitempty"`
}

func (*SelfSignedCertConfig) DeepCopy

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

func (*SelfSignedCertConfig) DeepCopyInto

func (in *SelfSignedCertConfig) DeepCopyInto(out *SelfSignedCertConfig)

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

type ServiceConfig

type ServiceConfig struct {
	// TCP ports to forward to the pod.
	TCPPorts []PortConfig `json:"tcpports,omitempty"`
}

func (*ServiceConfig) DeepCopy

func (in *ServiceConfig) DeepCopy() *ServiceConfig

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

func (*ServiceConfig) DeepCopyInto

func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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