v1alpha1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: Apache-2.0 Imports: 22 Imported by: 60

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the metal3.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=metal3.io

Index

Constants

View Source
const (
	// BareMetalHostFinalizer is the name of the finalizer added to
	// hosts to block delete operations until the physical host can be
	// deprovisioned.
	BareMetalHostFinalizer string = "baremetalhost.metal3.io"

	// PausedAnnotation is the annotation that pauses the reconciliation (triggers
	// an immediate requeue).
	PausedAnnotation = "baremetalhost.metal3.io/paused"

	// DetachedAnnotation is the annotation which stops provisioner management of the host
	// unlike in the paused case, the host status may be updated.
	DetachedAnnotation = "baremetalhost.metal3.io/detached"

	// StatusAnnotation is the annotation that keeps a copy of the Status of BMH
	// This is particularly useful when we pivot BMH. If the status
	// annotation is present and status is empty, BMO will reconstruct BMH Status
	// from the status annotation.
	StatusAnnotation = "baremetalhost.metal3.io/status"

	// RebootAnnotationPrefix is the annotation which tells the host which mode to use
	// when rebooting - hard/soft.
	RebootAnnotationPrefix = "reboot.metal3.io"

	// InspectAnnotationPrefix is used to specify if automatic introspection carried out
	// during registration of BMH is enabled or disabled.
	InspectAnnotationPrefix = "inspect.metal3.io"

	// HardwareDetailsAnnotation provides the hardware details for the host
	// in case its not already part of the host status and when introspection
	// is disabled.
	HardwareDetailsAnnotation = InspectAnnotationPrefix + "/hardwaredetails"

	// InspectAnnotationValueDisabled is a constant string="disabled"
	// This is particularly useful to check if inspect annotation is disabled
	// inspect.metal3.io=disabled.
	InspectAnnotationValueDisabled = "disabled"
)
View Source
const (
	Byte     Capacity = 1
	KibiByte          = Byte * 1024
	KiloByte          = Byte * 1000
	MebiByte          = KibiByte * 1024
	MegaByte          = KiloByte * 1000
	GibiByte          = MebiByte * 1024
	GigaByte          = MegaByte * 1000
	TebiByte          = GibiByte * 1024
	TeraByte          = GigaByte * 1000
)

Capacity multipliers.

View Source
const (
	DetachedDeleteActionDelay  = "delay"
	DetachedDeleteActionDelete = "delete"
)
View Source
const (

	// BMCEventSubscriptionFinalizer is the name of the finalizer added to
	// subscriptions to block delete operations until the subscription is removed
	// from the BMC.
	BMCEventSubscriptionFinalizer string = "bmceventsubscription.metal3.io"
)
View Source
const DataImageFinalizer = "dataimage.metal3.io"
View Source
const PreprovisioningImageFinalizer = "preprovisioningimage.metal3.io"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "metal3.io", Version: "v1alpha1"}

	// 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
)

ErrorTypeAllowed represents the allowed values of ErrorType.

OperationalStatusAllowed represents the allowed values of OperationalStatus.

Functions

This section is empty.

Types

type AttachedImageReference added in v0.6.0

type AttachedImageReference struct {
	URL string `json:"url"`
}

Contains the DataImage currently attached to the BMH.

func (*AttachedImageReference) DeepCopy added in v0.6.0

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

func (*AttachedImageReference) DeepCopyInto added in v0.6.0

func (in *AttachedImageReference) DeepCopyInto(out *AttachedImageReference)

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

type AutomatedCleaningMode

type AutomatedCleaningMode string

AutomatedCleaningMode is the interface to enable/disable automated cleaning +kubebuilder:validation:Enum:=metadata;disabled

const (
	CleaningModeDisabled AutomatedCleaningMode = "disabled"
	CleaningModeMetadata AutomatedCleaningMode = "metadata"
)

Allowed automated cleaning modes.

type BIOS

type BIOS struct {
	// The release/build date for this BIOS
	Date string `json:"date,omitempty"`

	// The vendor name for this BIOS
	Vendor string `json:"vendor,omitempty"`

	// The version of the BIOS
	Version string `json:"version,omitempty"`
}

BIOS describes the BIOS version on the host.

func (*BIOS) DeepCopy

func (in *BIOS) DeepCopy() *BIOS

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

func (*BIOS) DeepCopyInto

func (in *BIOS) DeepCopyInto(out *BIOS)

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

type BMCDetails

type BMCDetails struct {

	// Address holds the URL for accessing the controller on the
	// network.
	Address string `json:"address"`

	// The name of the secret containing the BMC credentials (requires
	// keys "username" and "password").
	CredentialsName string `json:"credentialsName"`

	// DisableCertificateVerification disables verification of server
	// certificates when using HTTPS to connect to the BMC. This is
	// required when the server certificate is self-signed, but is
	// insecure because it allows a man-in-the-middle to intercept the
	// connection.
	DisableCertificateVerification bool `json:"disableCertificateVerification,omitempty"`
}

BMCDetails contains the information necessary to communicate with the bare metal controller module on host.

func (*BMCDetails) DeepCopy

func (in *BMCDetails) DeepCopy() *BMCDetails

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

func (*BMCDetails) DeepCopyInto

func (in *BMCDetails) DeepCopyInto(out *BMCDetails)

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

