diff --git a/src/Sql/Sql/ChangeLog.md b/src/Sql/Sql/ChangeLog.md index dfbd45ea267e..ef6431205344 100644 --- a/src/Sql/Sql/ChangeLog.md +++ b/src/Sql/Sql/ChangeLog.md @@ -23,6 +23,7 @@ ## Version 2.9.1 * 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 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..29ec3da7ffca 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 Microsoft.Azure.Management.Sql.Models.ManagedInstanceOperationParametersPair OperationParameters { get; set; } + + /// + /// Gets the operation steps. + /// + public Microsoft.Azure.Management.Sql.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/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'.