@@ -261,7 +261,7 @@ func (mw *azureManagedControlPlaneWebhook) ValidateUpdate(ctx context.Context, o
261261 allErrs = append (allErrs , errs ... )
262262 }
263263
264- if errs := m .validateFleetsMember (old ); len (errs ) > 0 {
264+ if errs := m .validateFleetsMemberUpdate (old ); len (errs ) > 0 {
265265 allErrs = append (allErrs , errs ... )
266266 }
267267
@@ -316,6 +316,8 @@ func (m *AzureManagedControlPlane) Validate(cli client.Client) error {
316316
317317 allErrs = append (allErrs , validateAMCPVirtualNetwork (m .Spec .VirtualNetwork , field .NewPath ("spec" ).Child ("VirtualNetwork" ))... )
318318
319+ allErrs = append (allErrs , validateFleetsMember (m .Spec .FleetsMember , field .NewPath ("spec" ).Child ("FleetsMember" ))... )
320+
319321 return allErrs .ToAggregate ()
320322}
321323
@@ -431,6 +433,25 @@ func validateAMCPVirtualNetwork(virtualNetwork ManagedControlPlaneVirtualNetwork
431433 return allErrs
432434}
433435
436+ func validateFleetsMember (fleetsMember * FleetsMember , fldPath * field.Path ) field.ErrorList {
437+ var allErrs field.ErrorList
438+
439+ if fleetsMember != nil && fleetsMember .Name != "" {
440+ match , _ := regexp .MatchString (`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` , fleetsMember .Name )
441+ if ! match {
442+ allErrs = append (allErrs ,
443+ field .Invalid (
444+ fldPath .Child ("Name" ),
445+ fleetsMember .Name ,
446+ "Name must match ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" ,
447+ ),
448+ )
449+ }
450+ }
451+
452+ return allErrs
453+ }
454+
434455// validateAPIServerAccessProfile validates an APIServerAccessProfile.
435456func (m * AzureManagedControlPlane ) validateAPIServerAccessProfile (_ client.Client ) field.ErrorList {
436457 if m .Spec .APIServerAccessProfile != nil {
@@ -714,8 +735,8 @@ func (m *AzureManagedControlPlane) validateOIDCIssuerProfileUpdate(old *AzureMan
714735 return allErrs
715736}
716737
717- // validateFleetsMember validates a FleetsMember.
718- func (m * AzureManagedControlPlane ) validateFleetsMember (old * AzureManagedControlPlane ) field.ErrorList {
738+ // validateFleetsMemberUpdate validates a FleetsMember.
739+ func (m * AzureManagedControlPlane ) validateFleetsMemberUpdate (old * AzureManagedControlPlane ) field.ErrorList {
719740 var allErrs field.ErrorList
720741
721742 if old .Spec .FleetsMember == nil || m .Spec .FleetsMember == nil {
0 commit comments