@@ -60,7 +60,7 @@ func (r *CloudStackMachine) ValidateCreate() error {
60
60
61
61
errorList = webhookutil .EnsureAtLeastOneFieldExists (r .Spec .Offering .ID , r .Spec .Offering .Name , "Offering" , errorList )
62
62
errorList = webhookutil .EnsureAtLeastOneFieldExists (r .Spec .Template .ID , r .Spec .Template .Name , "Template" , errorList )
63
- if len (r .Spec .DiskOffering .ID ) > 0 || len (r .Spec .DiskOffering .Name ) > 0 {
63
+ if r . Spec . DiskOffering != nil && ( len (r .Spec .DiskOffering .ID ) > 0 || len (r .Spec .DiskOffering .Name ) > 0 ) {
64
64
errorList = webhookutil .EnsureIntFieldsAreNotNegative (r .Spec .DiskOffering .CustomSize , "customSizeInGB" , errorList )
65
65
}
66
66
@@ -81,13 +81,15 @@ func (r *CloudStackMachine) ValidateUpdate(old runtime.Object) error {
81
81
82
82
errorList = webhookutil .EnsureEqualStrings (r .Spec .Offering .ID , oldSpec .Offering .ID , "offering" , errorList )
83
83
errorList = webhookutil .EnsureEqualStrings (r .Spec .Offering .Name , oldSpec .Offering .Name , "offering" , errorList )
84
- errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .ID , oldSpec .DiskOffering .ID , "diskOffering" , errorList )
85
- errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Name , oldSpec .DiskOffering .Name , "diskOffering" , errorList )
86
- errorList = webhookutil .EnsureIntFieldsAreNotNegative (r .Spec .DiskOffering .CustomSize , "customSizeInGB" , errorList )
87
- errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .MountPath , oldSpec .DiskOffering .MountPath , "mountPath" , errorList )
88
- errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Device , oldSpec .DiskOffering .Device , "device" , errorList )
89
- errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Filesystem , oldSpec .DiskOffering .Filesystem , "filesystem" , errorList )
90
- errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Label , oldSpec .DiskOffering .Label , "label" , errorList )
84
+ if r .Spec .DiskOffering != nil {
85
+ errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .ID , oldSpec .DiskOffering .ID , "diskOffering" , errorList )
86
+ errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Name , oldSpec .DiskOffering .Name , "diskOffering" , errorList )
87
+ errorList = webhookutil .EnsureIntFieldsAreNotNegative (r .Spec .DiskOffering .CustomSize , "customSizeInGB" , errorList )
88
+ errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .MountPath , oldSpec .DiskOffering .MountPath , "mountPath" , errorList )
89
+ errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Device , oldSpec .DiskOffering .Device , "device" , errorList )
90
+ errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Filesystem , oldSpec .DiskOffering .Filesystem , "filesystem" , errorList )
91
+ errorList = webhookutil .EnsureEqualStrings (r .Spec .DiskOffering .Label , oldSpec .DiskOffering .Label , "label" , errorList )
92
+ }
91
93
errorList = webhookutil .EnsureEqualStrings (r .Spec .SSHKey , oldSpec .SSHKey , "sshkey" , errorList )
92
94
errorList = webhookutil .EnsureEqualStrings (r .Spec .Template .ID , oldSpec .Template .ID , "template" , errorList )
93
95
errorList = webhookutil .EnsureEqualStrings (r .Spec .Template .Name , oldSpec .Template .Name , "template" , errorList )
0 commit comments