type BMCEventSubscription

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

	Spec   BMCEventSubscriptionSpec   `json:"spec,omitempty"`
	Status BMCEventSubscriptionStatus `json:"status,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

BMCEventSubscription is the Schema for the fast eventing API +k8s:openapi-gen=true +kubebuilder:resource:shortName=bes;bmcevent +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Error",type="string",JSONPath=".status.error",description="The most recent error message" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of BMCEventSubscription" +kubebuilder:object:root=true

func (*BMCEventSubscription) DeepCopy

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

func (*BMCEventSubscription) DeepCopyInto

func (in *BMCEventSubscription) DeepCopyInto(out *BMCEventSubscription)

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

func (*BMCEventSubscription) DeepCopyObject

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

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

func (*BMCEventSubscription) ValidateCreate

func (s *BMCEventSubscription) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*BMCEventSubscription) ValidateDelete

func (s *BMCEventSubscription) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*BMCEventSubscription) ValidateUpdate

func (s *BMCEventSubscription) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

We prevent updates to the spec. All other updates (e.g. status, finalizers) are allowed.

type BMCEventSubscriptionList

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

BMCEventSubscriptionList contains a list of BMCEventSubscriptions.

func (*BMCEventSubscriptionList) DeepCopy

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

func (*BMCEventSubscriptionList) DeepCopyInto

func (in *BMCEventSubscriptionList) DeepCopyInto(out *BMCEventSubscriptionList)

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

func (*BMCEventSubscriptionList) DeepCopyObject

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

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

type BMCEventSubscriptionSpec

type BMCEventSubscriptionSpec struct {
	// A reference to a BareMetalHost
	HostName string `json:"hostName,omitempty"`

	// A webhook URL to send events to
	Destination string `json:"destination,omitempty"`

	// Arbitrary user-provided context for the event
	Context string `json:"context,omitempty"`

	// A secret containing HTTP headers which should be passed along to the Destination
	// when making a request
	HTTPHeadersRef *corev1.SecretReference `json:"httpHeadersRef,omitempty"`
}

func (*BMCEventSubscriptionSpec) DeepCopy

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

func (*BMCEventSubscriptionSpec) DeepCopyInto

func (in *BMCEventSubscriptionSpec) DeepCopyInto(out *BMCEventSubscriptionSpec)

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

type BMCEventSubscriptionStatus

type BMCEventSubscriptionStatus struct {
	SubscriptionID string `json:"subscriptionID,omitempty"`
	Error          string `json:"error,omitempty"`
}

func (*BMCEventSubscriptionStatus) DeepCopy

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

func (*BMCEventSubscriptionStatus) DeepCopyInto

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

type BareMetalHost

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

	Spec   BareMetalHostSpec   `json:"spec,omitempty"`
	Status BareMetalHostStatus `json:"status,omitempty"`
}

BareMetalHost is the Schema for the baremetalhosts API +k8s:openapi-gen=true +kubebuilder:resource:shortName=bmh;bmhost +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.operationalStatus",description="Operational status",priority=1 +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.provisioning.state",description="Provisioning status" +kubebuilder:printcolumn:name="Consumer",type="string",JSONPath=".spec.consumerRef.name",description="Consumer using this host" +kubebuilder:printcolumn:name="BMC",type="string",JSONPath=".spec.bmc.address",description="Address of management controller",priority=1 +kubebuilder:printcolumn:name="Hardware_Profile",type="string",JSONPath=".status.hardwareProfile",description="The type of hardware detected",priority=1 +kubebuilder:printcolumn:name="Online",type="string",JSONPath=".spec.online",description="Whether the host is online or not" +kubebuilder:printcolumn:name="Error",type="string",JSONPath=".status.errorType",description="Type of the most recent error" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of BaremetalHost" +kubebuilder:object:root=true

func (*BareMetalHost) BootMode

func (host *BareMetalHost) BootMode() BootMode

BootMode returns the boot method to use for the host.

func (*BareMetalHost) CredentialsKey

func (host *BareMetalHost) CredentialsKey() types.NamespacedName

CredentialsKey returns a NamespacedName suitable for loading the Secret containing the credentials associated with the host.

func (*BareMetalHost) DeepCopy

func (in *BareMetalHost) DeepCopy() *BareMetalHost

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

func (*BareMetalHost) DeepCopyInto

func (in *BareMetalHost) DeepCopyInto(out *BareMetalHost)

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

func (*BareMetalHost) DeepCopyObject

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

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

func (*BareMetalHost) HardwareProfile

func (host *BareMetalHost) HardwareProfile() string

HardwareProfile returns the hardware profile name for the host.

func (*BareMetalHost) HasBMCDetails

func (host *BareMetalHost) HasBMCDetails() bool

HasBMCDetails returns true if the BMC details are set.

func (*BareMetalHost) NeedsHardwareInspection

func (host *BareMetalHost) NeedsHardwareInspection() bool

NeedsHardwareInspection looks at the state of the host to determine if hardware inspection should be run.

func (*BareMetalHost) NeedsHardwareProfile

func (host *BareMetalHost) NeedsHardwareProfile() bool

NeedsHardwareProfile returns true if the profile is not set.

func (*BareMetalHost) NeedsProvisioning

func (host *BareMetalHost) NeedsProvisioning() bool

NeedsProvisioning compares the settings with the provisioning status and returns true when more work is needed or false otherwise.

func (*BareMetalHost) NewEvent

func (host *BareMetalHost) NewEvent(reason, message string) corev1.Event

NewEvent creates a new event associated with the object and ready to be published to the kubernetes API.

func (*BareMetalHost) OperationMetricForState

func (host *BareMetalHost) OperationMetricForState(operation ProvisioningState) (metric *OperationMetric)

OperationMetricForState returns a pointer to the metric for the given provisioning state.

func (*BareMetalHost) OperationalStatus

func (host *BareMetalHost) OperationalStatus() OperationalStatus

OperationalStatus returns the contents of the OperationalStatus field.

func (*BareMetalHost) SetHardwareProfile

func (host *BareMetalHost) SetHardwareProfile(name string) (dirty bool)

SetHardwareProfile updates the hardware profile name and returns true when a change is made or false when no change is made.

func (*BareMetalHost) SetOperationalStatus

func (host *BareMetalHost) SetOperationalStatus(status OperationalStatus) bool

SetOperationalStatus updates the OperationalStatus field and returns true when a change is made or false when no change is made.

func (*BareMetalHost) UpdateGoodCredentials

func (host *BareMetalHost) UpdateGoodCredentials(currentSecret corev1.Secret)

UpdateGoodCredentials modifies the GoodCredentials portion of the Status struct to record the details of the secret containing credentials known to work.

func (*BareMetalHost) UpdateTriedCredentials

func (host *BareMetalHost) UpdateTriedCredentials(currentSecret corev1.Secret)

UpdateTriedCredentials modifies the TriedCredentials portion of the Status struct to record the details of the secret containing credentials known to work.

func (*BareMetalHost) ValidateCreate

func (r *BareMetalHost) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*BareMetalHost) ValidateDelete

func (r *BareMetalHost) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*BareMetalHost) ValidateUpdate

func (r *BareMetalHost) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

func (*BareMetalHost) WasProvisioned

func (host *BareMetalHost) WasProvisioned() bool

WasProvisioned returns true when we think we have placed an image on the host.

type BareMetalHostList

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

BareMetalHostList contains a list of BareMetalHost.

func (*BareMetalHostList) DeepCopy

func (in *BareMetalHostList) DeepCopy() *BareMetalHostList

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

func (*BareMetalHostList) DeepCopyInto

func (in *BareMetalHostList) DeepCopyInto(out *BareMetalHostList)

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

func (*BareMetalHostList) DeepCopyObject

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

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

type BareMetalHostSpec

type BareMetalHostSpec struct {

	// Taints is the full, authoritative list of taints to apply to
	// the corresponding Machine. This list will overwrite any
	// modifications made to the Machine on an ongoing basis.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	// How do we connect to the BMC?
	BMC BMCDetails `json:"bmc,omitempty"`

	// RAID configuration for bare metal server
	RAID *RAIDConfig `json:"raid,omitempty"`

	// BIOS configuration for bare metal server
	Firmware *FirmwareConfig `json:"firmware,omitempty"`

	// What is the name of the hardware profile for this host?
	// Hardware profiles are deprecated and should not be used.
	// Use the separate fields Architecture and RootDeviceHints instead.
	// Set to "empty" to prepare for the future version of the API
	// without hardware profiles.
	HardwareProfile string `json:"hardwareProfile,omitempty"`

	// Provide guidance about how to choose the device for the image
	// being provisioned.
	RootDeviceHints *RootDeviceHints `json:"rootDeviceHints,omitempty"`

	// Select the method of initializing the hardware during
	// boot. Defaults to UEFI.
	// +optional
	BootMode BootMode `json:"bootMode,omitempty"`

	// Which MAC address will PXE boot? This is optional for some
	// types, but required for libvirt VMs driven by vbmc.
	// +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}`
	BootMACAddress string `json:"bootMACAddress,omitempty"`

	// Should the server be online?
	Online bool `json:"online"`

	// ConsumerRef can be used to store information about something
	// that is using a host. When it is not empty, the host is
	// considered "in use".
	ConsumerRef *corev1.ObjectReference `json:"consumerRef,omitempty"`

	// Image holds the details of the image to be provisioned.
	Image *Image `json:"image,omitempty"`

	// UserData holds the reference to the Secret containing the user
	// data to be passed to the host before it boots.
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// PreprovisioningNetworkDataName is the name of the Secret in the
	// local namespace containing network configuration (e.g content of
	// network_data.json) which is passed to the preprovisioning image, and to
	// the Config Drive if not overridden by specifying NetworkData.
	PreprovisioningNetworkDataName string `json:"preprovisioningNetworkDataName,omitempty"`

	// NetworkData holds the reference to the Secret containing network
	// configuration (e.g content of network_data.json) which is passed
	// to the Config Drive.
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// MetaData holds the reference to the Secret containing host metadata
	// (e.g. meta_data.json) which is passed to the Config Drive.
	MetaData *corev1.SecretReference `json:"metaData,omitempty"`

	// Description is a human-entered text used to help identify the host
	Description string `json:"description,omitempty"`

	// ExternallyProvisioned means something else is managing the
	// image running on the host and the operator should only manage
	// the power status and hardware inventory inspection. If the
	// Image field is filled in, this field is ignored.
	ExternallyProvisioned bool `json:"externallyProvisioned,omitempty"`

	// When set to disabled, automated cleaning will be avoided
	// during provisioning and deprovisioning.
	// +optional
	// +kubebuilder:default:=metadata
	// +kubebuilder:validation:Optional
	AutomatedCleaningMode AutomatedCleaningMode `json:"automatedCleaningMode,omitempty"`

	// A custom deploy procedure.
	// +optional
	CustomDeploy *CustomDeploy `json:"customDeploy,omitempty"`

	// CPU architecture of the host, e.g. "x86_64" or "aarch64". If unset, eventually populated by inspection.
	// +optional
	Architecture string `json:"architecture,omitempty"`
}

