BIOSVersion 
BIOSVersion represents a BIOS Version upgrade operation for a physical server (compute system). It updates the bios Version on physical server's BIOS.
Key Points 
BIOSVersionmaps a BIOS version required for a given server's BIOS.BIOSVersionSpec contains the required details to upgrade the BIOS to required version.
- Only one 
BIOSVersioncan be active perServerat a time. BIOSVersionstarts the version upgrade of the BIOS using redfishSimpleUpgradeAPI.BIOSVersionhandles reboots of server usingServerMaintenanceresource.- Once
BIOSVersionmoves toFailedstate, It stays in this state unless Manually moved out of this state. 
Workflow 
- A separate operator (e.g., 
biosVersionSet) or user creates aBIOSVersionresource referencing a specificServer. - Provided BIOS Version is checked against the current BIOS version.
 - If version is same as on the server's BIOS, the state is moved to 
Completed. - If 
ServerMaintenanceis not provided already. it requests for one and waits for theserverto enterMaintenancestate.policyused byServerMaintenanceis to be provided through SpecServerMaintenancePolicyinBIOSVersion
 BIOSVersionissues the bios upgrade using redfishSimpleUpgradeAPI. and monitors theupgrade taskcreated by the API.- the 
BIOSVersionmoves toFailedstate:- If 
SimpleUpgadeis issued but unable to get the task to monitor the progress of bios upgrade - If the 
upgrade taskcreated by SimpleUpgade fails and does not reach completed state. - If the bios version requested is lower than that of the current bios version
 
 - If 
 BIOSVersionmoves to reboot the server once theupgrade taskhas been completed.BIOSVersionverfiy the bios version post reboot, removes theServerMaintenanceresource if created by self. and transistion toCompletedstate- Any further update to the 
BIOSVersionSpec will restart the process. 
Example 
yaml
apiVersion: metal.ironcore.dev/v1alpha1
kind: BIOSVersion
metadata:
  name: biosversion-sample
spec:
  version: "U59 v2.34 (10/04/2024)"
  image:
    URI: "https://foo-2.34_10_04_2024.signed.flash"
    transferProtocol: "HTTPS"
  serverRef:
    name: endpoint-sample-system-0
  serverMaintenancePolicy: OwnerApproval