Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the metal3.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=metal3.io
Index ¶
- Constants
- Variables
- type AutomatedCleaningMode
- type BIOS
- type BMCDetails
- type BareMetalHost
- func (host *BareMetalHost) BootMode() BootMode
- func (host *BareMetalHost) CredentialsKey() types.NamespacedName
- func (in *BareMetalHost) DeepCopy() *BareMetalHost
- func (in *BareMetalHost) DeepCopyInto(out *BareMetalHost)
- func (in *BareMetalHost) DeepCopyObject() runtime.Object
- func (host *BareMetalHost) HardwareProfile() string
- func (host *BareMetalHost) HasBMCDetails() bool
- func (host *BareMetalHost) NeedsHardwareInspection() bool
- func (host *BareMetalHost) NeedsHardwareProfile() bool
- func (host *BareMetalHost) NeedsProvisioning() bool
- func (host *BareMetalHost) NewEvent(reason, message string) corev1.Event
- func (host *BareMetalHost) OperationMetricForState(operation ProvisioningState) (metric *OperationMetric)
- func (host *BareMetalHost) OperationalStatus() OperationalStatus
- func (host *BareMetalHost) SetHardwareProfile(name string) (dirty bool)
- func (host *BareMetalHost) SetOperationalStatus(status OperationalStatus) bool
- func (r *BareMetalHost) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (host *BareMetalHost) UpdateGoodCredentials(currentSecret corev1.Secret)
- func (host *BareMetalHost) UpdateTriedCredentials(currentSecret corev1.Secret)
- func (r *BareMetalHost) ValidateCreate() error
- func (r *BareMetalHost) ValidateDelete() error
- func (r *BareMetalHost) ValidateUpdate(old runtime.Object) error
- func (host *BareMetalHost) WasProvisioned() bool
- type BareMetalHostList
- type BareMetalHostSpec
- type BareMetalHostStatus
- type BootMode
- type CPU
- type Capacity
- type ChecksumType
- type ClockSpeed
- type CredentialsStatus
- type CustomDeploy
- type DesiredSettingsMap
- type DiskType
- type ErrorType
- type Firmware
- type FirmwareConfig
- type FirmwareSchema
- type FirmwareSchemaList
- type FirmwareSchemaSpec
- type HardwareDetails
- type HardwareRAIDVolume
- type HardwareSystemVendor
- type HostFirmwareSettings
- type HostFirmwareSettingsList
- type HostFirmwareSettingsSpec
- type HostFirmwareSettingsStatus
- type Image
- type NIC
- type OperationHistory
- type OperationMetric
- type OperationalStatus
- type ProvisionStatus
- type ProvisioningState
- type RAIDConfig
- type RebootAnnotationArguments
- type RebootMode
- type RootDeviceHints
- type SchemaReference
- type SettingSchema
- type SettingsMap
- type SoftwareRAIDVolume
- type Storage
- type VLAN
- type VLANID
Constants ¶
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" )
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
Variables ¶
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 )
Functions ¶
This section is empty.
Types ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BIOS.
func (*BIOS) DeepCopyInto ¶
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 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: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) SetupWebhookWithManager ¶
func (r *BareMetalHost) SetupWebhookWithManager(mgr ctrl.Manager) error
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() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*BareMetalHost) ValidateDelete ¶
func (r *BareMetalHost) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*BareMetalHost) ValidateUpdate ¶
func (r *BareMetalHost) ValidateUpdate(old runtime.Object) 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? It // should only be necessary to set this when inspection cannot // automatically determine the profile. 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"` // NetworkData holds the reference to the Secret containing network // configuration (e.g content of network_data.json which is passed // to 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 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"` }
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
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.
func (*CPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChecksumType ¶
type ChecksumType string
ChecksumType holds the algorithm name for the checksum +kubebuilder:validation:Enum=md5;sha256;sha512
const ( // MD5 checksum type MD5 ChecksumType = "md5" // SHA256 checksum type SHA256 ChecksumType = "sha256" // SHA512 checksum type SHA512 ChecksumType = "sha512" )
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.
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 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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firmware.
func (*Firmware) DeepCopyInto ¶
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) CheckSettingIsValid ¶
func (host *FirmwareSchema) CheckSettingIsValid(name string, value intstr.IntOrString, schemas map[string]SettingSchema) bool
Check whether the setting's name and value is valid using the schema
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.
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 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"` }
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 ¶
func (in *HardwareSystemVendor) DeepCopy() *HardwareSystemVendor
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 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 ¶
func (in *HostFirmwareSettings) DeepCopy() *HostFirmwareSettings
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 ¶
func (in *HostFirmwareSettingsList) DeepCopy() *HostFirmwareSettingsList
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. // This will be populated with the actual firmware settings and only // contain the settings that can be modified (i.e. not ReadOnly), to // facilitate making changes. // +patchStrategy=merge Settings DesiredSettingsMap `json:"settings" required:"true"` }
HostFirmwareSettingsSpec defines the desired state of HostFirmwareSettings
func (*HostFirmwareSettingsSpec) DeepCopy ¶
func (in *HostFirmwareSettingsSpec) DeepCopy() *HostFirmwareSettingsSpec
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 actual firmware settings stored as name/value pairs Settings SettingsMap `json:"settings" required:"true"` }
HostFirmwareSettingsStatus defines the observed state of HostFirmwareSettings
func (*HostFirmwareSettingsStatus) DeepCopy ¶
func (in *HostFirmwareSettingsStatus) DeepCopy() *HostFirmwareSettingsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostFirmwareSettingsStatus.
func (*HostFirmwareSettingsStatus) DeepCopyInto ¶
func (in *HostFirmwareSettingsStatus) DeepCopyInto(out *HostFirmwareSettingsStatus)
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, sha512 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Image) GetChecksum ¶
GetChecksum method returns the checksum of an image
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NIC.
func (*NIC) DeepCopyInto ¶
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 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 means we are comparing the discovered details // against known hardware profiles StateMatchProfile ProvisioningState = "match profile" // StatePreparing means we are removing existing configuration and set new configuration to the host StatePreparing ProvisioningState = "preparing" // StateReady means the host can be consumed 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" // 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 HardwareRAIDVolumes []HardwareRAIDVolume `json:"hardwareRAIDVolumes,omitempty"` // 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 SoftwareRAIDVolumes []SoftwareRAIDVolume `json:"softwareRAIDVolumes,omitempty"` }
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"`
}
RebootAnnotationArguments defines the arguments of the RebootAnnotation type
func (*RebootAnnotationArguments) DeepCopy ¶
func (in *RebootAnnotationArguments) DeepCopy() *RebootAnnotationArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RebootAnnotationArguments.
func (*RebootAnnotationArguments) DeepCopyInto ¶
func (in *RebootAnnotationArguments) DeepCopyInto(out *RebootAnnotationArguments)
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". 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 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 a reset is required after changing this setting. ResetRequired *bool `json:"reset_required,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.
type SettingsMap ¶
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 { // The Linux device name of the disk, e.g. "/dev/sda". Note that this // may not be stable across reboots. Name string `json:"name,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLAN ¶
VLAN represents the name and ID of a VLAN
func (*VLAN) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAN.
func (*VLAN) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.