@@ -220,7 +220,7 @@ func (mw *azureManagedControlPlaneWebhook) ValidateUpdate(ctx context.Context, o
220220 allErrs = append (allErrs , errs ... )
221221 }
222222
223- if errs := m .validateFleetsMember (old ); len (errs ) > 0 {
223+ if errs := m .validateFleetsMemberUpdate (old ); len (errs ) > 0 {
224224 allErrs = append (allErrs , errs ... )
225225 }
226226
@@ -292,6 +292,8 @@ func (m *AzureManagedControlPlane) Validate(cli client.Client) error {
292292
293293 allErrs = append (allErrs , validateAMCPVirtualNetwork (m .Spec .VirtualNetwork , field .NewPath ("spec" ).Child ("VirtualNetwork" ))... )
294294
295+ allErrs = append (allErrs , validateFleetsMember (m .Spec .FleetsMember , field .NewPath ("spec" ).Child ("FleetsMember" ))... )
296+
295297 return allErrs .ToAggregate ()
296298}
297299
@@ -463,6 +465,25 @@ func validateAMCPVirtualNetwork(virtualNetwork ManagedControlPlaneVirtualNetwork
463465 return allErrs
464466}
465467
468+ func validateFleetsMember (fleetsMember * FleetsMember , fldPath * field.Path ) field.ErrorList {
469+ var allErrs field.ErrorList
470+
471+ if fleetsMember != nil && fleetsMember .Name != "" {
472+ match , _ := regexp .MatchString (`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` , fleetsMember .Name )
473+ if ! match {
474+ allErrs = append (allErrs ,
475+ field .Invalid (
476+ fldPath .Child ("Name" ),
477+ fleetsMember .Name ,
478+ "Name must match ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" ,
479+ ),
480+ )
481+ }
482+ }
483+
484+ return allErrs
485+ }
486+
466487// validateAPIServerAccessProfile validates an APIServerAccessProfile.
467488func validateAPIServerAccessProfile (apiServerAccessProfile * APIServerAccessProfile , fldPath * field.Path ) field.ErrorList {
468489 var allErrs field.ErrorList
@@ -882,8 +903,8 @@ func (m *AzureManagedControlPlane) validateOIDCIssuerProfileUpdate(old *AzureMan
882903 return allErrs
883904}
884905
885- // validateFleetsMember validates a FleetsMember.
886- func (m * AzureManagedControlPlane ) validateFleetsMember (old * AzureManagedControlPlane ) field.ErrorList {
906+ // validateFleetsMemberUpdate validates a FleetsMember.
907+ func (m * AzureManagedControlPlane ) validateFleetsMemberUpdate (old * AzureManagedControlPlane ) field.ErrorList {
887908 var allErrs field.ErrorList
888909
889910 if old .Spec .FleetsMember == nil || m .Spec .FleetsMember == nil {
0 commit comments