BareMetalHostSpec defines the desired state of BareMetalHost.

func (*BareMetalHostSpec) DeepCopy

func (in *BareMetalHostSpec) DeepCopy() *BareMetalHostSpec

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

func (*BareMetalHostSpec) DeepCopyInto

func (in *BareMetalHostSpec) DeepCopyInto(out *BareMetalHostSpec)

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

type BareMetalHostStatus

type BareMetalHostStatus struct {

	// OperationalStatus holds the status of the host
	// +kubebuilder:validation:Enum="";OK;discovered;error;delayed;detached
	OperationalStatus OperationalStatus `json:"operationalStatus"`

	// ErrorType indicates the type of failure encountered when the
	// OperationalStatus is OperationalStatusError
	// +kubebuilder:validation:Enum=provisioned registration error;registration error;inspection error;preparation error;provisioning error;power management error
	ErrorType ErrorType `json:"errorType,omitempty"`

	// LastUpdated identifies when this status was last observed.
	// +optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`

	// The name of the profile matching the hardware details.
	HardwareProfile string `json:"hardwareProfile"`

	// The hardware discovered to exist on the host.
	HardwareDetails *HardwareDetails `json:"hardware,omitempty"`

	// Information tracked by the provisioner.
	Provisioning ProvisionStatus `json:"provisioning"`

	// the last credentials we were able to validate as working
	GoodCredentials CredentialsStatus `json:"goodCredentials,omitempty"`

	// the last credentials we sent to the provisioning backend
	TriedCredentials CredentialsStatus `json:"triedCredentials,omitempty"`

	// the last error message reported by the provisioning subsystem
	ErrorMessage string `json:"errorMessage"`

	// indicator for whether or not the host is powered on
	PoweredOn bool `json:"poweredOn"`

	// OperationHistory holds information about operations performed
	// on this host.
	OperationHistory OperationHistory `json:"operationHistory,omitempty"`

	// ErrorCount records how many times the host has encoutered an error since the last successful operation
	// +kubebuilder:default:=0
	ErrorCount int `json:"errorCount"`
}

BareMetalHostStatus defines the observed state of BareMetalHost.

func (*BareMetalHostStatus) DeepCopy

func (in *BareMetalHostStatus) DeepCopy() *BareMetalHostStatus

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

func (*BareMetalHostStatus) DeepCopyInto

func (in *BareMetalHostStatus) DeepCopyInto(out *BareMetalHostStatus)

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

type BootMode

type BootMode string

BootMode is the boot mode of the system. +kubebuilder:validation:Enum=UEFI;UEFISecureBoot;legacy

const (
	UEFI            BootMode = "UEFI"
	UEFISecureBoot  BootMode = "UEFISecureBoot"
	Legacy          BootMode = "legacy"
	DefaultBootMode BootMode = UEFI
)

Allowed boot mode from metal3.

type CPU

type CPU struct {
	Arch           string     `json:"arch,omitempty"`
	Model          string     `json:"model,omitempty"`
	ClockMegahertz ClockSpeed `json:"clockMegahertz,omitempty"`
	Flags          []string   `json:"flags,omitempty"`
	Count          int        `json:"count,omitempty"`
}

CPU describes one processor on the host.

func (*CPU) DeepCopy

func (in *CPU) DeepCopy() *CPU

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

func (*CPU) DeepCopyInto

func (in *CPU) DeepCopyInto(out *CPU)

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

type Capacity

type Capacity int64

Capacity is a disk size in Bytes.

type ChecksumType

type ChecksumType string

ChecksumType holds the algorithm name for the checksum +kubebuilder:validation:Enum=md5;sha256;sha512;auto

const (
	// MD5 checksum type.
	MD5 ChecksumType = "md5"

	// SHA256 checksum type.
	SHA256 ChecksumType = "sha256"

	// SHA512 checksum type.
	SHA512 ChecksumType = "sha512"

	// Automatically detect.
	AutoChecksum ChecksumType = "auto"
)

type ClockSpeed

type ClockSpeed float64

ClockSpeed is a clock speed in MHz +kubebuilder:validation:Format=double

const (
	MegaHertz ClockSpeed = 1.0
	GigaHertz            = 1000 * MegaHertz
)

ClockSpeed multipliers.

type CredentialsStatus

type CredentialsStatus struct {
	Reference *corev1.SecretReference `json:"credentials,omitempty"`
	Version   string                  `json:"credentialsVersion,omitempty"`
}

CredentialsStatus contains the reference and version of the last set of BMC credentials the controller was able to validate.

func (*CredentialsStatus) DeepCopy

func (in *CredentialsStatus) DeepCopy() *CredentialsStatus

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

func (*CredentialsStatus) DeepCopyInto

func (in *CredentialsStatus) DeepCopyInto(out *CredentialsStatus)

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

func (CredentialsStatus) Match

func (cs CredentialsStatus) Match(secret corev1.Secret) bool

Match compares the saved status information with the name and content of a secret object.

type CustomDeploy

type CustomDeploy struct {
	// Custom deploy method name.
	// This name is specific to the deploy ramdisk used. If you don't have
	// a custom deploy ramdisk, you shouldn't use CustomDeploy.
	Method string `json:"method"`
}

Custom deploy is a description of a customized deploy process.

func (*CustomDeploy) DeepCopy

func (in *CustomDeploy) DeepCopy() *CustomDeploy

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

func (*CustomDeploy) DeepCopyInto

func (in *CustomDeploy) DeepCopyInto(out *CustomDeploy)

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

type DataImage added in v0.6.0

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

	Spec   DataImageSpec   `json:"spec,omitempty"`
	Status DataImageStatus `json:"status,omitempty"`
}

DataImage is the Schema for the dataimages API.

func (*DataImage) DeepCopy added in v0.6.0

func (in *DataImage) DeepCopy() *DataImage

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

func (*DataImage) DeepCopyInto added in v0.6.0

func (in *DataImage) DeepCopyInto(out *DataImage)

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

func (*DataImage) DeepCopyObject added in v0.6.0

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

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

type DataImageError added in v0.6.0

type DataImageError struct {
	Count   int    `json:"count"`
	Message string `json:"message"`
}

Contains the count of errors and the last error message.

func (*DataImageError) DeepCopy added in v0.6.0

func (in *DataImageError) DeepCopy() *DataImageError

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

func (*DataImageError) DeepCopyInto added in v0.6.0

func (in *DataImageError) DeepCopyInto(out *DataImageError)

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

type DataImageList added in v0.6.0

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

DataImageList contains a list of DataImage.

func (*DataImageList) DeepCopy added in v0.6.0

func (in *DataImageList) DeepCopy() *DataImageList

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

func (*DataImageList) DeepCopyInto added in v0.6.0

func (in *DataImageList) DeepCopyInto(out *DataImageList)

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

func (*DataImageList) DeepCopyObject added in v0.6.0

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

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

type DataImageSpec added in v0.6.0

