@@ -17,11 +17,10 @@ limitations under the License.
1717package v1beta1
1818
1919import (
20- "reflect"
21-
2220 apierrors "k8s.io/apimachinery/pkg/api/errors"
2321 "k8s.io/apimachinery/pkg/runtime"
2422 "k8s.io/apimachinery/pkg/util/validation/field"
23+ webhookutils "sigs.k8s.io/cluster-api-provider-azure/util/webhook"
2524 ctrl "sigs.k8s.io/controller-runtime"
2625 "sigs.k8s.io/controller-runtime/pkg/webhook"
2726)
@@ -60,88 +59,88 @@ func (m *AzureMachine) ValidateUpdate(oldRaw runtime.Object) error {
6059 var allErrs field.ErrorList
6160 old := oldRaw .(* AzureMachine )
6261
63- if ! reflect . DeepEqual ( m . Spec . Image , old . Spec . Image ) {
64- allErrs = append ( allErrs ,
65- field . Invalid ( field . NewPath ( "spec" , "image" ) ,
66- m .Spec .Image , "field is immutable" ),
67- )
62+ if err := webhookutils . ValidateImmutable (
63+ field . NewPath ( "Spec" , "Image" ) ,
64+ old . Spec . Image ,
65+ m .Spec .Image ); err != nil {
66+ allErrs = append ( allErrs , err )
6867 }
6968
70- if ! reflect . DeepEqual ( m . Spec . Identity , old . Spec . Identity ) {
71- allErrs = append ( allErrs ,
72- field . Invalid ( field . NewPath ( "spec" , "identity" ) ,
73- m .Spec .Identity , "field is immutable" ),
74- )
69+ if err := webhookutils . ValidateImmutable (
70+ field . NewPath ( "Spec" , "Identity" ) ,
71+ old . Spec . Identity ,
72+ m .Spec .Identity ); err != nil {
73+ allErrs = append ( allErrs , err )
7574 }
7675
77- if ! reflect . DeepEqual ( m . Spec . UserAssignedIdentities , old . Spec . UserAssignedIdentities ) {
78- allErrs = append ( allErrs ,
79- field . Invalid ( field . NewPath ( "spec" , "userAssignedIdentities" ) ,
80- m .Spec .UserAssignedIdentities , "field is immutable" ),
81- )
76+ if err := webhookutils . ValidateImmutable (
77+ field . NewPath ( "Spec" , "UserAssignedIdentities" ) ,
78+ old . Spec . UserAssignedIdentities ,
79+ m .Spec .UserAssignedIdentities ); err != nil {
80+ allErrs = append ( allErrs , err )
8281 }
8382
84- if ! reflect . DeepEqual ( m . Spec . RoleAssignmentName , old . Spec . RoleAssignmentName ) {
85- allErrs = append ( allErrs ,
86- field . Invalid ( field . NewPath ( "spec" , "roleAssignmentName" ) ,
87- m .Spec .RoleAssignmentName , "field is immutable" ),
88- )
83+ if err := webhookutils . ValidateImmutable (
84+ field . NewPath ( "Spec" , "RoleAssignmentName" ) ,
85+ old . Spec . RoleAssignmentName ,
86+ m .Spec .RoleAssignmentName ); err != nil {
87+ allErrs = append ( allErrs , err )
8988 }
9089
91- if ! reflect . DeepEqual ( m . Spec . OSDisk , old . Spec . OSDisk ) {
92- allErrs = append ( allErrs ,
93- field . Invalid ( field . NewPath ( "spec" , "osDisk" ) ,
94- m .Spec .OSDisk , "field is immutable" ),
95- )
90+ if err := webhookutils . ValidateImmutable (
91+ field . NewPath ( "Spec" , "OSDisk" ) ,
92+ old . Spec . OSDisk ,
93+ m .Spec .OSDisk ); err != nil {
94+ allErrs = append ( allErrs , err )
9695 }
9796
98- if ! reflect . DeepEqual ( m . Spec . DataDisks , old . Spec . DataDisks ) {
99- allErrs = append ( allErrs ,
100- field . Invalid ( field . NewPath ( "spec" , "dataDisks" ) ,
101- m .Spec .DataDisks , "field is immutable" ),
102- )
97+ if err := webhookutils . ValidateImmutable (
98+ field . NewPath ( "Spec" , "DataDisks" ) ,
99+ old . Spec . DataDisks ,
100+ m .Spec .DataDisks ); err != nil {
101+ allErrs = append ( allErrs , err )
103102 }
104103
105- if ! reflect . DeepEqual ( m . Spec . SSHPublicKey , old . Spec . SSHPublicKey ) {
106- allErrs = append ( allErrs ,
107- field . Invalid ( field . NewPath ( "spec" , "sshPublicKey" ) ,
108- m .Spec .SSHPublicKey , "field is immutable" ),
109- )
104+ if err := webhookutils . ValidateImmutable (
105+ field . NewPath ( "Spec" , "SSHPublicKey" ) ,
106+ old . Spec . SSHPublicKey ,
107+ m .Spec .SSHPublicKey ); err != nil {
108+ allErrs = append ( allErrs , err )
110109 }
111110
112- if ! reflect . DeepEqual ( m . Spec . AllocatePublicIP , old . Spec . AllocatePublicIP ) {
113- allErrs = append ( allErrs ,
114- field . Invalid ( field . NewPath ( "spec" , "allocatePublicIP" ) ,
115- m .Spec .AllocatePublicIP , "field is immutable" ),
116- )
111+ if err := webhookutils . ValidateImmutable (
112+ field . NewPath ( "Spec" , "AllocatePublicIP" ) ,
113+ old . Spec . AllocatePublicIP ,
114+ m .Spec .AllocatePublicIP ); err != nil {
115+ allErrs = append ( allErrs , err )
117116 }
118117
119- if ! reflect . DeepEqual ( m . Spec . EnableIPForwarding , old . Spec . EnableIPForwarding ) {
120- allErrs = append ( allErrs ,
121- field . Invalid ( field . NewPath ( "spec" , "enableIPForwarding" ) ,
122- m .Spec .EnableIPForwarding , "field is immutable" ),
123- )
118+ if err := webhookutils . ValidateImmutable (
119+ field . NewPath ( "Spec" , "EnableIPForwarding" ) ,
120+ old . Spec . EnableIPForwarding ,
121+ m .Spec .EnableIPForwarding ); err != nil {
122+ allErrs = append ( allErrs , err )
124123 }
125124
126- if ! reflect . DeepEqual ( m . Spec . AcceleratedNetworking , old . Spec . AcceleratedNetworking ) {
127- allErrs = append ( allErrs ,
128- field . Invalid ( field . NewPath ( "spec" , "acceleratedNetworking" ) ,
129- m .Spec .AcceleratedNetworking , "field is immutable" ),
130- )
125+ if err := webhookutils . ValidateImmutable (
126+ field . NewPath ( "Spec" , "AcceleratedNetworking" ) ,
127+ old . Spec . AcceleratedNetworking ,
128+ m .Spec .AcceleratedNetworking ); err != nil {
129+ allErrs = append ( allErrs , err )
131130 }
132131
133- if ! reflect . DeepEqual ( m . Spec . SpotVMOptions , old . Spec . SpotVMOptions ) {
134- allErrs = append ( allErrs ,
135- field . Invalid ( field . NewPath ( "spec" , "spotVMOptions" ) ,
136- m .Spec .SpotVMOptions , "field is immutable" ),
137- )
132+ if err := webhookutils . ValidateImmutable (
133+ field . NewPath ( "Spec" , "SpotVMOptions" ) ,
134+ old . Spec . SpotVMOptions ,
135+ m .Spec .SpotVMOptions ); err != nil {
136+ allErrs = append ( allErrs , err )
138137 }
139138
140- if ! reflect . DeepEqual ( m . Spec . SecurityProfile , old . Spec . SecurityProfile ) {
141- allErrs = append ( allErrs ,
142- field . Invalid ( field . NewPath ( "spec" , "securityProfile" ) ,
143- m .Spec .SecurityProfile , "field is immutable" ),
144- )
139+ if err := webhookutils . ValidateImmutable (
140+ field . NewPath ( "Spec" , "SecurityProfile" ) ,
141+ old . Spec . SecurityProfile ,
142+ m .Spec .SecurityProfile ); err != nil {
143+ allErrs = append ( allErrs , err )
145144 }
146145
147146 if len (allErrs ) == 0 {
0 commit comments