Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the metal3.io v1alpha1 API group +kubebuilder:object:generate=true +k8s:openapi-gen=true +groupName=metal3.io
Package v1alpha1 contains API Schema definitions for the metal3.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=metal3.io
Index ¶
- Constants
- Variables
- type AttachedImageReference
- type AutomatedCleaningMode
- type BIOS
- type BMCDetails
- type BMCEventSubscription
- func (in *BMCEventSubscription) DeepCopy() *BMCEventSubscription
- func (in *BMCEventSubscription) DeepCopyInto(out *BMCEventSubscription)
- func (in *BMCEventSubscription) DeepCopyObject() runtime.Object
- func (s *BMCEventSubscription) ValidateCreate() (admission.Warnings, error)
- func (s *BMCEventSubscription) ValidateDelete() (admission.Warnings, error)
- func (s *BMCEventSubscription) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type BMCEventSubscriptionList
- type BMCEventSubscriptionSpec
- type BMCEventSubscriptionStatus
- 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 (host *BareMetalHost) UpdateGoodCredentials(currentSecret corev1.Secret)
- func (host *BareMetalHost) UpdateTriedCredentials(currentSecret corev1.Secret)
- func (r *BareMetalHost) ValidateCreate() (admission.Warnings, error)
- func (r *BareMetalHost) ValidateDelete() (admission.Warnings, error)
- func (r *BareMetalHost) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 DataImage
- type DataImageError
- type DataImageList
- type DataImageSpec
- type DataImageStatus
- type DesiredSettingsMap
- type DetachedAnnotationArguments
- type DetachedDeleteAction
- type DiskType
- type ErrorType
- type Firmware
- type FirmwareComponentStatus
- type FirmwareConfig
- type FirmwareSchema
- type FirmwareSchemaList
- type FirmwareSchemaSpec
- type FirmwareUpdate
- type HardwareData
- type HardwareDataList
- type HardwareDataSpec
- type HardwareDetails
- type HardwareRAIDVolume
- type HardwareSystemVendor
- type HostFirmwareComponents
- type HostFirmwareComponentsList
- type HostFirmwareComponentsSpec
- type HostFirmwareComponentsStatus
- type HostFirmwareSettings
- type HostFirmwareSettingsList
- type HostFirmwareSettingsSpec
- type HostFirmwareSettingsStatus
- type HostUpdatePolicy
- type HostUpdatePolicyList
- type HostUpdatePolicySpec
- type HostUpdatePolicyStatus
- type Image
- type ImageFormat
- type ImageStatusConditionType
- type NIC
- type OperationHistory
- type OperationMetric
- type OperationalStatus
- type PreprovisioningImage
- type PreprovisioningImageList
- type PreprovisioningImageSpec
- type PreprovisioningImageStatus
- type ProvisionStatus
- type ProvisioningState
- type RAIDConfig
- type RebootAnnotationArguments
- type RebootMode
- type RootDeviceHints
- type SchemaReference
- type SchemaSettingError
- type SecretStatus
- type SettingSchema
- type SettingsConditionType
- type SettingsMap
- type SoftwareRAIDVolume
- type Storage
- type UpdatePolicy
- type UpdatesConditionType
- 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" // 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" )
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.
const ( DetachedDeleteActionDelay = "delay" DetachedDeleteActionDelete = "delete" )
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" )
const DataImageFinalizer = "dataimage.metal3.io"
const PreprovisioningImageFinalizer = "preprovisioningimage.metal3.io"
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 )
var ErrorTypeAllowed = []string{"", string(ProvisionedRegistrationError), string(RegistrationError), string(InspectionError), string(PreparationError), string(ProvisioningError), string(PowerManagementError)}
ErrorTypeAllowed represents the allowed values of ErrorType.
var OperationalStatusAllowed = []string{"", string(OperationalStatusOK), string(OperationalStatusDiscovered), string(OperationalStatusError), string(OperationalStatusDelayed), string(OperationalStatusDetached)}
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
func (in *AttachedImageReference) DeepCopy() *AttachedImageReference
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 ¶
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. // The scheme part designates the driver to use with the host. 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 ¶
func (in *BMCEventSubscription) DeepCopy() *BMCEventSubscription
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 ¶
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 ¶
func (in *BMCEventSubscriptionList) DeepCopy() *BMCEventSubscriptionList
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 ¶
func (in *BMCEventSubscriptionSpec) DeepCopy() *BMCEventSubscriptionSpec
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 ¶
func (in *BMCEventSubscriptionStatus) DeepCopy() *BMCEventSubscriptionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCEventSubscriptionStatus.
func (*BMCEventSubscriptionStatus) DeepCopyInto ¶
func (in *BMCEventSubscriptionStatus) DeepCopyInto(out *BMCEventSubscriptionStatus)
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="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 ¶
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 (Baseboard Management Controller) on // the host? BMC BMCDetails `json:"bmc,omitempty"` // RAID configuration for bare metal server. If set, the RAID settings // will be applied before the host is provisioned. If not, the current // settings will not be modified. Only one of the sub-fields // hardwareRAIDVolumes and softwareRAIDVolumes can be set at the same // time. RAID *RAIDConfig `json:"raid,omitempty"` // Firmware (BIOS) configuration for bare metal server. If set, the // requested settings will be applied before the host is provisioned. // Only some vendor drivers support this field. An alternative is to // use HostFirmwareSettings resources that allow changing arbitrary // values and support the generic Redfish-based drivers. 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. The default is currently to use /dev/sda as // the root device. RootDeviceHints *RootDeviceHints `json:"rootDeviceHints,omitempty"` // Select the method of initializing the hardware during boot. // Defaults to UEFI. Legacy boot should only be used for hardware that // does not support UEFI correctly. Set to UEFISecureBoot to turn // secure boot on automatically after provisioning. // +optional BootMode BootMode `json:"bootMode,omitempty"` // The MAC address of the NIC used for provisioning the host. In case // of network boot, this is the MAC address of the PXE booting // interface. The MAC address of the BMC must never be used here! // +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}` BootMACAddress string `json:"bootMACAddress,omitempty"` // Should the host be powered on? If the host is currently in a stable // state (e.g. provisioned), its power state will be forced to match // this value. 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". The common use case is a link to a Machine // resource when the host is used by Cluster API. ConsumerRef *corev1.ObjectReference `json:"consumerRef,omitempty"` // Image holds the details of the image to be provisioned. Populating // the image will cause the host to start provisioning. Image *Image `json:"image,omitempty"` // UserData holds the reference to the Secret containing the user data // which is passed to the Config Drive and interpreted by the // first-boot software such as cloud-init. The format of user data is // specific to the first-boot software. UserData *corev1.SecretReference `json:"userData,omitempty"` // PreprovisioningNetworkDataName is the name of the Secret in the // local namespace containing network configuration 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 which is passed to the Config Drive and interpreted // by the first boot software such as cloud-init. NetworkData *corev1.SecretReference `json:"networkData,omitempty"` // MetaData holds the reference to the Secret containing host metadata // which is passed to the Config Drive. By default, metadata will be // generated for the host, so most users do not need to set this field. 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 has provisioned the // image running on the host, and the operator should only manage // the power status. This field is used for integration with already // provisioned hosts and when pivoting hosts between clusters. If // unsure, leave this field as false. ExternallyProvisioned bool `json:"externallyProvisioned,omitempty"` // When set to disabled, automated cleaning will be skipped // during provisioning and deprovisioning. // +optional // +kubebuilder:default:=metadata // +kubebuilder:validation:Optional AutomatedCleaningMode AutomatedCleaningMode `json:"automatedCleaningMode,omitempty"` // A custom deploy procedure. This is an advanced feature that allows // using a custom deploy step provided by a site-specific deployment // ramdisk. Most users will want to use "image" instead. Setting this // field triggers provisioning. // +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;servicing 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;servicing 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. // Hardware profiles are deprecated and should not be relied on. HardwareProfile string `json:"hardwareProfile,omitempty"` // The hardware discovered to exist on the host. // This field will be removed in the next API version in favour of the // separate HardwareData resource. 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"` // The currently detected power state of the host. This field may get // briefly out of sync with the actual state of the hardware while // provisioning processes are running. 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;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.
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImage.
func (*DataImage) DeepCopyInto ¶ added in v0.6.0
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
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataImageError ¶ added in v0.6.0
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
func (in *DetachedAnnotationArguments) DeepCopy() *DetachedAnnotationArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetachedAnnotationArguments.
func (*DetachedAnnotationArguments) DeepCopyInto ¶ added in v0.3.0
func (in *DetachedAnnotationArguments) DeepCopyInto(out *DetachedAnnotationArguments)
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 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" // ServicingError is an error condition occurring when // service steps failed. ServicingError ErrorType = "servicing 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 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
func (in *FirmwareComponentStatus) DeepCopy() *FirmwareComponentStatus
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. // +kubebuilder:validation:Enum=true;false VirtualizationEnabled *bool `json:"virtualizationEnabled,omitempty"` // Allows a single physical processor core to appear as several logical processors. // +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. // +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
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 { // System vendor information. SystemVendor HardwareSystemVendor `json:"systemVendor,omitempty"` // System firmware information. Firmware Firmware `json:"firmware,omitempty"` // The host's amount of memory in Mebibytes. RAMMebibytes int `json:"ramMebibytes,omitempty"` // List of network interfaces for the host. NIC []NIC `json:"nics,omitempty"` // List of storage (disk, SSD, etc.) available to the host. Storage []Storage `json:"storage,omitempty"` // Details of the CPU(s) in the system. 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 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 (drivers may support only some of them). // +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, the name will be auto-generated. // +kubebuilder:validation:MaxLength=64 Name string `json:"name,omitempty"` // Select disks with only rotational (if set to true) or solid-state // (if set to false) storage. By default, any disks can be picked. 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 ¶
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 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
func (in *HostFirmwareComponents) DeepCopy() *HostFirmwareComponents
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
func (in *HostFirmwareComponentsList) DeepCopy() *HostFirmwareComponentsList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostFirmwareComponentsList.
func (*HostFirmwareComponentsList) DeepCopyInto ¶ added in v0.6.0
func (in *HostFirmwareComponentsList) DeepCopyInto(out *HostFirmwareComponentsList)
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
func (in *HostFirmwareComponentsSpec) DeepCopy() *HostFirmwareComponentsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostFirmwareComponentsSpec.
func (*HostFirmwareComponentsSpec) DeepCopyInto ¶ added in v0.6.0
func (in *HostFirmwareComponentsSpec) DeepCopyInto(out *HostFirmwareComponentsSpec)
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. // +optional Updates []FirmwareUpdate `json:"updates,omitempty"` // Components is the list of all available firmware components and their information. Components []FirmwareComponentStatus `json:"components,omitempty"` // 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
func (in *HostFirmwareComponentsStatus) DeepCopy() *HostFirmwareComponentsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostFirmwareComponentsStatus.
func (*HostFirmwareComponentsStatus) DeepCopyInto ¶ added in v0.6.0
func (in *HostFirmwareComponentsStatus) DeepCopyInto(out *HostFirmwareComponentsStatus)
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. // +patchStrategy=merge Settings DesiredSettingsMap `json:"settings" patchStrategy:"merge" 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 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 ¶
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 HostUpdatePolicy ¶ added in v0.9.0
type HostUpdatePolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HostUpdatePolicySpec `json:"spec,omitempty"` Status HostUpdatePolicyStatus `json:"status,omitempty"` }
HostUpdatePolicy is the Schema for the hostupdatepolicy API.
func (*HostUpdatePolicy) DeepCopy ¶ added in v0.9.0
func (in *HostUpdatePolicy) DeepCopy() *HostUpdatePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostUpdatePolicy.
func (*HostUpdatePolicy) DeepCopyInto ¶ added in v0.9.0
func (in *HostUpdatePolicy) DeepCopyInto(out *HostUpdatePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostUpdatePolicy) DeepCopyObject ¶ added in v0.9.0
func (in *HostUpdatePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostUpdatePolicyList ¶ added in v0.9.0
type HostUpdatePolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HostUpdatePolicy `json:"items"` }
HostUpdatePolicyList contains a list of HostUpdatePolicy.
func (*HostUpdatePolicyList) DeepCopy ¶ added in v0.9.0
func (in *HostUpdatePolicyList) DeepCopy() *HostUpdatePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostUpdatePolicyList.
func (*HostUpdatePolicyList) DeepCopyInto ¶ added in v0.9.0
func (in *HostUpdatePolicyList) DeepCopyInto(out *HostUpdatePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HostUpdatePolicyList) DeepCopyObject ¶ added in v0.9.0
func (in *HostUpdatePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HostUpdatePolicySpec ¶ added in v0.9.0
type HostUpdatePolicySpec struct { // Defines policy for changing firmware settings // +optional // +kubebuilder:validation:Enum="onPreparing";"onReboot" FirmwareSettings UpdatePolicy `json:"firmwareSettings,omitempty"` // Defines policy for updating firmware // +optional // +kubebuilder:validation:Enum="onPreparing";"onReboot" FirmwareUpdates UpdatePolicy `json:"firmwareUpdates,omitempty"` }
HostUpdatePolicySpec defines the desired state of HostUpdatePolicy.
func (*HostUpdatePolicySpec) DeepCopy ¶ added in v0.9.0
func (in *HostUpdatePolicySpec) DeepCopy() *HostUpdatePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostUpdatePolicySpec.
func (*HostUpdatePolicySpec) DeepCopyInto ¶ added in v0.9.0
func (in *HostUpdatePolicySpec) DeepCopyInto(out *HostUpdatePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostUpdatePolicyStatus ¶ added in v0.9.0
type HostUpdatePolicyStatus struct{}
HostUpdatePolicyStatus defines the observed state of HostUpdatePolicy.
func (*HostUpdatePolicyStatus) DeepCopy ¶ added in v0.9.0
func (in *HostUpdatePolicyStatus) DeepCopy() *HostUpdatePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostUpdatePolicyStatus.
func (*HostUpdatePolicyStatus) DeepCopyInto ¶ added in v0.9.0
func (in *HostUpdatePolicyStatus) DeepCopyInto(out *HostUpdatePolicyStatus)
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. Required for all formats // except for "live-iso". 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"` // Format contains the format of the image (raw, qcow2, ...). // When set to "live-iso", an ISO 9660 image referenced by the url will // be live-booted and not deployed to disk. // +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 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 ¶
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 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" // OperationalStatusServicing is the status value when the host is // undergoing servicing (e.g. checking firmware settings). OperationalStatusServicing OperationalStatus = "servicing" )
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 ¶
func (in *PreprovisioningImage) DeepCopy() *PreprovisioningImage
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 ¶
func (in *PreprovisioningImageList) DeepCopy() *PreprovisioningImageList
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 ¶
func (in *PreprovisioningImageSpec) DeepCopy() *PreprovisioningImageSpec
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 ¶
func (in *PreprovisioningImageStatus) DeepCopy() *PreprovisioningImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreprovisioningImageStatus.
func (*PreprovisioningImageStatus) DeepCopyInto ¶
func (in *PreprovisioningImageStatus) DeepCopyInto(out *PreprovisioningImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisionStatus ¶
type ProvisionStatus struct { // An indicator for what the provisioner is doing with the host. State ProvisioningState `json:"state"` // The hosts's ID from the underlying provisioning tool (e.g. the // Ironic node UUID). ID string `json:"ID"` // Image holds the details of the last image successfully // provisioned to the host. Image Image `json:"image,omitempty"` // The root device hints used to provision the host. RootDeviceHints *RootDeviceHints `json:"rootDeviceHints,omitempty"` // BootMode indicates the boot mode used to provision the host. BootMode BootMode `json:"bootMode,omitempty"` // The RAID configuration that has been applied. RAID *RAIDConfig `json:"raid,omitempty"` // The firmware settings that have been applied. 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 host 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 host 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 ¶
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 host. RebootModeHard RebootMode = "hard" // RebootModeSoft defined for soft reset of a host. 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 ¶
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 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 and 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 ¶
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 UpdatePolicy ¶ added in v0.9.0
type UpdatePolicy string
HostUpdatePolicy enumerates the allowed host update policies.
const ( HostUpdatePolicyOnPreparing UpdatePolicy = "onPreparing" HostUpdatePolicyOnReboot UpdatePolicy = "onReboot" )
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 ¶
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.
Source Files ¶
- baremetalhost_types.go
- baremetalhost_validation.go
- baremetalhost_webhook.go
- bmceventsubscription_types.go
- bmceventsubscription_validation.go
- bmceventsubscription_webhook.go
- dataimage_types.go
- doc.go
- firmwareschema_types.go
- groupversion_info.go
- hardwaredata_types.go
- hostfirmwarecomponents_types.go
- hostfirmwaresettings_types.go
- hostupdatepolicy_types.go
- preprovisioningimage_types.go
- zz_generated.deepcopy.go