type DataImageSpec struct {
	// Url is the address of the dataImage that we want to attach
	// to a BareMetalHost
	URL string `json:"url"`
}

DataImageSpec defines the desired state of DataImage.

func (*DataImageSpec) DeepCopy added in v0.6.0

func (in *DataImageSpec) DeepCopy() *DataImageSpec

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

func (*DataImageSpec) DeepCopyInto added in v0.6.0

func (in *DataImageSpec) DeepCopyInto(out *DataImageSpec)

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

type DataImageStatus added in v0.6.0

type DataImageStatus struct {
	// Time of last reconciliation
	// +optional
	LastReconciled *metav1.Time `json:"lastReconciled,omitempty"`

	// Currently attached DataImage
	AttachedImage *AttachedImageReference `json:"attachedImage,omitempty"`

	// Error count and message when attaching/detaching
	Error *DataImageError `json:"error,omitempty"`
}

DataImageStatus defines the observed state of DataImage.

func (*DataImageStatus) DeepCopy added in v0.6.0

func (in *DataImageStatus) DeepCopy() *DataImageStatus

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

func (*DataImageStatus) DeepCopyInto added in v0.6.0

func (in *DataImageStatus) DeepCopyInto(out *DataImageStatus)

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

type DesiredSettingsMap

type DesiredSettingsMap map[string]intstr.IntOrString

func (DesiredSettingsMap) DeepCopy

func (in DesiredSettingsMap) DeepCopy() DesiredSettingsMap

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

func (DesiredSettingsMap) DeepCopyInto

func (in DesiredSettingsMap) DeepCopyInto(out *DesiredSettingsMap)

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

type DetachedAnnotationArguments added in v0.3.0

type DetachedAnnotationArguments struct {
	// DeleteAction indicates the desired delete logic when the detached annotation is present
	DeleteAction DetachedDeleteAction `json:"deleteAction,omitempty"`
}

func (*DetachedAnnotationArguments) DeepCopy added in v0.3.0

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

func (*DetachedAnnotationArguments) DeepCopyInto added in v0.3.0

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

type DetachedDeleteAction added in v0.3.0

type DetachedDeleteAction string

type DiskType

type DiskType string

DiskType is a disk type, i.e. HDD, SSD, NVME.

const (
	HDD  DiskType = "HDD"
	SSD  DiskType = "SSD"
	NVME DiskType = "NVME"
)

DiskType constants.

type ErrorType

type ErrorType string

ErrorType indicates the class of problem that has caused the Host resource to enter an error state.

const (
	// ProvisionedRegistrationError is an error condition occurring when the controller
	// is unable to re-register an already provisioned host.
	ProvisionedRegistrationError ErrorType = "provisioned registration error"
	// RegistrationError is an error condition occurring when the
	// controller is unable to connect to the Host's baseboard management
	// controller.
	RegistrationError ErrorType = "registration error"
	// InspectionError is an error condition occurring when an attempt to
	// obtain hardware details from the Host fails.
	InspectionError ErrorType = "inspection error"
	// PreparationError is an error condition occurring when do
	// cleaning steps failed.
	PreparationError ErrorType = "preparation error"
	// ProvisioningError is an error condition occurring when the controller
	// fails to provision or deprovision the Host.
	ProvisioningError ErrorType = "provisioning error"
	// PowerManagementError is an error condition occurring when the
	// controller is unable to modify the power state of the Host.
	PowerManagementError ErrorType = "power management error"
	// DetachError is an error condition occurring when the
	// controller is unable to detatch the host from the provisioner.
	DetachError ErrorType = "detach error"
)

type Firmware

type Firmware struct {
	// The BIOS for this firmware
	BIOS BIOS `json:"bios,omitempty"`
}

Firmware describes the firmware on the host.

func (*Firmware) DeepCopy

func (in *Firmware) DeepCopy() *Firmware

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

func (*Firmware) DeepCopyInto

func (in *Firmware) DeepCopyInto(out *Firmware)

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

type FirmwareComponentStatus added in v0.6.0

type FirmwareComponentStatus struct {
	Component          string      `json:"component"`
	InitialVersion     string      `json:"initialVersion"`
	CurrentVersion     string      `json:"currentVersion,omitempty"`
	LastVersionFlashed string      `json:"lastVersionFlashed,omitempty"`
	UpdatedAt          metav1.Time `json:"updatedAt,omitempty"`
}

FirmwareComponentStatus defines the status of a firmware component.

func (*FirmwareComponentStatus) DeepCopy added in v0.6.0

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

func (*FirmwareComponentStatus) DeepCopyInto added in v0.6.0

func (in *FirmwareComponentStatus) DeepCopyInto(out *FirmwareComponentStatus)

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

type FirmwareConfig

type FirmwareConfig struct {
	// Supports the virtualization of platform hardware.
	// This supports following options: true, false.
	// +kubebuilder:validation:Enum=true;false
	VirtualizationEnabled *bool `json:"virtualizationEnabled,omitempty"`

	// Allows a single physical processor core to appear as several logical processors.
	// This supports following options: true, false.
	// +kubebuilder:validation:Enum=true;false
	SimultaneousMultithreadingEnabled *bool `json:"simultaneousMultithreadingEnabled,omitempty"`

	// SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance.
	// This supports following options: true, false.
	// +kubebuilder:validation:Enum=true;false
	SriovEnabled *bool `json:"sriovEnabled,omitempty"`
}

FirmwareConfig contains the configuration that you want to configure BIOS settings in Bare metal server.

func (*FirmwareConfig) DeepCopy

func (in *FirmwareConfig) DeepCopy() *FirmwareConfig

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

func (*FirmwareConfig) DeepCopyInto

func (in *FirmwareConfig) DeepCopyInto(out *FirmwareConfig)

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

type FirmwareSchema

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

	Spec FirmwareSchemaSpec `json:"spec,omitempty"`
}

FirmwareSchema is the Schema for the firmwareschemas API.

func (*FirmwareSchema) DeepCopy

func (in *FirmwareSchema) DeepCopy() *FirmwareSchema

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

func (*FirmwareSchema) DeepCopyInto

func (in *FirmwareSchema) DeepCopyInto(out *FirmwareSchema)

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

func (*FirmwareSchema) DeepCopyObject

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

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

func (*FirmwareSchema) ValidateSetting

func (host *FirmwareSchema) ValidateSetting(name string, value intstr.IntOrString, schemas map[string]SettingSchema) error

Check whether the setting's name and value is valid using the schema.

type FirmwareSchemaList

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

FirmwareSchemaList contains a list of FirmwareSchema.

func (*FirmwareSchemaList) DeepCopy

func (in *FirmwareSchemaList) DeepCopy() *FirmwareSchemaList

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

func (*FirmwareSchemaList) DeepCopyInto

func (in *FirmwareSchemaList) DeepCopyInto(out *FirmwareSchemaList)

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

func (*FirmwareSchemaList) DeepCopyObject

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

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

type FirmwareSchemaSpec

type FirmwareSchemaSpec struct {

	// The hardware vendor associated with this schema
	// +optional
	HardwareVendor string `json:"hardwareVendor,omitempty"`

	// The hardware model associated with this schema
	// +optional
	HardwareModel string `json:"hardwareModel,omitempty"`

	// Map of firmware name to schema
	Schema map[string]SettingSchema `json:"schema" required:"true"`
}

FirmwareSchemaSpec defines the desired state of FirmwareSchema.

func (*FirmwareSchemaSpec) DeepCopy

func (in *FirmwareSchemaSpec) DeepCopy() *FirmwareSchemaSpec

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

func (*FirmwareSchemaSpec) DeepCopyInto

func (in *FirmwareSchemaSpec) DeepCopyInto(out *FirmwareSchemaSpec)

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

type FirmwareUpdate added in v0.6.0

