From d2f35c92c24c9b1ba843dbb5aca82fda17803077 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 5 Dec 2022 06:18:13 +0000 Subject: [PATCH] CodeGen from PR 21422 in Azure/azure-rest-api-specs Merge d787456ff736897536f61727f8d243bbc2b89ca5 into 5dedb96183ff83552172039606e67eccf0b7ee20 --- ...anager.SqlVirtualMachine.netstandard2.0.cs | 60 +++++++++ .../AvailabilityGroupListenerCollection.cs | 4 +- .../AvailabilityGroupListenerResource.cs | 4 +- .../SqlVmTroubleshootingOperationSource.cs | 31 +++++ ...AADAuthenticationSettings.Serialization.cs | 40 ++++++ .../Models/AADAuthenticationSettings.cs | 28 +++++ .../Generated/Models/LeastPrivilegeMode.cs | 51 ++++++++ ...rationsManagementSettings.Serialization.cs | 18 ++- ...lServerConfigurationsManagementSettings.cs | 17 ++- .../src/Generated/Models/SqlTempDBSettings.cs | 2 +- .../Models/SqlVmAssessmentSchedule.cs | 2 +- .../Models/SqlVmAssessmentSettings.cs | 14 +-- .../Models/SqlVmData.Serialization.cs | 45 ++++++- .../SqlVmTroubleshooting.Serialization.cs | 105 ++++++++++++++++ .../Generated/Models/SqlVmTroubleshooting.cs | 59 +++++++++ ...otingAdditionalProperties.Serialization.cs | 45 +++++++ .../TroubleshootingAdditionalProperties.cs | 39 ++++++ .../Models/TroubleshootingScenario.cs | 48 +++++++ .../TroubleshootingStatus.Serialization.cs | 85 +++++++++++++ .../Generated/Models/TroubleshootingStatus.cs | 55 ++++++++ .../UnhealthyReplicaInfo.Serialization.cs | 40 ++++++ .../Generated/Models/UnhealthyReplicaInfo.cs | 28 +++++ ...vailabilityGroupListenersRestOperations.cs | 3 +- .../SqlVirtualMachineGroupsRestOperations.cs | 3 +- ...irtualMachineTroubleshootRestOperations.cs | 118 ++++++++++++++++++ .../SqlVirtualMachinesRestOperations.cs | 37 +++--- .../src/Generated/SqlVmCollection.cs | 4 +- .../src/Generated/SqlVmData.cs | 18 ++- .../src/Generated/SqlVmGroupCollection.cs | 4 +- .../src/Generated/SqlVmGroupResource.cs | 4 +- .../src/Generated/SqlVmResource.cs | 104 ++++++++++++--- .../src/autorest.md | 2 +- 32 files changed, 1052 insertions(+), 65 deletions(-) create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/LongRunningOperation/SqlVmTroubleshootingOperationSource.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.Serialization.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/LeastPrivilegeMode.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.Serialization.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.Serialization.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingScenario.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.Serialization.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.Serialization.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.cs create mode 100644 sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineTroubleshootRestOperations.cs diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/api/Azure.ResourceManager.SqlVirtualMachine.netstandard2.0.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/api/Azure.ResourceManager.SqlVirtualMachine.netstandard2.0.cs index b0872263767e..4636c58a420b 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/api/Azure.ResourceManager.SqlVirtualMachine.netstandard2.0.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/api/Azure.ResourceManager.SqlVirtualMachine.netstandard2.0.cs @@ -77,8 +77,10 @@ public SqlVmData(Azure.Core.AzureLocation location) : base (default(Azure.Core.A public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAssessmentSettings AssessmentSettings { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoBackupSettings AutoBackupSettings { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoPatchingSettings AutoPatchingSettings { get { throw null; } set { } } + public bool? EnableAutomaticUpgrade { get { throw null; } set { } } public Azure.ResourceManager.Models.ManagedServiceIdentity Identity { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmKeyVaultCredentialSettings KeyVaultCredentialSettings { get { throw null; } set { } } + public Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode? LeastPrivilegeMode { get { throw null; } set { } } public string ProvisioningState { get { throw null; } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerConfigurationsManagementSettings ServerConfigurationsManagementSettings { get { throw null; } set { } } public string SqlImageOffer { get { throw null; } set { } } @@ -87,6 +89,7 @@ public SqlVmData(Azure.Core.AzureLocation location) : base (default(Azure.Core.A public Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerLicenseType? SqlServerLicenseType { get { throw null; } set { } } public Azure.Core.ResourceIdentifier SqlVmGroupResourceId { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmStorageConfigurationSettings StorageConfigurationSettings { get { throw null; } set { } } + public Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingStatus TroubleshootingStatus { get { throw null; } } public Azure.Core.ResourceIdentifier VirtualMachineResourceId { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.WindowsServerFailoverClusterDomainCredentials WindowsServerFailoverClusterDomainCredentials { get { throw null; } set { } } public System.Net.IPAddress WindowsServerFailoverClusterStaticIP { get { throw null; } set { } } @@ -163,6 +166,8 @@ protected SqlVmResource() { } public virtual System.Threading.Tasks.Task> SetTagsAsync(System.Collections.Generic.IDictionary tags, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.ResourceManager.ArmOperation StartAssessment(Azure.WaitUntil waitUntil, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual System.Threading.Tasks.Task StartAssessmentAsync(Azure.WaitUntil waitUntil, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual Azure.ResourceManager.ArmOperation TroubleshootSqlVirtualMachineTroubleshoot(Azure.WaitUntil waitUntil, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmTroubleshooting sqlVmTroubleshooting, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual System.Threading.Tasks.Task> TroubleshootSqlVirtualMachineTroubleshootAsync(Azure.WaitUntil waitUntil, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmTroubleshooting sqlVmTroubleshooting, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.ResourceManager.ArmOperation Update(Azure.WaitUntil waitUntil, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmPatch patch, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual System.Threading.Tasks.Task> UpdateAsync(Azure.WaitUntil waitUntil, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmPatch patch, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } } @@ -247,6 +252,24 @@ public AvailabilityGroupReplica() { } public static bool operator !=(Azure.ResourceManager.SqlVirtualMachine.Models.AvailabilityGroupReplicaRole left, Azure.ResourceManager.SqlVirtualMachine.Models.AvailabilityGroupReplicaRole right) { throw null; } public override string ToString() { throw null; } } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + public readonly partial struct LeastPrivilegeMode : System.IEquatable + { + private readonly object _dummy; + private readonly int _dummyPrimitive; + public LeastPrivilegeMode(string value) { throw null; } + public static Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode Enabled { get { throw null; } } + public static Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode NotSet { get { throw null; } } + public bool Equals(Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode other) { throw null; } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public override bool Equals(object obj) { throw null; } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public override int GetHashCode() { throw null; } + public static bool operator ==(Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode left, Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode right) { throw null; } + public static implicit operator Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode (string value) { throw null; } + public static bool operator !=(Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode left, Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode right) { throw null; } + public override string ToString() { throw null; } + } public partial class MultiSubnetIPConfiguration { public MultiSubnetIPConfiguration(Azure.ResourceManager.SqlVirtualMachine.Models.AvailabilityGroupListenerPrivateIPAddress privateIPAddress, string sqlVmInstance) { } @@ -334,6 +357,7 @@ public SqlInstanceSettings() { } public partial class SqlServerConfigurationsManagementSettings { public SqlServerConfigurationsManagementSettings() { } + public string AzureAdAuthenticationClientId { get { throw null; } set { } } public bool? IsRServicesEnabled { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlConnectivityUpdateSettings SqlConnectivityUpdateSettings { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlInstanceSettings SqlInstanceSettings { get { throw null; } set { } } @@ -662,6 +686,15 @@ public SqlVmStorageConfigurationSettings() { } public static bool operator !=(Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmStorageWorkloadType left, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmStorageWorkloadType right) { throw null; } public override string ToString() { throw null; } } + public partial class SqlVmTroubleshooting + { + public SqlVmTroubleshooting() { } + public System.DateTimeOffset? EndTimeUtc { get { throw null; } set { } } + public System.DateTimeOffset? StartTimeUtc { get { throw null; } set { } } + public Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario? TroubleshootingScenario { get { throw null; } set { } } + public string UnhealthyReplicaInfoAvailabilityGroupName { get { throw null; } set { } } + public Azure.Core.ResourceIdentifier VirtualMachineResourceId { get { throw null; } } + } [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] public readonly partial struct SqlWorkloadType : System.IEquatable { @@ -699,6 +732,33 @@ public SqlVmStorageConfigurationSettings() { } public static bool operator !=(Azure.ResourceManager.SqlVirtualMachine.Models.SqVmBackupScheduleType left, Azure.ResourceManager.SqlVirtualMachine.Models.SqVmBackupScheduleType right) { throw null; } public override string ToString() { throw null; } } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + public readonly partial struct TroubleshootingScenario : System.IEquatable + { + private readonly object _dummy; + private readonly int _dummyPrimitive; + public TroubleshootingScenario(string value) { throw null; } + public static Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario UnhealthyReplica { get { throw null; } } + public bool Equals(Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario other) { throw null; } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public override bool Equals(object obj) { throw null; } + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public override int GetHashCode() { throw null; } + public static bool operator ==(Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario left, Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario right) { throw null; } + public static implicit operator Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario (string value) { throw null; } + public static bool operator !=(Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario left, Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario right) { throw null; } + public override string ToString() { throw null; } + } + public partial class TroubleshootingStatus + { + internal TroubleshootingStatus() { } + public System.DateTimeOffset? EndTimeUtc { get { throw null; } } + public System.DateTimeOffset? LastTriggerTimeUtc { get { throw null; } } + public string RootCause { get { throw null; } } + public System.DateTimeOffset? StartTimeUtc { get { throw null; } } + public Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario? TroubleshootingScenario { get { throw null; } } + public string UnhealthyReplicaInfoAvailabilityGroupName { get { throw null; } } + } public partial class WindowsServerFailoverClusterDomainCredentials { public WindowsServerFailoverClusterDomainCredentials() { } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs index 4a372ba800aa..4154856f2a5a 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs @@ -74,7 +74,7 @@ public virtual async Task> Creat try { var response = await _availabilityGroupListenerRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilityGroupListenerName, data, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilityGroupListenerName, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilityGroupListenerName, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -107,7 +107,7 @@ public virtual ArmOperation CreateOrUpdate(Wa try { var response = _availabilityGroupListenerRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilityGroupListenerName, data, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilityGroupListenerName, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilityGroupListenerName, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerResource.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerResource.cs index 70e1a9315672..7a3ef0995676 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerResource.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerResource.cs @@ -206,7 +206,7 @@ public virtual async Task> Updat try { var response = await _availabilityGroupListenerRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -236,7 +236,7 @@ public virtual ArmOperation Update(WaitUntil try { var response = _availabilityGroupListenerRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new AvailabilityGroupListenerOperationSource(Client), _availabilityGroupListenerClientDiagnostics, Pipeline, _availabilityGroupListenerRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/LongRunningOperation/SqlVmTroubleshootingOperationSource.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/LongRunningOperation/SqlVmTroubleshootingOperationSource.cs new file mode 100644 index 000000000000..98b98f2b3450 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/LongRunningOperation/SqlVmTroubleshootingOperationSource.cs @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core; +using Azure.ResourceManager.SqlVirtualMachine.Models; + +namespace Azure.ResourceManager.SqlVirtualMachine +{ + internal class SqlVmTroubleshootingOperationSource : IOperationSource + { + SqlVmTroubleshooting IOperationSource.CreateResult(Response response, CancellationToken cancellationToken) + { + using var document = JsonDocument.Parse(response.ContentStream); + return SqlVmTroubleshooting.DeserializeSqlVmTroubleshooting(document.RootElement); + } + + async ValueTask IOperationSource.CreateResultAsync(Response response, CancellationToken cancellationToken) + { + using var document = await JsonDocument.ParseAsync(response.ContentStream, default, cancellationToken).ConfigureAwait(false); + return SqlVmTroubleshooting.DeserializeSqlVmTroubleshooting(document.RootElement); + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.Serialization.cs new file mode 100644 index 000000000000..52e32a3e1a7c --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.Serialization.cs @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + internal partial class AADAuthenticationSettings : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (Optional.IsDefined(ClientId)) + { + writer.WritePropertyName("clientId"); + writer.WriteStringValue(ClientId); + } + writer.WriteEndObject(); + } + + internal static AADAuthenticationSettings DeserializeAADAuthenticationSettings(JsonElement element) + { + Optional clientId = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("clientId")) + { + clientId = property.Value.GetString(); + continue; + } + } + return new AADAuthenticationSettings(clientId.Value); + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.cs new file mode 100644 index 000000000000..a7bddd066610 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.cs @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// Enable AAD authentication for SQL VM. + internal partial class AADAuthenticationSettings + { + /// Initializes a new instance of AADAuthenticationSettings. + public AADAuthenticationSettings() + { + } + + /// Initializes a new instance of AADAuthenticationSettings. + /// The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity. + internal AADAuthenticationSettings(string clientId) + { + ClientId = clientId; + } + + /// The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity. + public string ClientId { get; set; } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/LeastPrivilegeMode.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/LeastPrivilegeMode.cs new file mode 100644 index 000000000000..2f40f3e7d958 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/LeastPrivilegeMode.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ComponentModel; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// SQL IaaS Agent least privilege mode. + public readonly partial struct LeastPrivilegeMode : IEquatable + { + private readonly string _value; + + /// Initializes a new instance of . + /// is null. + public LeastPrivilegeMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + private const string EnabledValue = "Enabled"; + private const string NotSetValue = "NotSet"; + + /// Enabled. + public static LeastPrivilegeMode Enabled { get; } = new LeastPrivilegeMode(EnabledValue); + /// NotSet. + public static LeastPrivilegeMode NotSet { get; } = new LeastPrivilegeMode(NotSetValue); + /// Determines if two values are the same. + public static bool operator ==(LeastPrivilegeMode left, LeastPrivilegeMode right) => left.Equals(right); + /// Determines if two values are not the same. + public static bool operator !=(LeastPrivilegeMode left, LeastPrivilegeMode right) => !left.Equals(right); + /// Converts a string to a . + public static implicit operator LeastPrivilegeMode(string value) => new LeastPrivilegeMode(value); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object obj) => obj is LeastPrivilegeMode other && Equals(other); + /// + public bool Equals(LeastPrivilegeMode other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + /// + public override string ToString() => _value; + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.Serialization.cs index 216a4ede0c55..465190d8caf4 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.Serialization.cs @@ -40,6 +40,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("sqlInstanceSettings"); writer.WriteObjectValue(SqlInstanceSettings); } + if (Optional.IsDefined(AzureAdAuthenticationSettings)) + { + writer.WritePropertyName("azureAdAuthenticationSettings"); + writer.WriteObjectValue(AzureAdAuthenticationSettings); + } writer.WriteEndObject(); } @@ -50,6 +55,7 @@ internal static SqlServerConfigurationsManagementSettings DeserializeSqlServerCo Optional sqlStorageUpdateSettings = default; Optional additionalFeaturesServerConfigurations = default; Optional sqlInstanceSettings = default; + Optional azureAdAuthenticationSettings = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sqlConnectivityUpdateSettings")) @@ -102,8 +108,18 @@ internal static SqlServerConfigurationsManagementSettings DeserializeSqlServerCo sqlInstanceSettings = SqlInstanceSettings.DeserializeSqlInstanceSettings(property.Value); continue; } + if (property.NameEquals("azureAdAuthenticationSettings")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + azureAdAuthenticationSettings = AADAuthenticationSettings.DeserializeAADAuthenticationSettings(property.Value); + continue; + } } - return new SqlServerConfigurationsManagementSettings(sqlConnectivityUpdateSettings.Value, sqlWorkloadTypeUpdateSettings.Value, sqlStorageUpdateSettings.Value, additionalFeaturesServerConfigurations.Value, sqlInstanceSettings.Value); + return new SqlServerConfigurationsManagementSettings(sqlConnectivityUpdateSettings.Value, sqlWorkloadTypeUpdateSettings.Value, sqlStorageUpdateSettings.Value, additionalFeaturesServerConfigurations.Value, sqlInstanceSettings.Value, azureAdAuthenticationSettings.Value); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.cs index c47f458aedcc..195a7ba3475d 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlServerConfigurationsManagementSettings.cs @@ -21,13 +21,15 @@ public SqlServerConfigurationsManagementSettings() /// SQL storage update settings. /// Additional SQL feature settings. /// SQL Instance settings. - internal SqlServerConfigurationsManagementSettings(SqlConnectivityUpdateSettings sqlConnectivityUpdateSettings, SqlWorkloadTypeUpdateSettings sqlWorkloadTypeUpdateSettings, SqlStorageUpdateSettings sqlStorageUpdateSettings, AdditionalFeaturesServerConfigurations additionalFeaturesServerConfigurations, SqlInstanceSettings sqlInstanceSettings) + /// Azure AD authentication Settings. + internal SqlServerConfigurationsManagementSettings(SqlConnectivityUpdateSettings sqlConnectivityUpdateSettings, SqlWorkloadTypeUpdateSettings sqlWorkloadTypeUpdateSettings, SqlStorageUpdateSettings sqlStorageUpdateSettings, AdditionalFeaturesServerConfigurations additionalFeaturesServerConfigurations, SqlInstanceSettings sqlInstanceSettings, AADAuthenticationSettings azureAdAuthenticationSettings) { SqlConnectivityUpdateSettings = sqlConnectivityUpdateSettings; SqlWorkloadTypeUpdateSettings = sqlWorkloadTypeUpdateSettings; SqlStorageUpdateSettings = sqlStorageUpdateSettings; AdditionalFeaturesServerConfigurations = additionalFeaturesServerConfigurations; SqlInstanceSettings = sqlInstanceSettings; + AzureAdAuthenticationSettings = azureAdAuthenticationSettings; } /// SQL connectivity type settings. @@ -64,5 +66,18 @@ public bool? IsRServicesEnabled /// SQL Instance settings. public SqlInstanceSettings SqlInstanceSettings { get; set; } + /// Azure AD authentication Settings. + internal AADAuthenticationSettings AzureAdAuthenticationSettings { get; set; } + /// The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity. + public string AzureAdAuthenticationClientId + { + get => AzureAdAuthenticationSettings is null ? default : AzureAdAuthenticationSettings.ClientId; + set + { + if (AzureAdAuthenticationSettings is null) + AzureAdAuthenticationSettings = new AADAuthenticationSettings(); + AzureAdAuthenticationSettings.ClientId = value; + } + } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.cs index ca852e475573..e7a2e22fd89d 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.cs @@ -10,7 +10,7 @@ namespace Azure.ResourceManager.SqlVirtualMachine.Models { - /// The SqlTempDBSettings. + /// Set tempDb storage settings for SQL Server. public partial class SqlTempDBSettings { /// Initializes a new instance of SqlTempDBSettings. diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSchedule.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSchedule.cs index 4cbb60e123f5..f07d2061b627 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSchedule.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSchedule.cs @@ -7,7 +7,7 @@ namespace Azure.ResourceManager.SqlVirtualMachine.Models { - /// The SqlVmAssessmentSchedule. + /// Set assessment schedule for SQL Server. public partial class SqlVmAssessmentSchedule { /// Initializes a new instance of SqlVmAssessmentSchedule. diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSettings.cs index 737b20e8bbc3..34e07255064f 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSettings.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAssessmentSettings.cs @@ -7,7 +7,7 @@ namespace Azure.ResourceManager.SqlVirtualMachine.Models { - /// Configure assessment for databases in your SQL virtual machine. + /// Configure SQL best practices Assessment for databases in your SQL virtual machine. public partial class SqlVmAssessmentSettings { /// Initializes a new instance of SqlVmAssessmentSettings. @@ -16,9 +16,9 @@ public SqlVmAssessmentSettings() } /// Initializes a new instance of SqlVmAssessmentSettings. - /// Enable or disable assessment feature on SQL virtual machine. - /// Run assessment immediately on SQL virtual machine. - /// Schedule for Assessment. + /// Enable or disable SQL best practices Assessment feature on SQL virtual machine. + /// Run SQL best practices Assessment immediately on SQL virtual machine. + /// Schedule for SQL best practices Assessment. internal SqlVmAssessmentSettings(bool? isEnabled, bool? runImmediately, SqlVmAssessmentSchedule schedule) { IsEnabled = isEnabled; @@ -26,11 +26,11 @@ internal SqlVmAssessmentSettings(bool? isEnabled, bool? runImmediately, SqlVmAss Schedule = schedule; } - /// Enable or disable assessment feature on SQL virtual machine. + /// Enable or disable SQL best practices Assessment feature on SQL virtual machine. public bool? IsEnabled { get; set; } - /// Run assessment immediately on SQL virtual machine. + /// Run SQL best practices Assessment immediately on SQL virtual machine. public bool? RunImmediately { get; set; } - /// Schedule for Assessment. + /// Schedule for SQL best practices Assessment. public SqlVmAssessmentSchedule Schedule { get; set; } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmData.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmData.Serialization.cs index 589f4ce386ab..1a200860f2ca 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmData.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmData.Serialization.cs @@ -59,6 +59,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("sqlManagement"); writer.WriteStringValue(SqlManagement.Value.ToString()); } + if (Optional.IsDefined(LeastPrivilegeMode)) + { + writer.WritePropertyName("leastPrivilegeMode"); + writer.WriteStringValue(LeastPrivilegeMode.Value.ToString()); + } if (Optional.IsDefined(SqlImageSku)) { writer.WritePropertyName("sqlImageSku"); @@ -109,6 +114,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("assessmentSettings"); writer.WriteObjectValue(AssessmentSettings); } + if (Optional.IsDefined(EnableAutomaticUpgrade)) + { + writer.WritePropertyName("enableAutomaticUpgrade"); + writer.WriteBooleanValue(EnableAutomaticUpgrade.Value); + } writer.WriteEndObject(); writer.WriteEndObject(); } @@ -127,6 +137,7 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) Optional sqlImageOffer = default; Optional sqlServerLicenseType = default; Optional sqlManagement = default; + Optional leastPrivilegeMode = default; Optional sqlImageSku = default; Optional sqlVmGroupResourceId = default; Optional windowsServerFailoverClusterDomainCredentials = default; @@ -136,7 +147,9 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) Optional keyVaultCredentialSettings = default; Optional serverConfigurationsManagementSettings = default; Optional storageConfigurationSettings = default; + Optional troubleshootingStatus = default; Optional assessmentSettings = default; + Optional enableAutomaticUpgrade = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("identity")) @@ -243,6 +256,16 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) sqlManagement = new SqlManagementMode(property0.Value.GetString()); continue; } + if (property0.NameEquals("leastPrivilegeMode")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + property0.ThrowNonNullablePropertyIsNull(); + continue; + } + leastPrivilegeMode = new LeastPrivilegeMode(property0.Value.GetString()); + continue; + } if (property0.NameEquals("sqlImageSku")) { if (property0.Value.ValueKind == JsonValueKind.Null) @@ -333,6 +356,16 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) storageConfigurationSettings = SqlVmStorageConfigurationSettings.DeserializeSqlVmStorageConfigurationSettings(property0.Value); continue; } + if (property0.NameEquals("troubleshootingStatus")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + property0.ThrowNonNullablePropertyIsNull(); + continue; + } + troubleshootingStatus = TroubleshootingStatus.DeserializeTroubleshootingStatus(property0.Value); + continue; + } if (property0.NameEquals("assessmentSettings")) { if (property0.Value.ValueKind == JsonValueKind.Null) @@ -343,11 +376,21 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) assessmentSettings = SqlVmAssessmentSettings.DeserializeSqlVmAssessmentSettings(property0.Value); continue; } + if (property0.NameEquals("enableAutomaticUpgrade")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + property0.ThrowNonNullablePropertyIsNull(); + continue; + } + enableAutomaticUpgrade = property0.Value.GetBoolean(); + continue; + } } continue; } } - return new SqlVmData(id, name, type, systemData.Value, Optional.ToDictionary(tags), location, identity, virtualMachineResourceId.Value, provisioningState.Value, sqlImageOffer.Value, Optional.ToNullable(sqlServerLicenseType), Optional.ToNullable(sqlManagement), Optional.ToNullable(sqlImageSku), sqlVmGroupResourceId.Value, windowsServerFailoverClusterDomainCredentials.Value, windowsServerFailoverClusterStaticIP.Value, autoPatchingSettings.Value, autoBackupSettings.Value, keyVaultCredentialSettings.Value, serverConfigurationsManagementSettings.Value, storageConfigurationSettings.Value, assessmentSettings.Value); + return new SqlVmData(id, name, type, systemData.Value, Optional.ToDictionary(tags), location, identity, virtualMachineResourceId.Value, provisioningState.Value, sqlImageOffer.Value, Optional.ToNullable(sqlServerLicenseType), Optional.ToNullable(sqlManagement), Optional.ToNullable(leastPrivilegeMode), Optional.ToNullable(sqlImageSku), sqlVmGroupResourceId.Value, windowsServerFailoverClusterDomainCredentials.Value, windowsServerFailoverClusterStaticIP.Value, autoPatchingSettings.Value, autoBackupSettings.Value, keyVaultCredentialSettings.Value, serverConfigurationsManagementSettings.Value, storageConfigurationSettings.Value, troubleshootingStatus.Value, assessmentSettings.Value, Optional.ToNullable(enableAutomaticUpgrade)); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.Serialization.cs new file mode 100644 index 000000000000..c28af0a2f3c0 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.Serialization.cs @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Text.Json; +using Azure.Core; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + public partial class SqlVmTroubleshooting : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (Optional.IsDefined(StartTimeUtc)) + { + writer.WritePropertyName("startTimeUtc"); + writer.WriteStringValue(StartTimeUtc.Value, "O"); + } + if (Optional.IsDefined(EndTimeUtc)) + { + writer.WritePropertyName("endTimeUtc"); + writer.WriteStringValue(EndTimeUtc.Value, "O"); + } + if (Optional.IsDefined(TroubleshootingScenario)) + { + writer.WritePropertyName("troubleshootingScenario"); + writer.WriteStringValue(TroubleshootingScenario.Value.ToString()); + } + if (Optional.IsDefined(Properties)) + { + writer.WritePropertyName("properties"); + writer.WriteObjectValue(Properties); + } + writer.WriteEndObject(); + } + + internal static SqlVmTroubleshooting DeserializeSqlVmTroubleshooting(JsonElement element) + { + Optional startTimeUtc = default; + Optional endTimeUtc = default; + Optional troubleshootingScenario = default; + Optional properties = default; + Optional virtualMachineResourceId = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("startTimeUtc")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + startTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("endTimeUtc")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + endTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("troubleshootingScenario")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + troubleshootingScenario = new TroubleshootingScenario(property.Value.GetString()); + continue; + } + if (property.NameEquals("properties")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + properties = TroubleshootingAdditionalProperties.DeserializeTroubleshootingAdditionalProperties(property.Value); + continue; + } + if (property.NameEquals("virtualMachineResourceId")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + virtualMachineResourceId = new ResourceIdentifier(property.Value.GetString()); + continue; + } + } + return new SqlVmTroubleshooting(Optional.ToNullable(startTimeUtc), Optional.ToNullable(endTimeUtc), Optional.ToNullable(troubleshootingScenario), properties.Value, virtualMachineResourceId.Value); + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.cs new file mode 100644 index 000000000000..452a7490bdf4 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using Azure.Core; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// Details required for SQL VM troubleshooting. + public partial class SqlVmTroubleshooting + { + /// Initializes a new instance of SqlVmTroubleshooting. + public SqlVmTroubleshooting() + { + } + + /// Initializes a new instance of SqlVmTroubleshooting. + /// Start time in UTC timezone. + /// End time in UTC timezone. + /// SQL VM troubleshooting scenario. + /// Troubleshooting properties. + /// Virtual machine resource id for response. + internal SqlVmTroubleshooting(DateTimeOffset? startTimeUtc, DateTimeOffset? endTimeUtc, TroubleshootingScenario? troubleshootingScenario, TroubleshootingAdditionalProperties properties, ResourceIdentifier virtualMachineResourceId) + { + StartTimeUtc = startTimeUtc; + EndTimeUtc = endTimeUtc; + TroubleshootingScenario = troubleshootingScenario; + Properties = properties; + VirtualMachineResourceId = virtualMachineResourceId; + } + + /// Start time in UTC timezone. + public DateTimeOffset? StartTimeUtc { get; set; } + /// End time in UTC timezone. + public DateTimeOffset? EndTimeUtc { get; set; } + /// SQL VM troubleshooting scenario. + public TroubleshootingScenario? TroubleshootingScenario { get; set; } + /// Troubleshooting properties. + internal TroubleshootingAdditionalProperties Properties { get; set; } + /// The name of the availability group. + public string UnhealthyReplicaInfoAvailabilityGroupName + { + get => Properties is null ? default : Properties.UnhealthyReplicaInfoAvailabilityGroupName; + set + { + if (Properties is null) + Properties = new TroubleshootingAdditionalProperties(); + Properties.UnhealthyReplicaInfoAvailabilityGroupName = value; + } + } + + /// Virtual machine resource id for response. + public ResourceIdentifier VirtualMachineResourceId { get; } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.Serialization.cs new file mode 100644 index 000000000000..b0df7bd4a15f --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.Serialization.cs @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + internal partial class TroubleshootingAdditionalProperties : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (Optional.IsDefined(UnhealthyReplicaInfo)) + { + writer.WritePropertyName("unhealthyReplicaInfo"); + writer.WriteObjectValue(UnhealthyReplicaInfo); + } + writer.WriteEndObject(); + } + + internal static TroubleshootingAdditionalProperties DeserializeTroubleshootingAdditionalProperties(JsonElement element) + { + Optional unhealthyReplicaInfo = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("unhealthyReplicaInfo")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + unhealthyReplicaInfo = UnhealthyReplicaInfo.DeserializeUnhealthyReplicaInfo(property.Value); + continue; + } + } + return new TroubleshootingAdditionalProperties(unhealthyReplicaInfo.Value); + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.cs new file mode 100644 index 000000000000..59c207cafadb --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// SQL VM Troubleshooting additional properties. + internal partial class TroubleshootingAdditionalProperties + { + /// Initializes a new instance of TroubleshootingAdditionalProperties. + public TroubleshootingAdditionalProperties() + { + } + + /// Initializes a new instance of TroubleshootingAdditionalProperties. + /// The unhealthy replica information. + internal TroubleshootingAdditionalProperties(UnhealthyReplicaInfo unhealthyReplicaInfo) + { + UnhealthyReplicaInfo = unhealthyReplicaInfo; + } + + /// The unhealthy replica information. + internal UnhealthyReplicaInfo UnhealthyReplicaInfo { get; set; } + /// The name of the availability group. + public string UnhealthyReplicaInfoAvailabilityGroupName + { + get => UnhealthyReplicaInfo is null ? default : UnhealthyReplicaInfo.AvailabilityGroupName; + set + { + if (UnhealthyReplicaInfo is null) + UnhealthyReplicaInfo = new UnhealthyReplicaInfo(); + UnhealthyReplicaInfo.AvailabilityGroupName = value; + } + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingScenario.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingScenario.cs new file mode 100644 index 000000000000..00f3b33bd194 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingScenario.cs @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ComponentModel; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// SQL VM troubleshooting scenario. + public readonly partial struct TroubleshootingScenario : IEquatable + { + private readonly string _value; + + /// Initializes a new instance of . + /// is null. + public TroubleshootingScenario(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + private const string UnhealthyReplicaValue = "UnhealthyReplica"; + + /// UnhealthyReplica. + public static TroubleshootingScenario UnhealthyReplica { get; } = new TroubleshootingScenario(UnhealthyReplicaValue); + /// Determines if two values are the same. + public static bool operator ==(TroubleshootingScenario left, TroubleshootingScenario right) => left.Equals(right); + /// Determines if two values are not the same. + public static bool operator !=(TroubleshootingScenario left, TroubleshootingScenario right) => !left.Equals(right); + /// Converts a string to a . + public static implicit operator TroubleshootingScenario(string value) => new TroubleshootingScenario(value); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object obj) => obj is TroubleshootingScenario other && Equals(other); + /// + public bool Equals(TroubleshootingScenario other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + /// + public override string ToString() => _value; + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.Serialization.cs new file mode 100644 index 000000000000..99e317527e28 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.Serialization.cs @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Text.Json; +using Azure.Core; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + public partial class TroubleshootingStatus + { + internal static TroubleshootingStatus DeserializeTroubleshootingStatus(JsonElement element) + { + Optional rootCause = default; + Optional lastTriggerTimeUtc = default; + Optional startTimeUtc = default; + Optional endTimeUtc = default; + Optional troubleshootingScenario = default; + Optional properties = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("rootCause")) + { + rootCause = property.Value.GetString(); + continue; + } + if (property.NameEquals("lastTriggerTimeUtc")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + lastTriggerTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("startTimeUtc")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + startTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("endTimeUtc")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + endTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("troubleshootingScenario")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + troubleshootingScenario = new TroubleshootingScenario(property.Value.GetString()); + continue; + } + if (property.NameEquals("properties")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + property.ThrowNonNullablePropertyIsNull(); + continue; + } + properties = TroubleshootingAdditionalProperties.DeserializeTroubleshootingAdditionalProperties(property.Value); + continue; + } + } + return new TroubleshootingStatus(rootCause.Value, Optional.ToNullable(lastTriggerTimeUtc), Optional.ToNullable(startTimeUtc), Optional.ToNullable(endTimeUtc), Optional.ToNullable(troubleshootingScenario), properties.Value); + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.cs new file mode 100644 index 000000000000..d72d3c5215e7 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.cs @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// Status of last troubleshooting operation on this SQL VM. + public partial class TroubleshootingStatus + { + /// Initializes a new instance of TroubleshootingStatus. + internal TroubleshootingStatus() + { + } + + /// Initializes a new instance of TroubleshootingStatus. + /// Root cause of the issue. + /// Last troubleshooting trigger time in UTC timezone. + /// Start time in UTC timezone. + /// End time in UTC timezone. + /// SQL VM troubleshooting scenario. + /// Troubleshooting properties. + internal TroubleshootingStatus(string rootCause, DateTimeOffset? lastTriggerTimeUtc, DateTimeOffset? startTimeUtc, DateTimeOffset? endTimeUtc, TroubleshootingScenario? troubleshootingScenario, TroubleshootingAdditionalProperties properties) + { + RootCause = rootCause; + LastTriggerTimeUtc = lastTriggerTimeUtc; + StartTimeUtc = startTimeUtc; + EndTimeUtc = endTimeUtc; + TroubleshootingScenario = troubleshootingScenario; + Properties = properties; + } + + /// Root cause of the issue. + public string RootCause { get; } + /// Last troubleshooting trigger time in UTC timezone. + public DateTimeOffset? LastTriggerTimeUtc { get; } + /// Start time in UTC timezone. + public DateTimeOffset? StartTimeUtc { get; } + /// End time in UTC timezone. + public DateTimeOffset? EndTimeUtc { get; } + /// SQL VM troubleshooting scenario. + public TroubleshootingScenario? TroubleshootingScenario { get; } + /// Troubleshooting properties. + internal TroubleshootingAdditionalProperties Properties { get; } + /// The name of the availability group. + public string UnhealthyReplicaInfoAvailabilityGroupName + { + get => Properties?.UnhealthyReplicaInfoAvailabilityGroupName; + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.Serialization.cs new file mode 100644 index 000000000000..9a69ca55695d --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.Serialization.cs @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + internal partial class UnhealthyReplicaInfo : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (Optional.IsDefined(AvailabilityGroupName)) + { + writer.WritePropertyName("availabilityGroupName"); + writer.WriteStringValue(AvailabilityGroupName); + } + writer.WriteEndObject(); + } + + internal static UnhealthyReplicaInfo DeserializeUnhealthyReplicaInfo(JsonElement element) + { + Optional availabilityGroupName = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("availabilityGroupName")) + { + availabilityGroupName = property.Value.GetString(); + continue; + } + } + return new UnhealthyReplicaInfo(availabilityGroupName.Value); + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.cs new file mode 100644 index 000000000000..10797916e3c2 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.cs @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +namespace Azure.ResourceManager.SqlVirtualMachine.Models +{ + /// SQL VM Troubleshoot UnhealthyReplica scenario information. + internal partial class UnhealthyReplicaInfo + { + /// Initializes a new instance of UnhealthyReplicaInfo. + public UnhealthyReplicaInfo() + { + } + + /// Initializes a new instance of UnhealthyReplicaInfo. + /// The name of the availability group. + internal UnhealthyReplicaInfo(string availabilityGroupName) + { + AvailabilityGroupName = availabilityGroupName; + } + + /// The name of the availability group. + public string AvailabilityGroupName { get; set; } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/AvailabilityGroupListenersRestOperations.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/AvailabilityGroupListenersRestOperations.cs index 0b97c4882694..91c7517a0c8b 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/AvailabilityGroupListenersRestOperations.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/AvailabilityGroupListenersRestOperations.cs @@ -33,7 +33,7 @@ public AvailabilityGroupListenersRestOperations(HttpPipeline pipeline, string ap { _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); _endpoint = endpoint ?? new Uri("https://management.azure.com"); - _apiVersion = apiVersion ?? "2022-02-01"; + _apiVersion = apiVersion ?? "2022-08-01-preview"; _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } @@ -232,6 +232,7 @@ internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceG uri.AppendPath(availabilityGroupListenerName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; + request.Headers.Add("Accept", "application/json"); _userAgent.Apply(message); return message; } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineGroupsRestOperations.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineGroupsRestOperations.cs index 0d21a172edc1..364a7aeb0604 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineGroupsRestOperations.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineGroupsRestOperations.cs @@ -33,7 +33,7 @@ public SqlVirtualMachineGroupsRestOperations(HttpPipeline pipeline, string appli { _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); _endpoint = endpoint ?? new Uri("https://management.azure.com"); - _apiVersion = apiVersion ?? "2022-02-01"; + _apiVersion = apiVersion ?? "2022-08-01-preview"; _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } @@ -212,6 +212,7 @@ internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceG uri.AppendPath(sqlVmGroupName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; + request.Headers.Add("Accept", "application/json"); _userAgent.Apply(message); return message; } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineTroubleshootRestOperations.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineTroubleshootRestOperations.cs new file mode 100644 index 000000000000..f88ac1f65028 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachineTroubleshootRestOperations.cs @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core; +using Azure.Core.Pipeline; +using Azure.ResourceManager.SqlVirtualMachine.Models; + +namespace Azure.ResourceManager.SqlVirtualMachine +{ + internal partial class SqlVirtualMachineTroubleshootRestOperations + { + private readonly TelemetryDetails _userAgent; + private readonly HttpPipeline _pipeline; + private readonly Uri _endpoint; + private readonly string _apiVersion; + + /// Initializes a new instance of SqlVirtualMachineTroubleshootRestOperations. + /// The HTTP pipeline for sending and receiving REST requests and responses. + /// The application id to use for user agent. + /// server parameter. + /// Api Version. + /// or is null. + public SqlVirtualMachineTroubleshootRestOperations(HttpPipeline pipeline, string applicationId, Uri endpoint = null, string apiVersion = default) + { + _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); + _endpoint = endpoint ?? new Uri("https://management.azure.com"); + _apiVersion = apiVersion ?? "2022-08-01-preview"; + _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); + } + + internal HttpMessage CreateTroubleshootRequest(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmTroubleshooting sqlVmTroubleshooting) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); + uri.AppendPath(sqlVmName, true); + uri.AppendPath("/troubleshoot", false); + uri.AppendQuery("api-version", _apiVersion, true); + request.Uri = uri; + request.Headers.Add("Accept", "application/json"); + request.Headers.Add("Content-Type", "application/json"); + var content = new Utf8JsonRequestContent(); + content.JsonWriter.WriteObjectValue(sqlVmTroubleshooting); + request.Content = content; + _userAgent.Apply(message); + return message; + } + + /// Starts SQL virtual machine troubleshooting. + /// Subscription ID that identifies an Azure subscription. + /// Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. + /// Name of the SQL virtual machine. + /// The SQL virtual machine troubleshooting entity. + /// The cancellation token to use. + /// , , or is null. + /// , or is an empty string, and was expected to be non-empty. + public async Task TroubleshootAsync(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmTroubleshooting sqlVmTroubleshooting, CancellationToken cancellationToken = default) + { + Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); + Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); + Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); + Argument.AssertNotNull(sqlVmTroubleshooting, nameof(sqlVmTroubleshooting)); + + using var message = CreateTroubleshootRequest(subscriptionId, resourceGroupName, sqlVmName, sqlVmTroubleshooting); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 202: + return message.Response; + default: + throw new RequestFailedException(message.Response); + } + } + + /// Starts SQL virtual machine troubleshooting. + /// Subscription ID that identifies an Azure subscription. + /// Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. + /// Name of the SQL virtual machine. + /// The SQL virtual machine troubleshooting entity. + /// The cancellation token to use. + /// , , or is null. + /// , or is an empty string, and was expected to be non-empty. + public Response Troubleshoot(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmTroubleshooting sqlVmTroubleshooting, CancellationToken cancellationToken = default) + { + Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); + Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); + Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); + Argument.AssertNotNull(sqlVmTroubleshooting, nameof(sqlVmTroubleshooting)); + + using var message = CreateTroubleshootRequest(subscriptionId, resourceGroupName, sqlVmName, sqlVmTroubleshooting); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 202: + return message.Response; + default: + throw new RequestFailedException(message.Response); + } + } + } +} diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachinesRestOperations.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachinesRestOperations.cs index 8956d112a0a5..c10cbe5c3ab7 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachinesRestOperations.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/RestOperations/SqlVirtualMachinesRestOperations.cs @@ -33,7 +33,7 @@ public SqlVirtualMachinesRestOperations(HttpPipeline pipeline, string applicatio { _pipeline = pipeline ?? throw new ArgumentNullException(nameof(pipeline)); _endpoint = endpoint ?? new Uri("https://management.azure.com"); - _apiVersion = apiVersion ?? "2022-02-01"; + _apiVersion = apiVersion ?? "2022-08-01-preview"; _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } @@ -364,6 +364,7 @@ internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceG uri.AppendPath(sqlVmName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; + request.Headers.Add("Accept", "application/json"); _userAgent.Apply(message); return message; } @@ -569,7 +570,7 @@ public Response ListByResourceGroup(string subscriptionId, stri } } - internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string sqlVmName) + internal HttpMessage CreateStartAssessmentRequest(string subscriptionId, string resourceGroupName, string sqlVmName) { var message = _pipeline.CreateMessage(); var request = message.Request; @@ -582,27 +583,28 @@ internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourc uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); uri.AppendPath(sqlVmName, true); - uri.AppendPath("/redeploy", false); + uri.AppendPath("/startAssessment", false); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; + request.Headers.Add("Accept", "application/json"); _userAgent.Apply(message); return message; } - /// Uninstalls and reinstalls the SQL Iaas Extension. + /// Starts SQL best practices Assessment on SQL virtual machine. /// Subscription ID that identifies an Azure subscription. /// Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. /// Name of the SQL virtual machine. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public async Task RedeployAsync(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) + public async Task StartAssessmentAsync(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateStartAssessmentRequest(subscriptionId, resourceGroupName, sqlVmName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { @@ -614,20 +616,20 @@ public async Task RedeployAsync(string subscriptionId, string resource } } - /// Uninstalls and reinstalls the SQL Iaas Extension. + /// Starts SQL best practices Assessment on SQL virtual machine. /// Subscription ID that identifies an Azure subscription. /// Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. /// Name of the SQL virtual machine. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public Response Redeploy(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) + public Response StartAssessment(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateStartAssessmentRequest(subscriptionId, resourceGroupName, sqlVmName); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { @@ -639,7 +641,7 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } - internal HttpMessage CreateStartAssessmentRequest(string subscriptionId, string resourceGroupName, string sqlVmName) + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string sqlVmName) { var message = _pipeline.CreateMessage(); var request = message.Request; @@ -652,27 +654,28 @@ internal HttpMessage CreateStartAssessmentRequest(string subscriptionId, string uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); uri.AppendPath(sqlVmName, true); - uri.AppendPath("/startAssessment", false); + uri.AppendPath("/redeploy", false); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; + request.Headers.Add("Accept", "application/json"); _userAgent.Apply(message); return message; } - /// Starts Assessment on SQL virtual machine. + /// Uninstalls and reinstalls the SQL IaaS Extension. /// Subscription ID that identifies an Azure subscription. /// Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. /// Name of the SQL virtual machine. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public async Task StartAssessmentAsync(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) + public async Task RedeployAsync(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - using var message = CreateStartAssessmentRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { @@ -684,20 +687,20 @@ public async Task StartAssessmentAsync(string subscriptionId, string r } } - /// Starts Assessment on SQL virtual machine. + /// Uninstalls and reinstalls the SQL IaaS Extension. /// Subscription ID that identifies an Azure subscription. /// Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. /// Name of the SQL virtual machine. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public Response StartAssessment(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) + public Response Redeploy(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - using var message = CreateStartAssessmentRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs index 9df5ae7c8e7d..4e7e58151a67 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs @@ -75,7 +75,7 @@ public virtual async Task> CreateOrUpdateAsync(WaitU try { var response = await _sqlVmSqlVirtualMachinesRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, sqlVmName, data, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmName, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmName, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -108,7 +108,7 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, s try { var response = _sqlVmSqlVirtualMachinesRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, sqlVmName, data, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmName, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmName, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmData.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmData.cs index d8895f94f318..79bf1205ac2e 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmData.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmData.cs @@ -35,6 +35,7 @@ public SqlVmData(AzureLocation location) : base(location) /// SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016. /// SQL Server license type. /// SQL Server Management type. + /// SQL IaaS Agent least privilege mode. /// SQL Server edition type. /// ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of. /// Domain credentials for setting up Windows Server Failover Cluster for SQL availability group. @@ -44,8 +45,10 @@ public SqlVmData(AzureLocation location) : base(location) /// Key vault credential settings. /// SQL Server configuration management settings. /// Storage Configuration Settings. - /// Assessment Settings. - internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ManagedServiceIdentity identity, ResourceIdentifier virtualMachineResourceId, string provisioningState, string sqlImageOffer, SqlServerLicenseType? sqlServerLicenseType, SqlManagementMode? sqlManagement, SqlImageSku? sqlImageSku, ResourceIdentifier sqlVmGroupResourceId, WindowsServerFailoverClusterDomainCredentials windowsServerFailoverClusterDomainCredentials, IPAddress windowsServerFailoverClusterStaticIP, SqlVmAutoPatchingSettings autoPatchingSettings, SqlVmAutoBackupSettings autoBackupSettings, SqlVmKeyVaultCredentialSettings keyVaultCredentialSettings, SqlServerConfigurationsManagementSettings serverConfigurationsManagementSettings, SqlVmStorageConfigurationSettings storageConfigurationSettings, SqlVmAssessmentSettings assessmentSettings) : base(id, name, resourceType, systemData, tags, location) + /// Troubleshooting status. + /// SQL best practices Assessment Settings. + /// Enable automatic upgrade of Sql IaaS extension Agent. + internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary tags, AzureLocation location, ManagedServiceIdentity identity, ResourceIdentifier virtualMachineResourceId, string provisioningState, string sqlImageOffer, SqlServerLicenseType? sqlServerLicenseType, SqlManagementMode? sqlManagement, LeastPrivilegeMode? leastPrivilegeMode, SqlImageSku? sqlImageSku, ResourceIdentifier sqlVmGroupResourceId, WindowsServerFailoverClusterDomainCredentials windowsServerFailoverClusterDomainCredentials, IPAddress windowsServerFailoverClusterStaticIP, SqlVmAutoPatchingSettings autoPatchingSettings, SqlVmAutoBackupSettings autoBackupSettings, SqlVmKeyVaultCredentialSettings keyVaultCredentialSettings, SqlServerConfigurationsManagementSettings serverConfigurationsManagementSettings, SqlVmStorageConfigurationSettings storageConfigurationSettings, TroubleshootingStatus troubleshootingStatus, SqlVmAssessmentSettings assessmentSettings, bool? enableAutomaticUpgrade) : base(id, name, resourceType, systemData, tags, location) { Identity = identity; VirtualMachineResourceId = virtualMachineResourceId; @@ -53,6 +56,7 @@ internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType SqlImageOffer = sqlImageOffer; SqlServerLicenseType = sqlServerLicenseType; SqlManagement = sqlManagement; + LeastPrivilegeMode = leastPrivilegeMode; SqlImageSku = sqlImageSku; SqlVmGroupResourceId = sqlVmGroupResourceId; WindowsServerFailoverClusterDomainCredentials = windowsServerFailoverClusterDomainCredentials; @@ -62,7 +66,9 @@ internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType KeyVaultCredentialSettings = keyVaultCredentialSettings; ServerConfigurationsManagementSettings = serverConfigurationsManagementSettings; StorageConfigurationSettings = storageConfigurationSettings; + TroubleshootingStatus = troubleshootingStatus; AssessmentSettings = assessmentSettings; + EnableAutomaticUpgrade = enableAutomaticUpgrade; } /// Azure Active Directory identity of the server. Current supported identity types: None, SystemAssigned. @@ -77,6 +83,8 @@ internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType public SqlServerLicenseType? SqlServerLicenseType { get; set; } /// SQL Server Management type. public SqlManagementMode? SqlManagement { get; set; } + /// SQL IaaS Agent least privilege mode. + public LeastPrivilegeMode? LeastPrivilegeMode { get; set; } /// SQL Server edition type. public SqlImageSku? SqlImageSku { get; set; } /// ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of. @@ -95,7 +103,11 @@ internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType public SqlServerConfigurationsManagementSettings ServerConfigurationsManagementSettings { get; set; } /// Storage Configuration Settings. public SqlVmStorageConfigurationSettings StorageConfigurationSettings { get; set; } - /// Assessment Settings. + /// Troubleshooting status. + public TroubleshootingStatus TroubleshootingStatus { get; } + /// SQL best practices Assessment Settings. public SqlVmAssessmentSettings AssessmentSettings { get; set; } + /// Enable automatic upgrade of Sql IaaS extension Agent. + public bool? EnableAutomaticUpgrade { get; set; } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupCollection.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupCollection.cs index 479e31510bb8..4825ce72392d 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupCollection.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupCollection.cs @@ -75,7 +75,7 @@ public virtual async Task> CreateOrUpdateAsync( try { var response = await _sqlVmGroupSqlVmGroupsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, sqlVmGroupName, data, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmGroupName, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmGroupName, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -108,7 +108,7 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUnt try { var response = _sqlVmGroupSqlVmGroupsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, sqlVmGroupName, data, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmGroupName, data).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, sqlVmGroupName, data).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupResource.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupResource.cs index 34d5c4bd1515..7f8521c45c6e 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupResource.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupResource.cs @@ -252,7 +252,7 @@ public virtual async Task> UpdateAsync(WaitUnti try { var response = await _sqlVmGroupSqlVmGroupsRestClient.UpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -282,7 +282,7 @@ public virtual ArmOperation Update(WaitUntil waitUntil, SqlV try { var response = _sqlVmGroupSqlVmGroupsRestClient.Update(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmGroupOperationSource(Client), _sqlVmGroupSqlVmGroupsClientDiagnostics, Pipeline, _sqlVmGroupSqlVmGroupsRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmResource.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmResource.cs index 0e61f1d43ed6..9ed4a1325222 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmResource.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmResource.cs @@ -36,6 +36,8 @@ public static ResourceIdentifier CreateResourceIdentifier(string subscriptionId, private readonly ClientDiagnostics _sqlVmSqlVirtualMachinesClientDiagnostics; private readonly SqlVirtualMachinesRestOperations _sqlVmSqlVirtualMachinesRestClient; + private readonly ClientDiagnostics _sqlVmTroubleshootClientDiagnostics; + private readonly SqlVirtualMachineTroubleshootRestOperations _sqlVmTroubleshootRestClient; private readonly SqlVmData _data; /// Initializes a new instance of the class for mocking. @@ -60,6 +62,8 @@ internal SqlVmResource(ArmClient client, ResourceIdentifier id) : base(client, i _sqlVmSqlVirtualMachinesClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.SqlVirtualMachine", ResourceType.Namespace, Diagnostics); TryGetApiVersion(ResourceType, out string sqlVmSqlVirtualMachinesApiVersion); _sqlVmSqlVirtualMachinesRestClient = new SqlVirtualMachinesRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint, sqlVmSqlVirtualMachinesApiVersion); + _sqlVmTroubleshootClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.SqlVirtualMachine", ProviderConstants.DefaultProviderNamespace, Diagnostics); + _sqlVmTroubleshootRestClient = new SqlVirtualMachineTroubleshootRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint); #if DEBUG ValidateResourceId(Id); #endif @@ -209,7 +213,7 @@ public virtual async Task> UpdateAsync(WaitUntil wai try { var response = await _sqlVmSqlVirtualMachinesRestClient.UpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -239,7 +243,7 @@ public virtual ArmOperation Update(WaitUntil waitUntil, SqlVmPatc try { var response = _sqlVmSqlVirtualMachinesRestClient.Update(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.Location); + var operation = new SqlVirtualMachineArmOperation(new SqlVmOperationSource(Client), _sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.AzureAsyncOperation); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; @@ -252,7 +256,59 @@ public virtual ArmOperation Update(WaitUntil waitUntil, SqlVmPatc } /// - /// Uninstalls and reinstalls the SQL Iaas Extension. + /// Starts SQL best practices Assessment on SQL virtual machine. + /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment + /// Operation Id: SqlVirtualMachines_StartAssessment + /// + /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples. + /// The cancellation token to use. + public virtual async Task StartAssessmentAsync(WaitUntil waitUntil, CancellationToken cancellationToken = default) + { + using var scope = _sqlVmSqlVirtualMachinesClientDiagnostics.CreateScope("SqlVmResource.StartAssessment"); + scope.Start(); + try + { + var response = await _sqlVmSqlVirtualMachinesRestClient.StartAssessmentAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); + var operation = new SqlVirtualMachineArmOperation(_sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateStartAssessmentRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name).Request, response, OperationFinalStateVia.Location); + if (waitUntil == WaitUntil.Completed) + await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); + return operation; + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// + /// Starts SQL best practices Assessment on SQL virtual machine. + /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment + /// Operation Id: SqlVirtualMachines_StartAssessment + /// + /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples. + /// The cancellation token to use. + public virtual ArmOperation StartAssessment(WaitUntil waitUntil, CancellationToken cancellationToken = default) + { + using var scope = _sqlVmSqlVirtualMachinesClientDiagnostics.CreateScope("SqlVmResource.StartAssessment"); + scope.Start(); + try + { + var response = _sqlVmSqlVirtualMachinesRestClient.StartAssessment(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); + var operation = new SqlVirtualMachineArmOperation(_sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateStartAssessmentRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name).Request, response, OperationFinalStateVia.Location); + if (waitUntil == WaitUntil.Completed) + operation.WaitForCompletionResponse(cancellationToken); + return operation; + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// + /// Uninstalls and reinstalls the SQL IaaS Extension. /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/redeploy /// Operation Id: SqlVirtualMachines_Redeploy /// @@ -278,7 +334,7 @@ public virtual async Task RedeployAsync(WaitUntil waitUntil, Cance } /// - /// Uninstalls and reinstalls the SQL Iaas Extension. + /// Uninstalls and reinstalls the SQL IaaS Extension. /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/redeploy /// Operation Id: SqlVirtualMachines_Redeploy /// @@ -304,22 +360,26 @@ public virtual ArmOperation Redeploy(WaitUntil waitUntil, CancellationToken canc } /// - /// Starts Assessment on SQL virtual machine. - /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment - /// Operation Id: SqlVirtualMachines_StartAssessment + /// Starts SQL virtual machine troubleshooting. + /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/troubleshoot + /// Operation Id: SqlVirtualMachineTroubleshoot_Troubleshoot /// /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples. + /// The SQL virtual machine troubleshooting entity. /// The cancellation token to use. - public virtual async Task StartAssessmentAsync(WaitUntil waitUntil, CancellationToken cancellationToken = default) + /// is null. + public virtual async Task> TroubleshootSqlVirtualMachineTroubleshootAsync(WaitUntil waitUntil, SqlVmTroubleshooting sqlVmTroubleshooting, CancellationToken cancellationToken = default) { - using var scope = _sqlVmSqlVirtualMachinesClientDiagnostics.CreateScope("SqlVmResource.StartAssessment"); + Argument.AssertNotNull(sqlVmTroubleshooting, nameof(sqlVmTroubleshooting)); + + using var scope = _sqlVmTroubleshootClientDiagnostics.CreateScope("SqlVmResource.TroubleshootSqlVirtualMachineTroubleshoot"); scope.Start(); try { - var response = await _sqlVmSqlVirtualMachinesRestClient.StartAssessmentAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new SqlVirtualMachineArmOperation(_sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateStartAssessmentRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name).Request, response, OperationFinalStateVia.Location); + var response = await _sqlVmTroubleshootRestClient.TroubleshootAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, sqlVmTroubleshooting, cancellationToken).ConfigureAwait(false); + var operation = new SqlVirtualMachineArmOperation(new SqlVmTroubleshootingOperationSource(), _sqlVmTroubleshootClientDiagnostics, Pipeline, _sqlVmTroubleshootRestClient.CreateTroubleshootRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, sqlVmTroubleshooting).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) - await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); + await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; } catch (Exception e) @@ -330,22 +390,26 @@ public virtual async Task StartAssessmentAsync(WaitUntil waitUntil } /// - /// Starts Assessment on SQL virtual machine. - /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment - /// Operation Id: SqlVirtualMachines_StartAssessment + /// Starts SQL virtual machine troubleshooting. + /// Request Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/troubleshoot + /// Operation Id: SqlVirtualMachineTroubleshoot_Troubleshoot /// /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples. + /// The SQL virtual machine troubleshooting entity. /// The cancellation token to use. - public virtual ArmOperation StartAssessment(WaitUntil waitUntil, CancellationToken cancellationToken = default) + /// is null. + public virtual ArmOperation TroubleshootSqlVirtualMachineTroubleshoot(WaitUntil waitUntil, SqlVmTroubleshooting sqlVmTroubleshooting, CancellationToken cancellationToken = default) { - using var scope = _sqlVmSqlVirtualMachinesClientDiagnostics.CreateScope("SqlVmResource.StartAssessment"); + Argument.AssertNotNull(sqlVmTroubleshooting, nameof(sqlVmTroubleshooting)); + + using var scope = _sqlVmTroubleshootClientDiagnostics.CreateScope("SqlVmResource.TroubleshootSqlVirtualMachineTroubleshoot"); scope.Start(); try { - var response = _sqlVmSqlVirtualMachinesRestClient.StartAssessment(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new SqlVirtualMachineArmOperation(_sqlVmSqlVirtualMachinesClientDiagnostics, Pipeline, _sqlVmSqlVirtualMachinesRestClient.CreateStartAssessmentRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name).Request, response, OperationFinalStateVia.Location); + var response = _sqlVmTroubleshootRestClient.Troubleshoot(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, sqlVmTroubleshooting, cancellationToken); + var operation = new SqlVirtualMachineArmOperation(new SqlVmTroubleshootingOperationSource(), _sqlVmTroubleshootClientDiagnostics, Pipeline, _sqlVmTroubleshootRestClient.CreateTroubleshootRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, sqlVmTroubleshooting).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) - operation.WaitForCompletionResponse(cancellationToken); + operation.WaitForCompletion(cancellationToken); return operation; } catch (Exception e) diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/autorest.md b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/autorest.md index 1d5888497f06..0b971254512f 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/autorest.md +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/autorest.md @@ -8,7 +8,7 @@ azure-arm: true csharp: true library-name: SqlVirtualMachine namespace: Azure.ResourceManager.SqlVirtualMachine -require: https://github.com/Azure/azure-rest-api-specs/blob/bab2f4389eb5ca73cdf366ec0a4af3f3eb6e1f6d/specification/sqlvirtualmachine/resource-manager/readme.md +require: /mnt/vss/_work/1/s/azure-rest-api-specs/specification/sqlvirtualmachine/resource-manager/readme.md output-folder: $(this-folder)/Generated clear-output-folder: true skip-csproj: true