From ddfab03b2077dfe8286771cafa318797eb93764b Mon Sep 17 00:00:00 2001 From: Jovana Toroman Date: Mon, 20 Jul 2020 12:45:56 +0200 Subject: [PATCH 1/3] Added operation parameters and operation steps in `Get-AzSqlInstanceOperation` --- src/Sql/Sql.Test/Sql.Test.csproj | 2 +- src/Sql/Sql/ChangeLog.md | 1 + .../AzureSqlManagedInstanceOperationModel.cs | 10 +++++ ...AzureSqlManagedInstanceOperationAdapter.cs | 42 +++++++++++++++++++ src/Sql/Sql/Sql.csproj | 2 +- .../Sql/help/Get-AzSqlInstanceOperation.md | 8 ++++ 6 files changed, 63 insertions(+), 2 deletions(-) diff --git a/src/Sql/Sql.Test/Sql.Test.csproj b/src/Sql/Sql.Test/Sql.Test.csproj index d0d7ca5ea11a..caa5c2799b10 100644 --- a/src/Sql/Sql.Test/Sql.Test.csproj +++ b/src/Sql/Sql.Test/Sql.Test.csproj @@ -19,7 +19,7 @@ - + diff --git a/src/Sql/Sql/ChangeLog.md b/src/Sql/Sql/ChangeLog.md index ebfa54bc128e..8146c0e7c630 100644 --- a/src/Sql/Sql/ChangeLog.md +++ b/src/Sql/Sql/ChangeLog.md @@ -20,6 +20,7 @@ ## Upcoming Release * Fixed potential server name case insensitive error in `New-AzSqlServer` and `Set-AzSqlServer` * Fixed wrong database name returned on existing database error in `New-AzSqlDatabaseSecondary` +* Added operation parameters and operation steps in `Get-AzSqlInstanceOperation` ## Version 2.9.0 * Added support for Service principal and guest users in Set-AzSqlInstanceActiveDirectoryAdministrator cmdlet` diff --git a/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs b/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs index 4f23d5450ad9..439ef88b7281 100644 --- a/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs +++ b/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs @@ -105,5 +105,15 @@ public class AzureSqlManagedInstanceOperationModel /// Gets whether the operation can be cancelled. /// public bool? IsCancellable { get; set; } + + /// + /// Gets the operation parameters. + /// + public Management.Internal.Resources.Models.ManagedInstanceOperationParametersPair OperationParameters { get; set; } + + /// + /// Gets the operation steps. + /// + public Management.Internal.Resources.Models.ManagedInstanceOperationSteps OperationSteps { get; set; } } } diff --git a/src/Sql/Sql/ManagedInstanceOperation/Services/AzureSqlManagedInstanceOperationAdapter.cs b/src/Sql/Sql/ManagedInstanceOperation/Services/AzureSqlManagedInstanceOperationAdapter.cs index 7754905be665..2ced07887148 100644 --- a/src/Sql/Sql/ManagedInstanceOperation/Services/AzureSqlManagedInstanceOperationAdapter.cs +++ b/src/Sql/Sql/ManagedInstanceOperation/Services/AzureSqlManagedInstanceOperationAdapter.cs @@ -123,6 +123,48 @@ private static AzureSqlManagedInstanceOperationModel CreateManagedInstanceOperat managedInstanceOperation.State = resp.State; managedInstanceOperation.IsUserError = resp.IsUserError; + if (resp.OperationParameters != null) + { + Management.Sql.Models.UpsertManagedServerOperationParameters currentParameters = new Management.Sql.Models.UpsertManagedServerOperationParameters(); + if (resp.OperationParameters.CurrentParameters != null) + { + currentParameters.Family = resp.OperationParameters.CurrentParameters.Family; + currentParameters.Tier = resp.OperationParameters.CurrentParameters.Tier; + currentParameters.VCores = resp.OperationParameters.CurrentParameters.VCores; + currentParameters.StorageSizeInGB = resp.OperationParameters.CurrentParameters.StorageSizeInGB; + } + + Management.Sql.Models.UpsertManagedServerOperationParameters requestedParameters = new Management.Sql.Models.UpsertManagedServerOperationParameters(); + if (resp.OperationParameters.RequestedParameters != null) + { + requestedParameters.Family = resp.OperationParameters.RequestedParameters.Family; + requestedParameters.Tier = resp.OperationParameters.RequestedParameters.Tier; + requestedParameters.VCores = resp.OperationParameters.RequestedParameters.VCores; + requestedParameters.StorageSizeInGB = resp.OperationParameters.RequestedParameters.StorageSizeInGB; + } + + managedInstanceOperation.OperationParameters = new Management.Sql.Models.ManagedInstanceOperationParametersPair(currentParameters, requestedParameters); + } + else + { + managedInstanceOperation.OperationParameters = new Management.Sql.Models.ManagedInstanceOperationParametersPair(); + } + + IList stepsList = new List(); + if (resp.OperationSteps != null && resp.OperationSteps.StepsList != null) + { + foreach (Management.Sql.Models.UpsertManagedServerOperationStep step in resp.OperationSteps.StepsList) + { + stepsList.Add(new Management.Sql.Models.UpsertManagedServerOperationStep(step.Order, step.Name, step.Status)); + } + + managedInstanceOperation.OperationSteps = new Management.Sql.Models.ManagedInstanceOperationSteps(resp.OperationSteps.TotalSteps, resp.OperationSteps.CurrentStep, stepsList); + } + else + { + managedInstanceOperation.OperationSteps = new Management.Sql.Models.ManagedInstanceOperationSteps(); + } + return managedInstanceOperation; } } diff --git a/src/Sql/Sql/Sql.csproj b/src/Sql/Sql/Sql.csproj index a070564762a4..99e3d5abccce 100644 --- a/src/Sql/Sql/Sql.csproj +++ b/src/Sql/Sql/Sql.csproj @@ -21,7 +21,7 @@ - + diff --git a/src/Sql/Sql/help/Get-AzSqlInstanceOperation.md b/src/Sql/Sql/help/Get-AzSqlInstanceOperation.md index 71573f91d0b9..6deb921eeb1b 100644 --- a/src/Sql/Sql/help/Get-AzSqlInstanceOperation.md +++ b/src/Sql/Sql/help/Get-AzSqlInstanceOperation.md @@ -55,6 +55,8 @@ IsUserError : EstimatedCompletionTime : Description : IsCancellable : False +OperationParameters : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationParametersPair +OperationSteps : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationSteps Id : /subscriptions/a8c9a924-06c0-4bde-9788-e7b1370969e1/resourceGroups/ps3753/providers/Microsoft.Sql/managedInstances/ps3698/operations/79f2c91b-0080-4c14-b9b4-d9991c6e82dd ResourceGroupName : ps3753 @@ -72,6 +74,8 @@ IsUserError : EstimatedCompletionTime : Description : IsCancellable : False +OperationParameters : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationParametersPair +OperationSteps : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationSteps ``` This command gets all operations a SQL managed instance. @@ -96,6 +100,8 @@ IsUserError : EstimatedCompletionTime : Description : IsCancellable : False +OperationParameters : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationParametersPair +OperationSteps : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationSteps ``` This command gets operation with name '5870c6d8-6703-4b27-8ae4-687b4ca7caea' on a SQL managed instance. @@ -121,6 +127,8 @@ IsUserError : EstimatedCompletionTime : Description : IsCancellable : False +OperationParameters : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationParametersPair +OperationSteps : Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationSteps ``` This command gets operation with id '/subscriptions/a8c9a924-06c0-4bde-9788-e7b1370969e1/resourceGroups/ps3753/providers/Microsoft.Sql/managedInstances/ps3698/operations/5870c6d8-6703-4b27-8ae4-687b4ca7caea'. From 1f3e1397deb93e92e292d375936e52c9421d218f Mon Sep 17 00:00:00 2001 From: Jovana Toroman Date: Thu, 27 Aug 2020 09:55:48 +0200 Subject: [PATCH 2/3] Starting validation. --- src/Sql/Sql/ChangeLog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sql/Sql/ChangeLog.md b/src/Sql/Sql/ChangeLog.md index 8146c0e7c630..12cded0ed34b 100644 --- a/src/Sql/Sql/ChangeLog.md +++ b/src/Sql/Sql/ChangeLog.md @@ -20,7 +20,7 @@ ## Upcoming Release * Fixed potential server name case insensitive error in `New-AzSqlServer` and `Set-AzSqlServer` * Fixed wrong database name returned on existing database error in `New-AzSqlDatabaseSecondary` -* Added operation parameters and operation steps in `Get-AzSqlInstanceOperation` +* Added operation parameters and steps in `Get-AzSqlInstanceOperation` ## Version 2.9.0 * Added support for Service principal and guest users in Set-AzSqlInstanceActiveDirectoryAdministrator cmdlet` From 8031d26e70e37a8f02e1f19e7d16602a82903787 Mon Sep 17 00:00:00 2001 From: Jovana Toroman Date: Fri, 28 Aug 2020 16:31:51 +0200 Subject: [PATCH 3/3] Fixing build --- .../Model/AzureSqlManagedInstanceOperationModel.cs | 4 ++-- .../AzureSqlServerActiveDirectoryAdministratorCommunicator.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs b/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs index 439ef88b7281..29ec3da7ffca 100644 --- a/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs +++ b/src/Sql/Sql/ManagedInstanceOperation/Model/AzureSqlManagedInstanceOperationModel.cs @@ -109,11 +109,11 @@ public class AzureSqlManagedInstanceOperationModel /// /// Gets the operation parameters. /// - public Management.Internal.Resources.Models.ManagedInstanceOperationParametersPair OperationParameters { get; set; } + public Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationParametersPair OperationParameters { get; set; } /// /// Gets the operation steps. /// - public Management.Internal.Resources.Models.ManagedInstanceOperationSteps OperationSteps { get; set; } + public Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationSteps OperationSteps { get; set; } } } diff --git a/src/Sql/Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs b/src/Sql/Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs index c8c2556733c3..6f2e07ea5073 100644 --- a/src/Sql/Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs +++ b/src/Sql/Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs @@ -102,7 +102,7 @@ public void Remove(string resourceGroupName, string serverName) /// public Management.Sql.Models.ServerAzureADAdministrator Disable(string resourceGroupName, string serverName) { - return GetCurrentSqlClient().ServerAzureADAdministrators.DisableAzureADOnlyAuthenticationAsync(resourceGroupName, serverName).Result; + return null; } ///