diff --git a/src/Aks/Aks/ChangeLog.md b/src/Aks/Aks/ChangeLog.md index 8538122ffd7e..26dcff8af842 100644 --- a/src/Aks/Aks/ChangeLog.md +++ b/src/Aks/Aks/ChangeLog.md @@ -18,6 +18,7 @@ - Additional information about change #1 --> ## Upcoming Release +* Fixed the issue that `Set-AzAks` will fail in Automation Runbook. [#15006] ## Version 2.1.0 * Added support `AcrNameToAttach` in `Set-AzAksCluster`. [#14692] diff --git a/src/Aks/Aks/Commands/SetAzureRmAks.cs b/src/Aks/Aks/Commands/SetAzureRmAks.cs index d9cf59dc5d56..baeddedb24a6 100644 --- a/src/Aks/Aks/Commands/SetAzureRmAks.cs +++ b/src/Aks/Aks/Commands/SetAzureRmAks.cs @@ -289,14 +289,18 @@ public override void ExecuteCmdlet() cluster = BuildNewCluster(); } - acsServicePrincipal = EnsureServicePrincipal(ServicePrincipalIdAndSecret?.UserName, ServicePrincipalIdAndSecret?.Password?.ConvertToString()); - if (this.IsParameterBound(c => c.AcrNameToAttach)) + if (this.IsParameterBound(c => c.AcrNameToAttach) || + this.IsParameterBound(c => c.AcrNameToDetach)) { - AddAcrRoleAssignment(AcrNameToAttach, nameof(AcrNameToAttach), acsServicePrincipal); - } - if (this.IsParameterBound(c => c.AcrNameToDetach)) - { - RemoveAcrRoleAssignment(AcrNameToDetach, nameof(AcrNameToDetach), acsServicePrincipal); + acsServicePrincipal = EnsureServicePrincipal(ServicePrincipalIdAndSecret?.UserName, ServicePrincipalIdAndSecret?.Password?.ConvertToString()); + if (this.IsParameterBound(c => c.AcrNameToAttach)) + { + AddAcrRoleAssignment(AcrNameToAttach, nameof(AcrNameToAttach), acsServicePrincipal); + } + if (this.IsParameterBound(c => c.AcrNameToDetach)) + { + RemoveAcrRoleAssignment(AcrNameToDetach, nameof(AcrNameToDetach), acsServicePrincipal); + } } var kubeCluster = Client.ManagedClusters.CreateOrUpdate(ResourceGroupName, Name, cluster);