type FirmwareUpdate struct {
	Component string `json:"component"`
	URL       string `json:"url"`
}

FirmwareUpdate defines a firmware update specification.

func (*FirmwareUpdate) DeepCopy added in v0.6.0

func (in *FirmwareUpdate) DeepCopy() *FirmwareUpdate

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

func (*FirmwareUpdate) DeepCopyInto added in v0.6.0

func (in *FirmwareUpdate) DeepCopyInto(out *FirmwareUpdate)

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

type HardwareData

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

	Spec HardwareDataSpec `json:"spec,omitempty"`
}

HardwareData is the Schema for the hardwaredata API.

func (*HardwareData) DeepCopy

func (in *HardwareData) DeepCopy() *HardwareData

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

func (*HardwareData) DeepCopyInto

func (in *HardwareData) DeepCopyInto(out *HardwareData)

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

func (*HardwareData) DeepCopyObject

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

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

type HardwareDataList

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

HardwareDataList contains a list of HardwareData.

func (*HardwareDataList) DeepCopy

func (in *HardwareDataList) DeepCopy() *HardwareDataList

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

func (*HardwareDataList) DeepCopyInto

func (in *HardwareDataList) DeepCopyInto(out *HardwareDataList)

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

func (*HardwareDataList) DeepCopyObject

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

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

type HardwareDataSpec

type HardwareDataSpec struct {

	// The hardware discovered on the host during its inspection.
	HardwareDetails *HardwareDetails `json:"hardware,omitempty"`
}

HardwareDataSpec defines the desired state of HardwareData.

func (*HardwareDataSpec) DeepCopy

func (in *HardwareDataSpec) DeepCopy() *HardwareDataSpec

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

func (*HardwareDataSpec) DeepCopyInto

func (in *HardwareDataSpec) DeepCopyInto(out *HardwareDataSpec)

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

type HardwareDetails

type HardwareDetails struct {
	SystemVendor HardwareSystemVendor `json:"systemVendor,omitempty"`
	Firmware     Firmware             `json:"firmware,omitempty"`
	RAMMebibytes int                  `json:"ramMebibytes,omitempty"`
	NIC          []NIC                `json:"nics,omitempty"`
	Storage      []Storage            `json:"storage,omitempty"`
	CPU          CPU                  `json:"cpu,omitempty"`
	Hostname     string               `json:"hostname,omitempty"`
}

HardwareDetails collects all of the information about hardware discovered on the host.

func (*HardwareDetails) DeepCopy

func (in *HardwareDetails) DeepCopy() *HardwareDetails

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

func (*HardwareDetails) DeepCopyInto

func (in *HardwareDetails) DeepCopyInto(out *HardwareDetails)

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

type HardwareRAIDVolume

type HardwareRAIDVolume struct {
	// Size (Integer) of the logical disk to be created in GiB.
	// If unspecified or set be 0, the maximum capacity of disk will be used for logical disk.
	// +kubebuilder:validation:Minimum=0
	SizeGibibytes *int `json:"sizeGibibytes,omitempty"`

	// RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.
	// +kubebuilder:validation:Enum="0";"1";"2";"5";"6";"1+0";"5+0";"6+0"
	Level string `json:"level" required:"true"`

	// Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated.
	// +kubebuilder:validation:MaxLength=64
	Name string `json:"name,omitempty"`

	// Select disks with only rotational or solid-state storage
	Rotational *bool `json:"rotational,omitempty"`

	// Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required
	// for the particular RAID level.
	// +kubebuilder:validation:Minimum=1
	NumberOfPhysicalDisks *int `json:"numberOfPhysicalDisks,omitempty"`

	// The name of the RAID controller to use
	Controller string `json:"controller,omitempty"`

	// Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted
	// by the Hardware RAID controller, and the format is hardware specific.
	PhysicalDisks []string `json:"physicalDisks,omitempty"`
}

HardwareRAIDVolume defines the desired configuration of volume in hardware RAID.

func (*HardwareRAIDVolume) DeepCopy

func (in *HardwareRAIDVolume) DeepCopy() *HardwareRAIDVolume

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

func (*HardwareRAIDVolume) DeepCopyInto

func (in *HardwareRAIDVolume) DeepCopyInto(out *HardwareRAIDVolume)

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

type HardwareSystemVendor

type HardwareSystemVendor struct {
	Manufacturer string `json:"manufacturer,omitempty"`
	ProductName  string `json:"productName,omitempty"`
	SerialNumber string `json:"serialNumber,omitempty"`
}

HardwareSystemVendor stores details about the whole hardware system.

func (*HardwareSystemVendor) DeepCopy

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

func (*HardwareSystemVendor) DeepCopyInto

func (in *HardwareSystemVendor) DeepCopyInto(out *HardwareSystemVendor)

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

type HostFirmwareComponents added in v0.6.0

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

	Spec   HostFirmwareComponentsSpec   `json:"spec,omitempty"`
	Status HostFirmwareComponentsStatus `json:"status,omitempty"`
}

HostFirmwareComponents is the Schema for the hostfirmwarecomponents API.

func (*HostFirmwareComponents) DeepCopy added in v0.6.0

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

func (*HostFirmwareComponents) DeepCopyInto added in v0.6.0

func (in *HostFirmwareComponents) DeepCopyInto(out *HostFirmwareComponents)

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

func (*HostFirmwareComponents) DeepCopyObject added in v0.6.0

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

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

func (*HostFirmwareComponents) ValidateHostFirmwareComponents added in v0.6.0

func (host *HostFirmwareComponents) ValidateHostFirmwareComponents() error

Check whether the updates's names are valid.

type HostFirmwareComponentsList added in v0.6.0

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

HostFirmwareComponentsList contains a list of HostFirmwareComponents.

func (*HostFirmwareComponentsList) DeepCopy added in v0.6.0

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

func (*HostFirmwareComponentsList) DeepCopyInto added in v0.6.0

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

func (*HostFirmwareComponentsList) DeepCopyObject added in v0.6.0

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

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

type HostFirmwareComponentsSpec added in v0.6.0

type HostFirmwareComponentsSpec struct {
	Updates []FirmwareUpdate `json:"updates"`
}

HostFirmwareComponentsSpec defines the desired state of HostFirmwareComponents.

func (*HostFirmwareComponentsSpec) DeepCopy added in v0.6.0

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

func (*HostFirmwareComponentsSpec) DeepCopyInto added in v0.6.0

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

type HostFirmwareComponentsStatus added in v0.6.0

type HostFirmwareComponentsStatus struct {
	// Updates is the list of all firmware components that should be updated
	// they are specified via name and url fields.
	Updates []FirmwareUpdate `json:"updates"`

	// Components is the list of all available firmware components and their information.
	Components []FirmwareComponentStatus `json:"components"`

	// Time that the status was last updated
	// +optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`

	// Track whether updates stored in the spec are valid based on the schema
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

HostFirmwareComponentsStatus defines the observed state of HostFirmwareComponents.

func (*HostFirmwareComponentsStatus) DeepCopy added in v0.6.0

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

func (*HostFirmwareComponentsStatus) DeepCopyInto added in v0.6.0

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

type HostFirmwareSettings

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

	Spec   HostFirmwareSettingsSpec   `json:"spec,omitempty"`
	Status HostFirmwareSettingsStatus `json:"status,omitempty"`
}

HostFirmwareSettings is the Schema for the hostfirmwaresettings API.

func (*HostFirmwareSettings) DeepCopy

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

func (*HostFirmwareSettings) DeepCopyInto

func (in *HostFirmwareSettings) DeepCopyInto(out *HostFirmwareSettings)

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

func (*HostFirmwareSettings) DeepCopyObject

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

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

type HostFirmwareSettingsList

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

HostFirmwareSettingsList contains a list of HostFirmwareSettings.

