diff --git a/api/v1/hypervisor_types.go b/api/v1/hypervisor_types.go index 752a1ef..a27df23 100644 --- a/api/v1/hypervisor_types.go +++ b/api/v1/hypervisor_types.go @@ -123,6 +123,9 @@ type OperatingSystemStatus struct { // Represents the Operating System version. Version string `json:"version,omitempty"` + // Identifying a specific variant or edition of the operating system + VariantID string `json:"variantID,omitempty"` + // PrettyVersion PrettyVersion string `json:"prettyVersion,omitempty"` @@ -152,6 +155,12 @@ type OperatingSystemStatus struct { // FirmwareDate FirmwareDate metav1.Time `json:"firmwareDate,omitempty"` + + // Represents the Garden Linux build commit id + GardenLinuxCommitID string `json:"gardenLinuxCommitID,omitempty"` + + // Represents the Garden Linux Feature Set + GardenLinuxFeatures []string `json:"gardenLinuxFeatures,omitempty"` } // Current capabilities reported by libvirt. diff --git a/api/v1/zz_generated.deepcopy.go b/api/v1/zz_generated.deepcopy.go index 999f7e7..1950f3b 100644 --- a/api/v1/zz_generated.deepcopy.go +++ b/api/v1/zz_generated.deepcopy.go @@ -302,6 +302,11 @@ func (in *Instance) DeepCopy() *Instance { func (in *OperatingSystemStatus) DeepCopyInto(out *OperatingSystemStatus) { *out = *in in.FirmwareDate.DeepCopyInto(&out.FirmwareDate) + if in.GardenLinuxFeatures != nil { + in, out := &in.GardenLinuxFeatures, &out.GardenLinuxFeatures + *out = make([]string, len(*in)) + copy(*out, *in) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemStatus. diff --git a/applyconfigurations/api/v1/operatingsystemstatus.go b/applyconfigurations/api/v1/operatingsystemstatus.go index deaae1d..f616914 100644 --- a/applyconfigurations/api/v1/operatingsystemstatus.go +++ b/applyconfigurations/api/v1/operatingsystemstatus.go @@ -9,17 +9,20 @@ import ( // OperatingSystemStatusApplyConfiguration represents a declarative configuration of the OperatingSystemStatus type for use // with apply. type OperatingSystemStatusApplyConfiguration struct { - Version *string `json:"version,omitempty"` - PrettyVersion *string `json:"prettyVersion,omitempty"` - KernelName *string `json:"kernelName,omitempty"` - KernelRelease *string `json:"kernelRelease,omitempty"` - KernelVersion *string `json:"kernelVersion,omitempty"` - HardwareVendor *string `json:"hardwareVendor,omitempty"` - HardwareModel *string `json:"hardwareModel,omitempty"` - HardwareSerial *string `json:"hardwareSerial,omitempty"` - FirmwareVersion *string `json:"firmwareVersion,omitempty"` - FirmwareVendor *string `json:"firmwareVendor,omitempty"` - FirmwareDate *metav1.Time `json:"firmwareDate,omitempty"` + Version *string `json:"version,omitempty"` + VariantID *string `json:"variantID,omitempty"` + PrettyVersion *string `json:"prettyVersion,omitempty"` + KernelName *string `json:"kernelName,omitempty"` + KernelRelease *string `json:"kernelRelease,omitempty"` + KernelVersion *string `json:"kernelVersion,omitempty"` + HardwareVendor *string `json:"hardwareVendor,omitempty"` + HardwareModel *string `json:"hardwareModel,omitempty"` + HardwareSerial *string `json:"hardwareSerial,omitempty"` + FirmwareVersion *string `json:"firmwareVersion,omitempty"` + FirmwareVendor *string `json:"firmwareVendor,omitempty"` + FirmwareDate *metav1.Time `json:"firmwareDate,omitempty"` + GardenLinuxCommitID *string `json:"gardenLinuxCommitID,omitempty"` + GardenLinuxFeatures []string `json:"gardenLinuxFeatures,omitempty"` } // OperatingSystemStatusApplyConfiguration constructs a declarative configuration of the OperatingSystemStatus type for use with @@ -36,6 +39,14 @@ func (b *OperatingSystemStatusApplyConfiguration) WithVersion(value string) *Ope return b } +// WithVariantID sets the VariantID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VariantID field is set to the value of the last call. +func (b *OperatingSystemStatusApplyConfiguration) WithVariantID(value string) *OperatingSystemStatusApplyConfiguration { + b.VariantID = &value + return b +} + // WithPrettyVersion sets the PrettyVersion field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the PrettyVersion field is set to the value of the last call. @@ -115,3 +126,21 @@ func (b *OperatingSystemStatusApplyConfiguration) WithFirmwareDate(value metav1. b.FirmwareDate = &value return b } + +// WithGardenLinuxCommitID sets the GardenLinuxCommitID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GardenLinuxCommitID field is set to the value of the last call. +func (b *OperatingSystemStatusApplyConfiguration) WithGardenLinuxCommitID(value string) *OperatingSystemStatusApplyConfiguration { + b.GardenLinuxCommitID = &value + return b +} + +// WithGardenLinuxFeatures adds the given value to the GardenLinuxFeatures field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the GardenLinuxFeatures field. +func (b *OperatingSystemStatusApplyConfiguration) WithGardenLinuxFeatures(values ...string) *OperatingSystemStatusApplyConfiguration { + for i := range values { + b.GardenLinuxFeatures = append(b.GardenLinuxFeatures, values[i]) + } + return b +} diff --git a/config/crd/bases/kvm.cloud.sap_hypervisors.yaml b/config/crd/bases/kvm.cloud.sap_hypervisors.yaml index a8d005b..ddacb16 100644 --- a/config/crd/bases/kvm.cloud.sap_hypervisors.yaml +++ b/config/crd/bases/kvm.cloud.sap_hypervisors.yaml @@ -315,6 +315,14 @@ spec: firmwareVersion: description: FirmwareVersion type: string + gardenLinuxCommitID: + description: Represents the Garden Linux build commit id + type: string + gardenLinuxFeatures: + description: Represents the Garden Linux Feature Set + items: + type: string + type: array hardwareModel: description: HardwareModel type: string @@ -336,6 +344,10 @@ spec: prettyVersion: description: PrettyVersion type: string + variantID: + description: Identifying a specific variant or edition of the + operating system + type: string version: description: Represents the Operating System version. type: string