func (*HostFirmwareSettingsList) DeepCopy

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

func (*HostFirmwareSettingsList) DeepCopyInto

func (in *HostFirmwareSettingsList) DeepCopyInto(out *HostFirmwareSettingsList)

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

func (*HostFirmwareSettingsList) DeepCopyObject

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

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

type HostFirmwareSettingsSpec

type HostFirmwareSettingsSpec struct {

	// Settings are the desired firmware settings stored as name/value pairs.
	// +patchStrategy=merge
	Settings DesiredSettingsMap `json:"settings" required:"true"`
}

HostFirmwareSettingsSpec defines the desired state of HostFirmwareSettings.

func (*HostFirmwareSettingsSpec) DeepCopy

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

func (*HostFirmwareSettingsSpec) DeepCopyInto

func (in *HostFirmwareSettingsSpec) DeepCopyInto(out *HostFirmwareSettingsSpec)

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

type HostFirmwareSettingsStatus

type HostFirmwareSettingsStatus struct {
	// FirmwareSchema is a reference to the Schema used to describe each
	// FirmwareSetting. By default, this will be a Schema in the same
	// Namespace as the settings but it can be overwritten in the Spec
	FirmwareSchema *SchemaReference `json:"schema,omitempty"`

	// Settings are the firmware settings stored as name/value pairs
	Settings SettingsMap `json:"settings" required:"true"`

	// Time that the status was last updated
	// +optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`

	// Track whether settings stored in the spec are valid based on the schema
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

HostFirmwareSettingsStatus defines the observed state of HostFirmwareSettings.

func (*HostFirmwareSettingsStatus) DeepCopy

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

func (*HostFirmwareSettingsStatus) DeepCopyInto

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

type Image

type Image struct {
	// URL is a location of an image to deploy.
	URL string `json:"url"`

	// Checksum is the checksum for the image.
	Checksum string `json:"checksum,omitempty"`

	// ChecksumType is the checksum algorithm for the image, e.g md5, sha256 or sha512.
	// The special value "auto" can be used to detect the algorithm from the checksum.
	// If missing, MD5 is used. If in doubt, use "auto".
	ChecksumType ChecksumType `json:"checksumType,omitempty"`

	// DiskFormat contains the format of the image (raw, qcow2, ...).
	// Needs to be set to raw for raw images streaming.
	// Note live-iso means an iso referenced by the url will be live-booted
	// and not deployed to disk, and in this case the checksum options
	// are not required and if specified will be ignored.
	// +kubebuilder:validation:Enum=raw;qcow2;vdi;vmdk;live-iso
	DiskFormat *string `json:"format,omitempty"`
}

Image holds the details of an image either to provisioned or that has been provisioned.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

func (*Image) GetChecksum

func (image *Image) GetChecksum() (checksum, checksumType string, ok bool)

GetChecksum method returns the checksum of an image.

func (*Image) IsLiveISO

func (image *Image) IsLiveISO() bool

type ImageFormat

type ImageFormat string

ImageFormat enumerates the allowed image formats +kubebuilder:validation:Enum=iso;initrd

const (
	ImageFormatISO    ImageFormat = "iso"
	ImageFormatInitRD ImageFormat = "initrd"
)

type ImageStatusConditionType

type ImageStatusConditionType string
const (
	// Ready indicates that the Image is available and ready to be downloaded.
	ConditionImageReady ImageStatusConditionType = "Ready"

	// Error indicates that the operator was unable to build an image.
	ConditionImageError ImageStatusConditionType = "Error"
)

type NIC

type NIC struct {
	// The name of the network interface, e.g. "en0"
	Name string `json:"name,omitempty"`

	// The vendor and product IDs of the NIC, e.g. "0x8086 0x1572"
	Model string `json:"model,omitempty"`

	// The device MAC address
	// +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}`
	MAC string `json:"mac,omitempty"`

	// The IP address of the interface. This will be an IPv4 or IPv6 address
	// if one is present.  If both IPv4 and IPv6 addresses are present in a
	// dual-stack environment, two nics will be output, one with each IP.
	IP string `json:"ip,omitempty"`

	// The speed of the device in Gigabits per second
	SpeedGbps int `json:"speedGbps,omitempty"`

	// The VLANs available
	VLANs []VLAN `json:"vlans,omitempty"`

	// The untagged VLAN ID
	VLANID VLANID `json:"vlanId,omitempty"`

	// Whether the NIC is PXE Bootable
	PXE bool `json:"pxe,omitempty"`
}

NIC describes one network interface on the host.

func (*NIC) DeepCopy

func (in *NIC) DeepCopy() *NIC

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

func (*NIC) DeepCopyInto

func (in *NIC) DeepCopyInto(out *NIC)

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

type OperationHistory

type OperationHistory struct {
	Register    OperationMetric `json:"register,omitempty"`
	Inspect     OperationMetric `json:"inspect,omitempty"`
	Provision   OperationMetric `json:"provision,omitempty"`
	Deprovision OperationMetric `json:"deprovision,omitempty"`
}

OperationHistory holds information about operations performed on a host.

func (*OperationHistory) DeepCopy

func (in *OperationHistory) DeepCopy() *OperationHistory

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

func (*OperationHistory) DeepCopyInto

func (in *OperationHistory) DeepCopyInto(out *OperationHistory)

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

type OperationMetric

type OperationMetric struct {
	// +nullable
	Start metav1.Time `json:"start,omitempty"`
	// +nullable
	End metav1.Time `json:"end,omitempty"`
}

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

func (*OperationMetric) DeepCopy

func (in *OperationMetric) DeepCopy() *OperationMetric

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

func (*OperationMetric) DeepCopyInto

func (in *OperationMetric) DeepCopyInto(out *OperationMetric)

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

func (OperationMetric) Duration

func (om OperationMetric) Duration() time.Duration

Duration returns the length of time that was spent on the operation. If the operation is not finished, it returns 0.

type OperationalStatus

type OperationalStatus string

OperationalStatus represents the state of the host.

const (
	// OperationalStatusOK is the status value for when the host is
	// configured correctly and is manageable.
	OperationalStatusOK OperationalStatus = "OK"

	// OperationalStatusDiscovered is the status value for when the
	// host is only partially configured, such as when when the BMC
	// address is known but the login credentials are not.
	OperationalStatusDiscovered OperationalStatus = "discovered"

	// OperationalStatusError is the status value for when the host
	// has any sort of error.
	OperationalStatusError OperationalStatus = "error"

	// OperationalStatusDelayed is the status value for when the host
	// deployment needs to be delayed to limit simultaneous hosts provisioning.
	OperationalStatusDelayed = "delayed"

	// OperationalStatusDetached is the status value when the host is
	// marked unmanaged via the detached annotation.
	OperationalStatusDetached OperationalStatus = "detached"
)

type PreprovisioningImage

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

	Spec   PreprovisioningImageSpec   `json:"spec,omitempty"`
	Status PreprovisioningImageStatus `json:"status,omitempty"`
}

PreprovisioningImage is the Schema for the preprovisioningimages API.

func (*PreprovisioningImage) DeepCopy

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

func (*PreprovisioningImage) DeepCopyInto

func (in *PreprovisioningImage) DeepCopyInto(out *PreprovisioningImage)

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

func (*PreprovisioningImage) DeepCopyObject

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

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

type PreprovisioningImageList

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

PreprovisioningImageList contains a list of PreprovisioningImage.

func (*PreprovisioningImageList) DeepCopy

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

func (*PreprovisioningImageList) DeepCopyInto

func (in *PreprovisioningImageList) DeepCopyInto(out *PreprovisioningImageList)

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

func (*PreprovisioningImageList) DeepCopyObject

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

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

type PreprovisioningImageSpec

type PreprovisioningImageSpec struct {
	// networkDataName is the name of a Secret in the local namespace that
	// contains network data to build in to the image.
	// +optional
	NetworkDataName string `json:"networkDataName,omitempty"`

	// architecture is the processor architecture for which to build the image.
	// +optional
	Architecture string `json:"architecture,omitempty"`

	// acceptFormats is a list of acceptable image formats.
	// +optional
	AcceptFormats []ImageFormat `json:"acceptFormats,omitempty"`
}

PreprovisioningImageSpec defines the desired state of PreprovisioningImage.

func (*PreprovisioningImageSpec) DeepCopy

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

func (*PreprovisioningImageSpec) DeepCopyInto

func (in *PreprovisioningImageSpec) DeepCopyInto(out *PreprovisioningImageSpec)

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

type PreprovisioningImageStatus

type PreprovisioningImageStatus struct {
	// imageUrl is the URL from which the built image can be downloaded.
	ImageUrl string `json:"imageUrl,omitempty"` //nolint:revive,stylecheck

	// kernelUrl is the URL from which the kernel of the image can be downloaded.
	// Only makes sense for initrd images.
	// +optional
	KernelUrl string `json:"kernelUrl,omitempty"` //nolint:revive,stylecheck

	// extraKernelParams is a string with extra parameters to pass to the
	// kernel when booting the image over network. Only makes sense for initrd images.
	// +optional
	ExtraKernelParams string `json:"extraKernelParams,omitempty"`

	// format is the type of image that is available at the download url:
	// either iso or initrd.
	// +optional
	Format ImageFormat `json:"format,omitempty"`

	// networkData is a reference to the version of the Secret containing the
	// network data used to build the image.
	// +optional
	NetworkData SecretStatus `json:"networkData,omitempty"`

	// architecture is the processor architecture for which the image is built
	Architecture string `json:"architecture,omitempty"`

	// conditions describe the state of the built image
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

PreprovisioningImageStatus defines the observed state of PreprovisioningImage.

func (*PreprovisioningImageStatus) DeepCopy

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

func (*PreprovisioningImageStatus) DeepCopyInto

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

type ProvisionStatus

type ProvisionStatus struct {
	// An indiciator for what the provisioner is doing with the host.
	State ProvisioningState `json:"state"`

	// The machine's UUID from the underlying provisioning tool
	ID string `json:"ID"`

	// Image holds the details of the last image successfully
	// provisioned to the host.
	Image Image `json:"image,omitempty"`

	// The RootDevicehints set by the user
	RootDeviceHints *RootDeviceHints `json:"rootDeviceHints,omitempty"`

	// BootMode indicates the boot mode used to provision the node
	BootMode BootMode `json:"bootMode,omitempty"`

	// The Raid set by the user
	RAID *RAIDConfig `json:"raid,omitempty"`

	// The Bios set by the user
	Firmware *FirmwareConfig `json:"firmware,omitempty"`

	// Custom deploy procedure applied to the host.
	CustomDeploy *CustomDeploy `json:"customDeploy,omitempty"`
}

ProvisionStatus holds the state information for a single target.

func (*ProvisionStatus) DeepCopy

func (in *ProvisionStatus) DeepCopy() *ProvisionStatus

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

func (*ProvisionStatus) DeepCopyInto

func (in *ProvisionStatus) DeepCopyInto(out *ProvisionStatus)

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

type ProvisioningState

type ProvisioningState string

ProvisioningState defines the states the provisioner will report the host has having.

const (
	// StateNone means the state is unknown.
	StateNone ProvisioningState = ""

	// StateUnmanaged means there is insufficient information available to
	// register the host.
	StateUnmanaged ProvisioningState = "unmanaged"

	// StateRegistering means we are telling the backend about the host.
	StateRegistering ProvisioningState = "registering"

	// StateMatchProfile used to mean we are assigning a profile.
	// It no longer does anything, profile matching is done on registration.
	StateMatchProfile ProvisioningState = "match profile"

	// StatePreparing means we are removing existing configuration and set new configuration to the host.
	StatePreparing ProvisioningState = "preparing"

	// StateReady is a deprecated name for StateAvailable.
	StateReady ProvisioningState = "ready"

	// StateAvailable means the host can be consumed.
	StateAvailable ProvisioningState = "available"

	// StateProvisioning means we are writing an image to the host's
	// disk(s).
	StateProvisioning ProvisioningState = "provisioning"

	// StateProvisioned means we have written an image to the host's
	// disk(s).
	StateProvisioned ProvisioningState = "provisioned"

	// StateExternallyProvisioned means something else is managing the
	// image on the host.
	StateExternallyProvisioned ProvisioningState = "externally provisioned"

	// StateDeprovisioning means we are removing an image from the
	// host's disk(s).
	StateDeprovisioning ProvisioningState = "deprovisioning"

	// StateInspecting means we are running the agent on the host to
	// learn about the hardware components available there.
	StateInspecting ProvisioningState = "inspecting"

	// StatePoweringOffBeforeDelete means we are in the process of
	// powering off the node before it's deleted.
	StatePoweringOffBeforeDelete ProvisioningState = "powering off before delete"

	// StateDeleting means we are in the process of cleaning up the host
	// ready for deletion.
	StateDeleting ProvisioningState = "deleting"
)

type RAIDConfig

type RAIDConfig struct {
	// The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume.
	// You can set the value of this field to `[]` to clear all the hardware RAID configurations.
	// +optional
	// +nullable
	HardwareRAIDVolumes []HardwareRAIDVolume `json:"hardwareRAIDVolumes"`

	// The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume.
	// If HardwareRAIDVolumes is set this item will be invalid.
	// The number of created Software RAID devices must be 1 or 2.
	// If there is only one Software RAID device, it has to be a RAID-1.
	// If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0.
	// As the first RAID device will be the deployment device,
	// enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure.
	// Software RAID will always be deleted.
	// +kubebuilder:validation:MaxItems=2
	// +optional
	// +nullable
	SoftwareRAIDVolumes []SoftwareRAIDVolume `json:"softwareRAIDVolumes"`
}

RAIDConfig contains the configuration that are required to config RAID in Bare Metal server.

func (*RAIDConfig) DeepCopy

func (in *RAIDConfig) DeepCopy() *RAIDConfig

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

func (*RAIDConfig) DeepCopyInto

func (in *RAIDConfig) DeepCopyInto(out *RAIDConfig)

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

type RebootAnnotationArguments

type RebootAnnotationArguments struct {
	Mode  RebootMode `json:"mode"`
	Force bool       `json:"force"`
}

RebootAnnotationArguments defines the arguments of the RebootAnnotation type.

func (*RebootAnnotationArguments) DeepCopy

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

func (*RebootAnnotationArguments) DeepCopyInto

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

type RebootMode

type RebootMode string

RebootMode defines known variations of reboot modes.

const (
	// RebootModeHard defined for hard reset of a node.
	RebootModeHard RebootMode = "hard"
	// RebootModeSoft defined for soft reset of a node.
	RebootModeSoft RebootMode = "soft"
)

type RootDeviceHints

type RootDeviceHints struct {
	// A Linux device name like "/dev/vda", or a by-path link to it like
	// "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match
	// the actual value exactly.
	DeviceName string `json:"deviceName,omitempty"`

	// A SCSI bus address like 0:0:0:0. The hint must match the actual
	// value exactly.
	HCTL string `json:"hctl,omitempty"`

	// A vendor-specific device identifier. The hint can be a
	// substring of the actual value.
	Model string `json:"model,omitempty"`

	// The name of the vendor or manufacturer of the device. The hint
	// can be a substring of the actual value.
	Vendor string `json:"vendor,omitempty"`

	// Device serial number. The hint must match the actual value
	// exactly.
	SerialNumber string `json:"serialNumber,omitempty"`

	// The minimum size of the device in Gigabytes.
	// +kubebuilder:validation:Minimum=0
	MinSizeGigabytes int `json:"minSizeGigabytes,omitempty"`

	// Unique storage identifier. The hint must match the actual value
	// exactly.
	WWN string `json:"wwn,omitempty"`

	// Unique storage identifier with the vendor extension
	// appended. The hint must match the actual value exactly.
	WWNWithExtension string `json:"wwnWithExtension,omitempty"`

	// Unique vendor storage identifier. The hint must match the
	// actual value exactly.
	WWNVendorExtension string `json:"wwnVendorExtension,omitempty"`

	// True if the device should use spinning media, false otherwise.
	Rotational *bool `json:"rotational,omitempty"`
}

RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image.

func (*RootDeviceHints) DeepCopy

func (in *RootDeviceHints) DeepCopy() *RootDeviceHints

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

func (*RootDeviceHints) DeepCopyInto

func (in *RootDeviceHints) DeepCopyInto(out *RootDeviceHints)

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

type SchemaReference

type SchemaReference struct {
	// `namespace` is the namespace of the where the schema is stored.
	Namespace string `json:"namespace"`
	// `name` is the reference to the schema.
	Name string `json:"name"`
}

func (*SchemaReference) DeepCopy

func (in *SchemaReference) DeepCopy() *SchemaReference

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

func (*SchemaReference) DeepCopyInto

func (in *SchemaReference) DeepCopyInto(out *SchemaReference)

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

type SchemaSettingError

type SchemaSettingError struct {
	// contains filtered or unexported fields
}

func (*SchemaSettingError) DeepCopy

func (in *SchemaSettingError) DeepCopy() *SchemaSettingError

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

func (*SchemaSettingError) DeepCopyInto

func (in *SchemaSettingError) DeepCopyInto(out *SchemaSettingError)

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

func (SchemaSettingError) Error

func (e SchemaSettingError) Error() string

type SecretStatus

type SecretStatus struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
}

func (*SecretStatus) DeepCopy

func (in *SecretStatus) DeepCopy() *SecretStatus

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

func (*SecretStatus) DeepCopyInto

func (in *SecretStatus) DeepCopyInto(out *SecretStatus)

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

type SettingSchema

type SettingSchema struct {

	// The type of setting.
	// +kubebuilder:validation:Enum=Enumeration;String;Integer;Boolean;Password
	AttributeType string `json:"attribute_type,omitempty"`

	// The allowable value for an Enumeration type setting.
	AllowableValues []string `json:"allowable_values,omitempty"`

	// The lowest value for an Integer type setting.
	LowerBound *int `json:"lower_bound,omitempty"`

	// The highest value for an Integer type setting.
	UpperBound *int `json:"upper_bound,omitempty"`

	// Minimum length for a String type setting.
	MinLength *int `json:"min_length,omitempty"`

	// Maximum length for a String type setting.
	MaxLength *int `json:"max_length,omitempty"`

	// Whether or not this setting is read only.
	ReadOnly *bool `json:"read_only,omitempty"`

	// Whether or not this setting's value is unique to this node, e.g.
	// a serial number.
	Unique *bool `json:"unique,omitempty"`
}

Additional data describing the firmware setting.

func (*SettingSchema) DeepCopy

func (in *SettingSchema) DeepCopy() *SettingSchema

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

func (*SettingSchema) DeepCopyInto

func (in *SettingSchema) DeepCopyInto(out *SettingSchema)

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

func (*SettingSchema) Validate

func (schema *SettingSchema) Validate(name string, value intstr.IntOrString) error

type SettingsConditionType

type SettingsConditionType string
const (
	// Indicates that the settings in the Spec are different than Status.
	FirmwareSettingsChangeDetected SettingsConditionType = "ChangeDetected"

	// Indicates if the settings are valid and can be configured on the host.
	FirmwareSettingsValid SettingsConditionType = "Valid"
)

type SettingsMap

type SettingsMap map[string]string

func (SettingsMap) DeepCopy

func (in SettingsMap) DeepCopy() SettingsMap

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

func (SettingsMap) DeepCopyInto

func (in SettingsMap) DeepCopyInto(out *SettingsMap)

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

type SoftwareRAIDVolume

type SoftwareRAIDVolume struct {
	// Size (Integer) of the logical disk to be created in GiB.
	// If unspecified or set be 0, the maximum capacity of disk will be used for logical disk.
	// +kubebuilder:validation:Minimum=0
	SizeGibibytes *int `json:"sizeGibibytes,omitempty"`

	// RAID level for the logical disk. The following levels are supported: 0;1;1+0.
	// +kubebuilder:validation:Enum="0";"1";"1+0"
	Level string `json:"level" required:"true"`

	// A list of device hints, the number of items should be greater than or equal to 2.
	// +kubebuilder:validation:MinItems=2
	PhysicalDisks []RootDeviceHints `json:"physicalDisks,omitempty"`
}

SoftwareRAIDVolume defines the desired configuration of volume in software RAID.

func (*SoftwareRAIDVolume) DeepCopy

func (in *SoftwareRAIDVolume) DeepCopy() *SoftwareRAIDVolume

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

func (*SoftwareRAIDVolume) DeepCopyInto

func (in *SoftwareRAIDVolume) DeepCopyInto(out *SoftwareRAIDVolume)

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

type Storage

type Storage struct {
	// A Linux device name of the disk, e.g.
	// "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". This will be a name
	// that is stable across reboots if one is available.
	Name string `json:"name,omitempty"`

	// A list of alternate Linux device names of the disk, e.g. "/dev/sda".
	// Note that this list is not exhaustive, and names may not be stable
	// across reboots.
	AlternateNames []string `json:"alternateNames,omitempty"`

	// Whether this disk represents rotational storage.
	// This field is not recommended for usage, please
	// prefer using 'Type' field instead, this field
	// will be deprecated eventually.
	Rotational bool `json:"rotational,omitempty"`

	// Device type, one of: HDD, SSD, NVME.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=HDD;SSD;NVME;
	Type DiskType `json:"type,omitempty"`

	// The size of the disk in Bytes
	SizeBytes Capacity `json:"sizeBytes,omitempty"`

	// The name of the vendor of the device
	Vendor string `json:"vendor,omitempty"`

	// Hardware model
	Model string `json:"model,omitempty"`

	// The serial number of the device
	SerialNumber string `json:"serialNumber,omitempty"`

	// The WWN of the device
	WWN string `json:"wwn,omitempty"`

	// The WWN Vendor extension of the device
	WWNVendorExtension string `json:"wwnVendorExtension,omitempty"`

	// The WWN with the extension
	WWNWithExtension string `json:"wwnWithExtension,omitempty"`

	// The SCSI location of the device
	HCTL string `json:"hctl,omitempty"`
}

Storage describes one storage device (disk, SSD, etc.) on the host.

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type UpdatesConditionType added in v0.6.0

type UpdatesConditionType string
const (
	// Indicates that the updates in the Spec are different than Status.
	HostFirmwareComponentsChangeDetected UpdatesConditionType = "ChangeDetected"

	// Indicates if the updates are valid and can be configured on the host.
	HostFirmwareComponentsValid UpdatesConditionType = "Valid"
)

type VLAN

type VLAN struct {
	ID VLANID `json:"id,omitempty"`

	Name string `json:"name,omitempty"`
}

VLAN represents the name and ID of a VLAN.

func (*VLAN) DeepCopy

func (in *VLAN) DeepCopy() *VLAN

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

func (*VLAN) DeepCopyInto

func (in *VLAN) DeepCopyInto(out *VLAN)

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

type VLANID

type VLANID int32

VLANID is a 12-bit 802.1Q VLAN identifier +kubebuilder:validation:Type=integer +kubebuilder:validation:Minimum=0 +kubebuilder:validation:Maximum=4094

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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