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 cc25d13d96a1..f22a5759f2c3 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,17 +166,39 @@ 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; } } } namespace Azure.ResourceManager.SqlVirtualMachine.Models { + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + public readonly partial struct AdditionalVmPatch : System.IEquatable + { + private readonly object _dummy; + private readonly int _dummyPrimitive; + public AdditionalVmPatch(string value) { throw null; } + public static Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch MicrosoftUpdate { get { throw null; } } + public static Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch NotSet { get { throw null; } } + public bool Equals(Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch 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.AdditionalVmPatch left, Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch right) { throw null; } + public static implicit operator Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch (string value) { throw null; } + public static bool operator !=(Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch left, Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch right) { throw null; } + public override string ToString() { throw null; } + } public static partial class ArmSqlVirtualMachineModelFactory { public static Azure.ResourceManager.SqlVirtualMachine.AvailabilityGroupListenerData AvailabilityGroupListenerData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, string provisioningState = null, string availabilityGroupName = null, System.Collections.Generic.IEnumerable loadBalancerConfigurations = null, System.Collections.Generic.IEnumerable multiSubnetIPConfigurations = null, bool? createDefaultAvailabilityGroupIfNotExist = default(bool?), int? port = default(int?), System.Collections.Generic.IEnumerable availabilityGroupReplicas = null) { throw null; } - public static Azure.ResourceManager.SqlVirtualMachine.SqlVmData SqlVmData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Models.ManagedServiceIdentity identity = null, Azure.Core.ResourceIdentifier virtualMachineResourceId = null, string provisioningState = null, string sqlImageOffer = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerLicenseType? sqlServerLicenseType = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerLicenseType?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlManagementMode? sqlManagement = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlManagementMode?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlImageSku? sqlImageSku = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlImageSku?), Azure.Core.ResourceIdentifier sqlVmGroupResourceId = null, Azure.ResourceManager.SqlVirtualMachine.Models.WindowsServerFailoverClusterDomainCredentials windowsServerFailoverClusterDomainCredentials = null, System.Net.IPAddress windowsServerFailoverClusterStaticIP = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoPatchingSettings autoPatchingSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoBackupSettings autoBackupSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmKeyVaultCredentialSettings keyVaultCredentialSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerConfigurationsManagementSettings serverConfigurationsManagementSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmStorageConfigurationSettings storageConfigurationSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAssessmentSettings assessmentSettings = null) { throw null; } + public static Azure.ResourceManager.SqlVirtualMachine.SqlVmData SqlVmData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), Azure.ResourceManager.Models.ManagedServiceIdentity identity = null, Azure.Core.ResourceIdentifier virtualMachineResourceId = null, string provisioningState = null, string sqlImageOffer = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerLicenseType? sqlServerLicenseType = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerLicenseType?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlManagementMode? sqlManagement = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlManagementMode?), Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode? leastPrivilegeMode = default(Azure.ResourceManager.SqlVirtualMachine.Models.LeastPrivilegeMode?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlImageSku? sqlImageSku = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlImageSku?), Azure.Core.ResourceIdentifier sqlVmGroupResourceId = null, Azure.ResourceManager.SqlVirtualMachine.Models.WindowsServerFailoverClusterDomainCredentials windowsServerFailoverClusterDomainCredentials = null, System.Net.IPAddress windowsServerFailoverClusterStaticIP = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoPatchingSettings autoPatchingSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoBackupSettings autoBackupSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmKeyVaultCredentialSettings keyVaultCredentialSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlServerConfigurationsManagementSettings serverConfigurationsManagementSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmStorageConfigurationSettings storageConfigurationSettings = null, Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingStatus troubleshootingStatus = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAssessmentSettings assessmentSettings = null, bool? enableAutomaticUpgrade = default(bool?)) { throw null; } public static Azure.ResourceManager.SqlVirtualMachine.SqlVmGroupData SqlVmGroupData(Azure.Core.ResourceIdentifier id = null, string name = null, Azure.Core.ResourceType resourceType = default(Azure.Core.ResourceType), Azure.ResourceManager.Models.SystemData systemData = null, System.Collections.Generic.IDictionary tags = null, Azure.Core.AzureLocation location = default(Azure.Core.AzureLocation), string provisioningState = null, string sqlImageOffer = null, Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmGroupImageSku? sqlImageSku = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmGroupImageSku?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmGroupScaleType? scaleType = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmGroupScaleType?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmClusterManagerType? clusterManagerType = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmClusterManagerType?), Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmClusterConfiguration? clusterConfiguration = default(Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmClusterConfiguration?), Azure.ResourceManager.SqlVirtualMachine.Models.WindowsServerFailoverClusterDomainProfile windowsServerFailoverClusterDomainProfile = null) { throw null; } + public static Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmTroubleshooting SqlVmTroubleshooting(System.DateTimeOffset? startTimeUtc = default(System.DateTimeOffset?), System.DateTimeOffset? endTimeUtc = default(System.DateTimeOffset?), Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario? troubleshootingScenario = default(Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario?), string unhealthyReplicaInfoAvailabilityGroupName = null, Azure.Core.ResourceIdentifier virtualMachineResourceId = null) { throw null; } + public static Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingStatus TroubleshootingStatus(string rootCause = null, System.DateTimeOffset? lastTriggerTimeUtc = default(System.DateTimeOffset?), System.DateTimeOffset? startTimeUtc = default(System.DateTimeOffset?), System.DateTimeOffset? endTimeUtc = default(System.DateTimeOffset?), Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario? troubleshootingScenario = default(Azure.ResourceManager.SqlVirtualMachine.Models.TroubleshootingScenario?), string unhealthyReplicaInfoAvailabilityGroupName = null) { throw null; } } public partial class AvailabilityGroupListenerLoadBalancerConfiguration { @@ -253,6 +278,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) { } @@ -340,6 +383,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 { } } @@ -389,6 +433,7 @@ public partial class SqlStorageSettings public SqlStorageSettings() { } public string DefaultFilePath { get { throw null; } set { } } public System.Collections.Generic.IList Luns { get { throw null; } } + public bool? UseStoragePool { get { throw null; } set { } } } public partial class SqlStorageUpdateSettings { @@ -409,6 +454,7 @@ public SqlTempDBSettings() { } public System.Collections.Generic.IList LogicalUnitNumbers { get { throw null; } } public bool? PersistFolder { get { throw null; } set { } } public string PersistFolderPath { get { throw null; } set { } } + public bool? UseStoragePool { get { throw null; } set { } } } public enum SqlVmAssessmentDayOfWeek { @@ -491,6 +537,7 @@ public enum SqlVmAutoPatchingDayOfWeek public partial class SqlVmAutoPatchingSettings { public SqlVmAutoPatchingSettings() { } + public Azure.ResourceManager.SqlVirtualMachine.Models.AdditionalVmPatch? AdditionalVmPatch { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmAutoPatchingDayOfWeek? DayOfWeek { get { throw null; } set { } } public bool? IsEnabled { get { throw null; } set { } } public int? MaintenanceWindowDurationInMinutes { get { throw null; } set { } } @@ -643,6 +690,7 @@ public partial class SqlVmStorageConfigurationSettings { public SqlVmStorageConfigurationSettings() { } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmDiskConfigurationType? DiskConfigurationType { get { throw null; } set { } } + public bool? EnableStorageConfigBlade { get { throw null; } set { } } public bool? IsSqlSystemDBOnDataDisk { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlStorageSettings SqlDataSettings { get { throw null; } set { } } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlStorageSettings SqlLogSettings { get { throw null; } set { } } @@ -668,6 +716,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 { @@ -705,6 +762,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() { } @@ -720,6 +804,7 @@ public WindowsServerFailoverClusterDomainProfile() { } public Azure.ResourceManager.SqlVirtualMachine.Models.SqlVmClusterSubnetType? ClusterSubnetType { get { throw null; } set { } } public string DomainFqdn { get { throw null; } set { } } public string FileShareWitnessPath { get { throw null; } set { } } + public bool? IsSqlServiceAccountGmsa { get { throw null; } set { } } public string OrganizationalUnitPath { get { throw null; } set { } } public string SqlServiceAccount { get { throw null; } set { } } public string StorageAccountPrimaryKey { get { throw null; } set { } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/ArmSqlVirtualMachineModelFactory.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/ArmSqlVirtualMachineModelFactory.cs index e1397d317d3a..fcbea11e7e75 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/ArmSqlVirtualMachineModelFactory.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/ArmSqlVirtualMachineModelFactory.cs @@ -69,12 +69,13 @@ public static SqlVmGroupData SqlVmGroupData(ResourceIdentifier id = null, string /// The systemData. /// The tags. /// The location. - /// Azure Active Directory identity of the server. Current supported identity types: None, SystemAssigned. + /// DO NOT USE. This value will be deprecated. Azure Active Directory identity of the server. Current supported identity types: None, SystemAssigned. /// ARM Resource id of underlying virtual machine created from SQL marketplace image. /// Provisioning state to track the async operation status. /// SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016. /// SQL Server license type. - /// SQL Server Management type. + /// SQL Server Management type. NOTE: This parameter is not used anymore. API will automatically detect the Sql Management, refrain from using it. + /// 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. @@ -84,13 +85,40 @@ public static SqlVmGroupData SqlVmGroupData(ResourceIdentifier id = null, string /// Key vault credential settings. /// SQL Server configuration management settings. /// Storage Configuration Settings. - /// Assessment Settings. + /// Troubleshooting status. + /// SQL best practices Assessment Settings. + /// Enable automatic upgrade of Sql IaaS extension Agent. /// A new instance for mocking. - public static SqlVmData SqlVmData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, ManagedServiceIdentity identity = null, ResourceIdentifier virtualMachineResourceId = null, string provisioningState = null, string sqlImageOffer = null, SqlServerLicenseType? sqlServerLicenseType = null, SqlManagementMode? sqlManagement = null, SqlImageSku? sqlImageSku = null, ResourceIdentifier sqlVmGroupResourceId = null, WindowsServerFailoverClusterDomainCredentials windowsServerFailoverClusterDomainCredentials = null, IPAddress windowsServerFailoverClusterStaticIP = null, SqlVmAutoPatchingSettings autoPatchingSettings = null, SqlVmAutoBackupSettings autoBackupSettings = null, SqlVmKeyVaultCredentialSettings keyVaultCredentialSettings = null, SqlServerConfigurationsManagementSettings serverConfigurationsManagementSettings = null, SqlVmStorageConfigurationSettings storageConfigurationSettings = null, SqlVmAssessmentSettings assessmentSettings = null) + public static SqlVmData SqlVmData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, ManagedServiceIdentity identity = null, ResourceIdentifier virtualMachineResourceId = null, string provisioningState = null, string sqlImageOffer = null, SqlServerLicenseType? sqlServerLicenseType = null, SqlManagementMode? sqlManagement = null, LeastPrivilegeMode? leastPrivilegeMode = null, SqlImageSku? sqlImageSku = null, ResourceIdentifier sqlVmGroupResourceId = null, WindowsServerFailoverClusterDomainCredentials windowsServerFailoverClusterDomainCredentials = null, IPAddress windowsServerFailoverClusterStaticIP = null, SqlVmAutoPatchingSettings autoPatchingSettings = null, SqlVmAutoBackupSettings autoBackupSettings = null, SqlVmKeyVaultCredentialSettings keyVaultCredentialSettings = null, SqlServerConfigurationsManagementSettings serverConfigurationsManagementSettings = null, SqlVmStorageConfigurationSettings storageConfigurationSettings = null, TroubleshootingStatus troubleshootingStatus = null, SqlVmAssessmentSettings assessmentSettings = null, bool? enableAutomaticUpgrade = null) { tags ??= new Dictionary(); - return new SqlVmData(id, name, resourceType, systemData, tags, location, identity, virtualMachineResourceId, provisioningState, sqlImageOffer, sqlServerLicenseType, sqlManagement, sqlImageSku, sqlVmGroupResourceId, windowsServerFailoverClusterDomainCredentials, windowsServerFailoverClusterStaticIP, autoPatchingSettings, autoBackupSettings, keyVaultCredentialSettings, serverConfigurationsManagementSettings, storageConfigurationSettings, assessmentSettings); + return new SqlVmData(id, name, resourceType, systemData, tags, location, identity, virtualMachineResourceId, provisioningState, sqlImageOffer, sqlServerLicenseType, sqlManagement, leastPrivilegeMode, sqlImageSku, sqlVmGroupResourceId, windowsServerFailoverClusterDomainCredentials, windowsServerFailoverClusterStaticIP, autoPatchingSettings, autoBackupSettings, keyVaultCredentialSettings, serverConfigurationsManagementSettings, storageConfigurationSettings, troubleshootingStatus, assessmentSettings, enableAutomaticUpgrade); + } + + /// 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. + /// A new instance for mocking. + public static TroubleshootingStatus TroubleshootingStatus(string rootCause = null, DateTimeOffset? lastTriggerTimeUtc = null, DateTimeOffset? startTimeUtc = null, DateTimeOffset? endTimeUtc = null, TroubleshootingScenario? troubleshootingScenario = null, string unhealthyReplicaInfoAvailabilityGroupName = null) + { + return new TroubleshootingStatus(rootCause, lastTriggerTimeUtc, startTimeUtc, endTimeUtc, troubleshootingScenario, unhealthyReplicaInfoAvailabilityGroupName != null ? new TroubleshootingAdditionalProperties(new UnhealthyReplicaInfo(unhealthyReplicaInfoAvailabilityGroupName)) : null); + } + + /// 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. + /// A new instance for mocking. + public static SqlVmTroubleshooting SqlVmTroubleshooting(DateTimeOffset? startTimeUtc = null, DateTimeOffset? endTimeUtc = null, TroubleshootingScenario? troubleshootingScenario = null, string unhealthyReplicaInfoAvailabilityGroupName = null, ResourceIdentifier virtualMachineResourceId = null) + { + return new SqlVmTroubleshooting(startTimeUtc, endTimeUtc, troubleshootingScenario, unhealthyReplicaInfoAvailabilityGroupName != null ? new TroubleshootingAdditionalProperties(new UnhealthyReplicaInfo(unhealthyReplicaInfoAvailabilityGroupName)) : null, virtualMachineResourceId); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs index 06ee2359bfcf..96151ebdb087 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerCollection.cs @@ -81,7 +81,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; @@ -122,7 +122,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 9e63f7f1940b..864ff6bc95fc 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerResource.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/AvailabilityGroupListenerResource.cs @@ -246,7 +246,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; @@ -284,7 +284,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..8b43db0795fc --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AADAuthenticationSettings.Serialization.cs @@ -0,0 +1,44 @@ +// 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"u8); + writer.WriteStringValue(ClientId); + } + writer.WriteEndObject(); + } + + internal static AADAuthenticationSettings DeserializeAADAuthenticationSettings(JsonElement element) + { + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + Optional clientId = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("clientId"u8)) + { + 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/AdditionalVmPatch.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AdditionalVmPatch.cs new file mode 100644 index 000000000000..da4f416bbbb7 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AdditionalVmPatch.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 +{ + /// Additional Patch to be enable or enabled on the SQL Virtual Machine. + public readonly partial struct AdditionalVmPatch : IEquatable + { + private readonly string _value; + + /// Initializes a new instance of . + /// is null. + public AdditionalVmPatch(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + private const string NotSetValue = "NotSet"; + private const string MicrosoftUpdateValue = "MicrosoftUpdate"; + + /// NotSet. + public static AdditionalVmPatch NotSet { get; } = new AdditionalVmPatch(NotSetValue); + /// MicrosoftUpdate. + public static AdditionalVmPatch MicrosoftUpdate { get; } = new AdditionalVmPatch(MicrosoftUpdateValue); + /// Determines if two values are the same. + public static bool operator ==(AdditionalVmPatch left, AdditionalVmPatch right) => left.Equals(right); + /// Determines if two values are not the same. + public static bool operator !=(AdditionalVmPatch left, AdditionalVmPatch right) => !left.Equals(right); + /// Converts a string to a . + public static implicit operator AdditionalVmPatch(string value) => new AdditionalVmPatch(value); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object obj) => obj is AdditionalVmPatch other && Equals(other); + /// + public bool Equals(AdditionalVmPatch 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/AvailabilityGroupReplicaCommitMode.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaCommitMode.cs index 7cc2db0d9701..149caebe5a40 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaCommitMode.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaCommitMode.cs @@ -22,12 +22,12 @@ public AvailabilityGroupReplicaCommitMode(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } - private const string SynchronousCommitValue = "SYNCHRONOUS_COMMIT"; - private const string AsynchronousCommitValue = "ASYNCHRONOUS_COMMIT"; + private const string SynchronousCommitValue = "Synchronous_Commit"; + private const string AsynchronousCommitValue = "Asynchronous_Commit"; - /// SYNCHRONOUS_COMMIT. + /// Synchronous_Commit. public static AvailabilityGroupReplicaCommitMode SynchronousCommit { get; } = new AvailabilityGroupReplicaCommitMode(SynchronousCommitValue); - /// ASYNCHRONOUS_COMMIT. + /// Asynchronous_Commit. public static AvailabilityGroupReplicaCommitMode AsynchronousCommit { get; } = new AvailabilityGroupReplicaCommitMode(AsynchronousCommitValue); /// Determines if two values are the same. public static bool operator ==(AvailabilityGroupReplicaCommitMode left, AvailabilityGroupReplicaCommitMode right) => left.Equals(right); diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaFailoverMode.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaFailoverMode.cs index 2b24225531f7..674239d1af76 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaFailoverMode.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaFailoverMode.cs @@ -22,12 +22,12 @@ public AvailabilityGroupReplicaFailoverMode(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } - private const string AutomaticValue = "AUTOMATIC"; - private const string ManualValue = "MANUAL"; + private const string AutomaticValue = "Automatic"; + private const string ManualValue = "Manual"; - /// AUTOMATIC. + /// Automatic. public static AvailabilityGroupReplicaFailoverMode Automatic { get; } = new AvailabilityGroupReplicaFailoverMode(AutomaticValue); - /// MANUAL. + /// Manual. public static AvailabilityGroupReplicaFailoverMode Manual { get; } = new AvailabilityGroupReplicaFailoverMode(ManualValue); /// Determines if two values are the same. public static bool operator ==(AvailabilityGroupReplicaFailoverMode left, AvailabilityGroupReplicaFailoverMode right) => left.Equals(right); diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaRole.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaRole.cs index 48ff4bf3420c..ce14ed163092 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaRole.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AvailabilityGroupReplicaRole.cs @@ -22,12 +22,12 @@ public AvailabilityGroupReplicaRole(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } - private const string PrimaryValue = "PRIMARY"; - private const string SecondaryValue = "SECONDARY"; + private const string PrimaryValue = "Primary"; + private const string SecondaryValue = "Secondary"; - /// PRIMARY. + /// Primary. public static AvailabilityGroupReplicaRole Primary { get; } = new AvailabilityGroupReplicaRole(PrimaryValue); - /// SECONDARY. + /// Secondary. public static AvailabilityGroupReplicaRole Secondary { get; } = new AvailabilityGroupReplicaRole(SecondaryValue); /// Determines if two values are the same. public static bool operator ==(AvailabilityGroupReplicaRole left, AvailabilityGroupReplicaRole right) => left.Equals(right); 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/ReadableSecondaryMode.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/ReadableSecondaryMode.cs index 871defcf7f44..d2e59d89e4ee 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/ReadableSecondaryMode.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/ReadableSecondaryMode.cs @@ -22,15 +22,15 @@ public ReadableSecondaryMode(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } - private const string NoValue = "NO"; - private const string AllValue = "ALL"; - private const string ReadOnlyValue = "READ_ONLY"; + private const string NoValue = "No"; + private const string AllValue = "All"; + private const string ReadOnlyValue = "Read_Only"; - /// NO. + /// No. public static ReadableSecondaryMode No { get; } = new ReadableSecondaryMode(NoValue); - /// ALL. + /// All. public static ReadableSecondaryMode All { get; } = new ReadableSecondaryMode(AllValue); - /// READ_ONLY. + /// Read_Only. public static ReadableSecondaryMode ReadOnly { get; } = new ReadableSecondaryMode(ReadOnlyValue); /// Determines if two values are the same. public static bool operator ==(ReadableSecondaryMode left, ReadableSecondaryMode right) => left.Equals(right); diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlManagementMode.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlManagementMode.cs index f7830236c9bd..bd789606d984 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlManagementMode.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlManagementMode.cs @@ -10,7 +10,7 @@ namespace Azure.ResourceManager.SqlVirtualMachine.Models { - /// SQL Server Management type. + /// SQL Server Management type. NOTE: This parameter is not used anymore. API will automatically detect the Sql Management, refrain from using it. public readonly partial struct SqlManagementMode : IEquatable { private readonly string _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 9f51110a9bf0..6db9cd5f67b0 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"u8); writer.WriteObjectValue(SqlInstanceSettings); } + if (Optional.IsDefined(AzureAdAuthenticationSettings)) + { + writer.WritePropertyName("azureAdAuthenticationSettings"u8); + writer.WriteObjectValue(AzureAdAuthenticationSettings); + } writer.WriteEndObject(); } @@ -54,6 +59,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"u8)) @@ -101,8 +107,17 @@ internal static SqlServerConfigurationsManagementSettings DeserializeSqlServerCo sqlInstanceSettings = SqlInstanceSettings.DeserializeSqlInstanceSettings(property.Value); continue; } + if (property.NameEquals("azureAdAuthenticationSettings"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + 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/SqlStorageSettings.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.Serialization.cs index 7656cd2fe28f..281bb79cd4e1 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.Serialization.cs @@ -31,6 +31,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("defaultFilePath"u8); writer.WriteStringValue(DefaultFilePath); } + if (Optional.IsDefined(UseStoragePool)) + { + writer.WritePropertyName("useStoragePool"u8); + writer.WriteBooleanValue(UseStoragePool.Value); + } writer.WriteEndObject(); } @@ -42,6 +47,7 @@ internal static SqlStorageSettings DeserializeSqlStorageSettings(JsonElement ele } Optional> luns = default; Optional defaultFilePath = default; + Optional useStoragePool = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("luns"u8)) @@ -63,8 +69,17 @@ internal static SqlStorageSettings DeserializeSqlStorageSettings(JsonElement ele defaultFilePath = property.Value.GetString(); continue; } + if (property.NameEquals("useStoragePool"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + useStoragePool = property.Value.GetBoolean(); + continue; + } } - return new SqlStorageSettings(Optional.ToList(luns), defaultFilePath.Value); + return new SqlStorageSettings(Optional.ToList(luns), defaultFilePath.Value, Optional.ToNullable(useStoragePool)); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.cs index 038a2ed631c4..49ac06c1a0b0 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlStorageSettings.cs @@ -22,15 +22,19 @@ public SqlStorageSettings() /// Initializes a new instance of SqlStorageSettings. /// Logical Unit Numbers for the disks. /// SQL Server default file path. - internal SqlStorageSettings(IList luns, string defaultFilePath) + /// Use storage pool to build a drive if true or not provided. + internal SqlStorageSettings(IList luns, string defaultFilePath, bool? useStoragePool) { Luns = luns; DefaultFilePath = defaultFilePath; + UseStoragePool = useStoragePool; } /// Logical Unit Numbers for the disks. public IList Luns { get; } /// SQL Server default file path. public string DefaultFilePath { get; set; } + /// Use storage pool to build a drive if true or not provided. + public bool? UseStoragePool { get; set; } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.Serialization.cs index ab9ff46095ce..14a674d7e0f0 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlTempDBSettings.Serialization.cs @@ -66,6 +66,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("defaultFilePath"u8); writer.WriteStringValue(DefaultFilePath); } + if (Optional.IsDefined(UseStoragePool)) + { + writer.WritePropertyName("useStoragePool"u8); + writer.WriteBooleanValue(UseStoragePool.Value); + } writer.WriteEndObject(); } @@ -84,6 +89,7 @@ internal static SqlTempDBSettings DeserializeSqlTempDBSettings(JsonElement eleme Optional persistFolderPath = default; Optional> luns = default; Optional defaultFilePath = default; + Optional useStoragePool = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("dataFileSize"u8)) @@ -164,8 +170,17 @@ internal static SqlTempDBSettings DeserializeSqlTempDBSettings(JsonElement eleme defaultFilePath = property.Value.GetString(); continue; } + if (property.NameEquals("useStoragePool"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + useStoragePool = property.Value.GetBoolean(); + continue; + } } - return new SqlTempDBSettings(Optional.ToNullable(dataFileSize), Optional.ToNullable(dataGrowth), Optional.ToNullable(logFileSize), Optional.ToNullable(logGrowth), Optional.ToNullable(dataFileCount), Optional.ToNullable(persistFolder), persistFolderPath.Value, Optional.ToList(luns), defaultFilePath.Value); + return new SqlTempDBSettings(Optional.ToNullable(dataFileSize), Optional.ToNullable(dataGrowth), Optional.ToNullable(logFileSize), Optional.ToNullable(logGrowth), Optional.ToNullable(dataFileCount), Optional.ToNullable(persistFolder), persistFolderPath.Value, Optional.ToList(luns), defaultFilePath.Value, Optional.ToNullable(useStoragePool)); } } } 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..8cdadc27a08b 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. @@ -29,7 +29,8 @@ public SqlTempDBSettings() /// SQL Server tempdb persist folder location. /// Logical Unit Numbers for the disks. /// SQL Server default file path. - internal SqlTempDBSettings(int? dataFileSize, int? dataGrowth, int? logFileSize, int? logGrowth, int? dataFileCount, bool? persistFolder, string persistFolderPath, IList logicalUnitNumbers, string defaultFilePath) + /// Use storage pool to build a drive if true or not provided. + internal SqlTempDBSettings(int? dataFileSize, int? dataGrowth, int? logFileSize, int? logGrowth, int? dataFileCount, bool? persistFolder, string persistFolderPath, IList logicalUnitNumbers, string defaultFilePath, bool? useStoragePool) { DataFileSize = dataFileSize; DataGrowth = dataGrowth; @@ -40,6 +41,7 @@ internal SqlTempDBSettings(int? dataFileSize, int? dataGrowth, int? logFileSize, PersistFolderPath = persistFolderPath; LogicalUnitNumbers = logicalUnitNumbers; DefaultFilePath = defaultFilePath; + UseStoragePool = useStoragePool; } /// SQL Server tempdb data file size. @@ -60,5 +62,7 @@ internal SqlTempDBSettings(int? dataFileSize, int? dataGrowth, int? logFileSize, public IList LogicalUnitNumbers { get; } /// SQL Server default file path. public string DefaultFilePath { get; set; } + /// Use storage pool to build a drive if true or not provided. + public bool? UseStoragePool { get; set; } } } 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/SqlVmAutoPatchingSettings.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.Serialization.cs index 4c31e2fe2556..169aa0ccbf76 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.Serialization.cs @@ -35,6 +35,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("maintenanceWindowDuration"u8); writer.WriteNumberValue(MaintenanceWindowDurationInMinutes.Value); } + if (Optional.IsDefined(AdditionalVmPatch)) + { + writer.WritePropertyName("additionalVmPatch"u8); + writer.WriteStringValue(AdditionalVmPatch.Value.ToString()); + } writer.WriteEndObject(); } @@ -48,6 +53,7 @@ internal static SqlVmAutoPatchingSettings DeserializeSqlVmAutoPatchingSettings(J Optional dayOfWeek = default; Optional maintenanceWindowStartingHour = default; Optional maintenanceWindowDuration = default; + Optional additionalVmPatch = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("enable"u8)) @@ -86,8 +92,17 @@ internal static SqlVmAutoPatchingSettings DeserializeSqlVmAutoPatchingSettings(J maintenanceWindowDuration = property.Value.GetInt32(); continue; } + if (property.NameEquals("additionalVmPatch"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + additionalVmPatch = new AdditionalVmPatch(property.Value.GetString()); + continue; + } } - return new SqlVmAutoPatchingSettings(Optional.ToNullable(enable), Optional.ToNullable(dayOfWeek), Optional.ToNullable(maintenanceWindowStartingHour), Optional.ToNullable(maintenanceWindowDuration)); + return new SqlVmAutoPatchingSettings(Optional.ToNullable(enable), Optional.ToNullable(dayOfWeek), Optional.ToNullable(maintenanceWindowStartingHour), Optional.ToNullable(maintenanceWindowDuration), Optional.ToNullable(additionalVmPatch)); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.cs index a3f0e63943fe..13cac86daf58 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmAutoPatchingSettings.cs @@ -20,12 +20,14 @@ public SqlVmAutoPatchingSettings() /// Day of week to apply the patch on. /// Hour of the day when patching is initiated. Local VM time. /// Duration of patching. - internal SqlVmAutoPatchingSettings(bool? isEnabled, SqlVmAutoPatchingDayOfWeek? dayOfWeek, int? maintenanceWindowStartingHour, int? maintenanceWindowDurationInMinutes) + /// Additional Patch to be enable or enabled on the SQL Virtual Machine. + internal SqlVmAutoPatchingSettings(bool? isEnabled, SqlVmAutoPatchingDayOfWeek? dayOfWeek, int? maintenanceWindowStartingHour, int? maintenanceWindowDurationInMinutes, AdditionalVmPatch? additionalVmPatch) { IsEnabled = isEnabled; DayOfWeek = dayOfWeek; MaintenanceWindowStartingHour = maintenanceWindowStartingHour; MaintenanceWindowDurationInMinutes = maintenanceWindowDurationInMinutes; + AdditionalVmPatch = additionalVmPatch; } /// Enable or disable autopatching on SQL virtual machine. @@ -36,5 +38,7 @@ internal SqlVmAutoPatchingSettings(bool? isEnabled, SqlVmAutoPatchingDayOfWeek? public int? MaintenanceWindowStartingHour { get; set; } /// Duration of patching. public int? MaintenanceWindowDurationInMinutes { get; set; } + /// Additional Patch to be enable or enabled on the SQL Virtual Machine. + public AdditionalVmPatch? AdditionalVmPatch { 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 f61948ddc0d4..6eb3f3e9026b 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"u8); writer.WriteStringValue(SqlManagement.Value.ToString()); } + if (Optional.IsDefined(LeastPrivilegeMode)) + { + writer.WritePropertyName("leastPrivilegeMode"u8); + writer.WriteStringValue(LeastPrivilegeMode.Value.ToString()); + } if (Optional.IsDefined(SqlImageSku)) { writer.WritePropertyName("sqlImageSku"u8); @@ -109,6 +114,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("assessmentSettings"u8); writer.WriteObjectValue(AssessmentSettings); } + if (Optional.IsDefined(EnableAutomaticUpgrade)) + { + writer.WritePropertyName("enableAutomaticUpgrade"u8); + writer.WriteBooleanValue(EnableAutomaticUpgrade.Value); + } writer.WriteEndObject(); writer.WriteEndObject(); } @@ -131,6 +141,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; @@ -140,7 +151,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"u8)) @@ -241,6 +254,15 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) sqlManagement = new SqlManagementMode(property0.Value.GetString()); continue; } + if (property0.NameEquals("leastPrivilegeMode"u8)) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + leastPrivilegeMode = new LeastPrivilegeMode(property0.Value.GetString()); + continue; + } if (property0.NameEquals("sqlImageSku"u8)) { if (property0.Value.ValueKind == JsonValueKind.Null) @@ -322,6 +344,15 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) storageConfigurationSettings = SqlVmStorageConfigurationSettings.DeserializeSqlVmStorageConfigurationSettings(property0.Value); continue; } + if (property0.NameEquals("troubleshootingStatus"u8)) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + troubleshootingStatus = TroubleshootingStatus.DeserializeTroubleshootingStatus(property0.Value); + continue; + } if (property0.NameEquals("assessmentSettings"u8)) { if (property0.Value.ValueKind == JsonValueKind.Null) @@ -331,11 +362,20 @@ internal static SqlVmData DeserializeSqlVmData(JsonElement element) assessmentSettings = SqlVmAssessmentSettings.DeserializeSqlVmAssessmentSettings(property0.Value); continue; } + if (property0.NameEquals("enableAutomaticUpgrade"u8)) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + 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/SqlVmStorageConfigurationSettings.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.Serialization.cs index 46e85cf74db8..9fc55ca09989 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.Serialization.cs @@ -45,6 +45,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("storageWorkloadType"u8); writer.WriteStringValue(StorageWorkloadType.Value.ToString()); } + if (Optional.IsDefined(EnableStorageConfigBlade)) + { + writer.WritePropertyName("enableStorageConfigBlade"u8); + writer.WriteBooleanValue(EnableStorageConfigBlade.Value); + } writer.WriteEndObject(); } @@ -60,6 +65,7 @@ internal static SqlVmStorageConfigurationSettings DeserializeSqlVmStorageConfigu Optional sqlSystemDBOnDataDisk = default; Optional diskConfigurationType = default; Optional storageWorkloadType = default; + Optional enableStorageConfigBlade = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sqlDataSettings"u8)) @@ -116,8 +122,17 @@ internal static SqlVmStorageConfigurationSettings DeserializeSqlVmStorageConfigu storageWorkloadType = new SqlVmStorageWorkloadType(property.Value.GetString()); continue; } + if (property.NameEquals("enableStorageConfigBlade"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + enableStorageConfigBlade = property.Value.GetBoolean(); + continue; + } } - return new SqlVmStorageConfigurationSettings(sqlDataSettings.Value, sqlLogSettings.Value, sqlTempDBSettings.Value, Optional.ToNullable(sqlSystemDBOnDataDisk), Optional.ToNullable(diskConfigurationType), Optional.ToNullable(storageWorkloadType)); + return new SqlVmStorageConfigurationSettings(sqlDataSettings.Value, sqlLogSettings.Value, sqlTempDBSettings.Value, Optional.ToNullable(sqlSystemDBOnDataDisk), Optional.ToNullable(diskConfigurationType), Optional.ToNullable(storageWorkloadType), Optional.ToNullable(enableStorageConfigBlade)); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.cs index 431f0444754a..7dd25f694e29 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmStorageConfigurationSettings.cs @@ -22,7 +22,8 @@ public SqlVmStorageConfigurationSettings() /// SQL Server SystemDb Storage on DataPool if true. /// Disk configuration to apply to SQL Server. /// Storage workload type. - internal SqlVmStorageConfigurationSettings(SqlStorageSettings sqlDataSettings, SqlStorageSettings sqlLogSettings, SqlTempDBSettings sqlTempDBSettings, bool? isSqlSystemDBOnDataDisk, SqlVmDiskConfigurationType? diskConfigurationType, SqlVmStorageWorkloadType? storageWorkloadType) + /// Enable SQL IaaS Agent storage configuration blade in Azure Portal. + internal SqlVmStorageConfigurationSettings(SqlStorageSettings sqlDataSettings, SqlStorageSettings sqlLogSettings, SqlTempDBSettings sqlTempDBSettings, bool? isSqlSystemDBOnDataDisk, SqlVmDiskConfigurationType? diskConfigurationType, SqlVmStorageWorkloadType? storageWorkloadType, bool? enableStorageConfigBlade) { SqlDataSettings = sqlDataSettings; SqlLogSettings = sqlLogSettings; @@ -30,6 +31,7 @@ internal SqlVmStorageConfigurationSettings(SqlStorageSettings sqlDataSettings, S IsSqlSystemDBOnDataDisk = isSqlSystemDBOnDataDisk; DiskConfigurationType = diskConfigurationType; StorageWorkloadType = storageWorkloadType; + EnableStorageConfigBlade = enableStorageConfigBlade; } /// SQL Server Data Storage Settings. @@ -44,5 +46,7 @@ internal SqlVmStorageConfigurationSettings(SqlStorageSettings sqlDataSettings, S public SqlVmDiskConfigurationType? DiskConfigurationType { get; set; } /// Storage workload type. public SqlVmStorageWorkloadType? StorageWorkloadType { get; set; } + /// Enable SQL IaaS Agent storage configuration blade in Azure Portal. + public bool? EnableStorageConfigBlade { get; set; } } } 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..04c1f651e136 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/SqlVmTroubleshooting.Serialization.cs @@ -0,0 +1,104 @@ +// 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"u8); + writer.WriteStringValue(StartTimeUtc.Value, "O"); + } + if (Optional.IsDefined(EndTimeUtc)) + { + writer.WritePropertyName("endTimeUtc"u8); + writer.WriteStringValue(EndTimeUtc.Value, "O"); + } + if (Optional.IsDefined(TroubleshootingScenario)) + { + writer.WritePropertyName("troubleshootingScenario"u8); + writer.WriteStringValue(TroubleshootingScenario.Value.ToString()); + } + if (Optional.IsDefined(Properties)) + { + writer.WritePropertyName("properties"u8); + writer.WriteObjectValue(Properties); + } + writer.WriteEndObject(); + } + + internal static SqlVmTroubleshooting DeserializeSqlVmTroubleshooting(JsonElement element) + { + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + 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"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + startTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("endTimeUtc"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + endTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("troubleshootingScenario"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + troubleshootingScenario = new TroubleshootingScenario(property.Value.GetString()); + continue; + } + if (property.NameEquals("properties"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + properties = TroubleshootingAdditionalProperties.DeserializeTroubleshootingAdditionalProperties(property.Value); + continue; + } + if (property.NameEquals("virtualMachineResourceId"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + 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..a2acb56b7641 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingAdditionalProperties.Serialization.cs @@ -0,0 +1,48 @@ +// 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"u8); + writer.WriteObjectValue(UnhealthyReplicaInfo); + } + writer.WriteEndObject(); + } + + internal static TroubleshootingAdditionalProperties DeserializeTroubleshootingAdditionalProperties(JsonElement element) + { + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + Optional unhealthyReplicaInfo = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("unhealthyReplicaInfo"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + 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..76f31389c9ce --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/TroubleshootingStatus.Serialization.cs @@ -0,0 +1,84 @@ +// 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) + { + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + 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"u8)) + { + rootCause = property.Value.GetString(); + continue; + } + if (property.NameEquals("lastTriggerTimeUtc"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + lastTriggerTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("startTimeUtc"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + startTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("endTimeUtc"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + endTimeUtc = property.Value.GetDateTimeOffset("O"); + continue; + } + if (property.NameEquals("troubleshootingScenario"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + troubleshootingScenario = new TroubleshootingScenario(property.Value.GetString()); + continue; + } + if (property.NameEquals("properties"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + 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..c2173b140d65 --- /dev/null +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/UnhealthyReplicaInfo.Serialization.cs @@ -0,0 +1,44 @@ +// 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"u8); + writer.WriteStringValue(AvailabilityGroupName); + } + writer.WriteEndObject(); + } + + internal static UnhealthyReplicaInfo DeserializeUnhealthyReplicaInfo(JsonElement element) + { + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + Optional availabilityGroupName = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("availabilityGroupName"u8)) + { + 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/Models/WindowsServerFailoverClusterDomainProfile.Serialization.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.Serialization.cs index 23b6c1d3043a..0565c6ecb37e 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.Serialization.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.Serialization.cs @@ -41,6 +41,11 @@ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) writer.WritePropertyName("sqlServiceAccount"u8); writer.WriteStringValue(SqlServiceAccount); } + if (Optional.IsDefined(IsSqlServiceAccountGmsa)) + { + writer.WritePropertyName("isSqlServiceAccountGmsa"u8); + writer.WriteBooleanValue(IsSqlServiceAccountGmsa.Value); + } if (Optional.IsDefined(FileShareWitnessPath)) { writer.WritePropertyName("fileShareWitnessPath"u8); @@ -75,6 +80,7 @@ internal static WindowsServerFailoverClusterDomainProfile DeserializeWindowsServ Optional clusterBootstrapAccount = default; Optional clusterOperatorAccount = default; Optional sqlServiceAccount = default; + Optional isSqlServiceAccountGmsa = default; Optional fileShareWitnessPath = default; Optional storageAccountUrl = default; Optional storageAccountPrimaryKey = default; @@ -106,6 +112,15 @@ internal static WindowsServerFailoverClusterDomainProfile DeserializeWindowsServ sqlServiceAccount = property.Value.GetString(); continue; } + if (property.NameEquals("isSqlServiceAccountGmsa"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + isSqlServiceAccountGmsa = property.Value.GetBoolean(); + continue; + } if (property.NameEquals("fileShareWitnessPath"u8)) { fileShareWitnessPath = property.Value.GetString(); @@ -135,7 +150,7 @@ internal static WindowsServerFailoverClusterDomainProfile DeserializeWindowsServ continue; } } - return new WindowsServerFailoverClusterDomainProfile(domainFqdn.Value, ouPath.Value, clusterBootstrapAccount.Value, clusterOperatorAccount.Value, sqlServiceAccount.Value, fileShareWitnessPath.Value, storageAccountUrl.Value, storageAccountPrimaryKey.Value, Optional.ToNullable(clusterSubnetType)); + return new WindowsServerFailoverClusterDomainProfile(domainFqdn.Value, ouPath.Value, clusterBootstrapAccount.Value, clusterOperatorAccount.Value, sqlServiceAccount.Value, Optional.ToNullable(isSqlServiceAccountGmsa), fileShareWitnessPath.Value, storageAccountUrl.Value, storageAccountPrimaryKey.Value, Optional.ToNullable(clusterSubnetType)); } } } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.cs index 681f4d259fab..35bd4a6da434 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/WindowsServerFailoverClusterDomainProfile.cs @@ -23,17 +23,19 @@ public WindowsServerFailoverClusterDomainProfile() /// Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain). /// Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster. /// Account name under which SQL service will run on all participating SQL virtual machines in the cluster. + /// The flag to check if SQL service account is GMSA. /// Optional path for fileshare witness. /// Fully qualified ARM resource id of the witness storage account. /// Primary key of the witness storage account. /// Cluster subnet type. - internal WindowsServerFailoverClusterDomainProfile(string domainFqdn, string organizationalUnitPath, string clusterBootstrapAccount, string clusterOperatorAccount, string sqlServiceAccount, string fileShareWitnessPath, Uri storageAccountUri, string storageAccountPrimaryKey, SqlVmClusterSubnetType? clusterSubnetType) + internal WindowsServerFailoverClusterDomainProfile(string domainFqdn, string organizationalUnitPath, string clusterBootstrapAccount, string clusterOperatorAccount, string sqlServiceAccount, bool? isSqlServiceAccountGmsa, string fileShareWitnessPath, Uri storageAccountUri, string storageAccountPrimaryKey, SqlVmClusterSubnetType? clusterSubnetType) { DomainFqdn = domainFqdn; OrganizationalUnitPath = organizationalUnitPath; ClusterBootstrapAccount = clusterBootstrapAccount; ClusterOperatorAccount = clusterOperatorAccount; SqlServiceAccount = sqlServiceAccount; + IsSqlServiceAccountGmsa = isSqlServiceAccountGmsa; FileShareWitnessPath = fileShareWitnessPath; StorageAccountUri = storageAccountUri; StorageAccountPrimaryKey = storageAccountPrimaryKey; @@ -50,6 +52,8 @@ internal WindowsServerFailoverClusterDomainProfile(string domainFqdn, string org public string ClusterOperatorAccount { get; set; } /// Account name under which SQL service will run on all participating SQL virtual machines in the cluster. public string SqlServiceAccount { get; set; } + /// The flag to check if SQL service account is GMSA. + public bool? IsSqlServiceAccountGmsa { get; set; } /// Optional path for fileshare witness. public string FileShareWitnessPath { get; set; } /// Fully qualified ARM resource id of the witness storage account. 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..ad7e2074934c 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 ?? "2023-01-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..4df8920ad1fb 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 ?? "2023-01-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..48bea3092ad1 --- /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 ?? "2023-01-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..7fa48e094e99 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 ?? "2023-01-01-preview"; _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } @@ -183,11 +183,11 @@ public Response List(string subscriptionId, CancellationToken c } } - internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string sqlVmName, string expand) + internal HttpMessage CreateStartAssessmentRequest(string subscriptionId, string resourceGroupName, string sqlVmName) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Get; + request.Method = RequestMethod.Post; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); @@ -196,10 +196,7 @@ internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGrou uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); uri.AppendPath(sqlVmName, true); - if (expand != null) - { - uri.AppendQuery("$expand", expand, true); - } + uri.AppendPath("/startAssessment", false); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; request.Headers.Add("Accept", "application/json"); @@ -207,75 +204,61 @@ internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGrou return message; } - /// Gets a SQL virtual machine. + /// 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 child resources to include in the response. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public async Task> GetAsync(string subscriptionId, string resourceGroupName, string sqlVmName, string expand = null, 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 = CreateGetRequest(subscriptionId, resourceGroupName, sqlVmName, expand); + using var message = CreateStartAssessmentRequest(subscriptionId, resourceGroupName, sqlVmName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: - { - SqlVmData value = default; - using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); - value = SqlVmData.DeserializeSqlVmData(document.RootElement); - return Response.FromValue(value, message.Response); - } - case 404: - return Response.FromValue((SqlVmData)null, message.Response); + case 202: + return message.Response; default: throw new RequestFailedException(message.Response); } } - /// Gets a SQL virtual machine. + /// 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 child resources to include in the response. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public Response Get(string subscriptionId, string resourceGroupName, string sqlVmName, string expand = null, 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 = CreateGetRequest(subscriptionId, resourceGroupName, sqlVmName, expand); + using var message = CreateStartAssessmentRequest(subscriptionId, resourceGroupName, sqlVmName); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: - { - SqlVmData value = default; - using var document = JsonDocument.Parse(message.Response.ContentStream); - value = SqlVmData.DeserializeSqlVmData(document.RootElement); - return Response.FromValue(value, message.Response); - } - case 404: - return Response.FromValue((SqlVmData)null, message.Response); + case 202: + return message.Response; default: throw new RequestFailedException(message.Response); } } - internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmData data) + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string sqlVmName) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Put; + request.Method = RequestMethod.Post; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); @@ -284,76 +267,69 @@ internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string r uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); uri.AppendPath(sqlVmName, true); + uri.AppendPath("/redeploy", 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(data); - request.Content = content; _userAgent.Apply(message); return message; } - /// Creates or updates a 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 SQL virtual machine. /// The cancellation token to use. - /// , , or is null. + /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public async Task CreateOrUpdateAsync(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmData data, 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)); - Argument.AssertNotNull(data, nameof(data)); - using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, data); + using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: - case 201: + case 202: return message.Response; default: throw new RequestFailedException(message.Response); } } - /// Creates or updates a 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 SQL virtual machine. /// The cancellation token to use. - /// , , or is null. + /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmData data, 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)); - Argument.AssertNotNull(data, nameof(data)); - using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, data); + using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: - case 201: + case 202: return message.Response; default: throw new RequestFailedException(message.Response); } } - internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string sqlVmName) + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string sqlVmName, string expand) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Delete; + request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); @@ -362,69 +338,86 @@ internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceG uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); uri.AppendPath(sqlVmName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; + request.Headers.Add("Accept", "application/json"); _userAgent.Apply(message); return message; } - /// Deletes a SQL virtual machine. + /// Gets a 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 child resources to include in the response. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public async Task DeleteAsync(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) + public async Task> GetAsync(string subscriptionId, string resourceGroupName, string sqlVmName, string expand = null, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - using var message = CreateDeleteRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateGetRequest(subscriptionId, resourceGroupName, sqlVmName, expand); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: - case 202: - case 204: - return message.Response; + { + SqlVmData value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + value = SqlVmData.DeserializeSqlVmData(document.RootElement); + return Response.FromValue(value, message.Response); + } + case 404: + return Response.FromValue((SqlVmData)null, message.Response); default: throw new RequestFailedException(message.Response); } } - /// Deletes a SQL virtual machine. + /// Gets a 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 child resources to include in the response. /// The cancellation token to use. /// , or is null. /// , or is an empty string, and was expected to be non-empty. - public Response Delete(string subscriptionId, string resourceGroupName, string sqlVmName, CancellationToken cancellationToken = default) + public Response Get(string subscriptionId, string resourceGroupName, string sqlVmName, string expand = null, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - using var message = CreateDeleteRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateGetRequest(subscriptionId, resourceGroupName, sqlVmName, expand); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: - case 202: - case 204: - return message.Response; + { + SqlVmData value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + value = SqlVmData.DeserializeSqlVmData(document.RootElement); + return Response.FromValue(value, message.Response); + } + case 404: + return Response.FromValue((SqlVmData)null, message.Response); default: throw new RequestFailedException(message.Response); } } - internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmPatch patch) + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmData data) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Patch; + request.Method = RequestMethod.Put; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); @@ -438,76 +431,79 @@ internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceG request.Headers.Add("Accept", "application/json"); request.Headers.Add("Content-Type", "application/json"); var content = new Utf8JsonRequestContent(); - content.JsonWriter.WriteObjectValue(patch); + content.JsonWriter.WriteObjectValue(data); request.Content = content; _userAgent.Apply(message); return message; } - /// Updates a SQL virtual machine. + /// Creates or updates a 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 SQL virtual machine. + /// The SQL virtual machine. /// The cancellation token to use. - /// , , or is null. + /// , , or is null. /// , or is an empty string, and was expected to be non-empty. - public async Task UpdateAsync(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmPatch patch, CancellationToken cancellationToken = default) + public async Task CreateOrUpdateAsync(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmData data, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - Argument.AssertNotNull(patch, nameof(patch)); + Argument.AssertNotNull(data, nameof(data)); - using var message = CreateUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, patch); + using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, data); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: + case 201: return message.Response; default: throw new RequestFailedException(message.Response); } } - /// Updates a SQL virtual machine. + /// Creates or updates a 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 SQL virtual machine. + /// The SQL virtual machine. /// The cancellation token to use. - /// , , or is null. + /// , , or is null. /// , or is an empty string, and was expected to be non-empty. - public Response Update(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmPatch patch, CancellationToken cancellationToken = default) + public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmData data, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); - Argument.AssertNotNull(patch, nameof(patch)); + Argument.AssertNotNull(data, nameof(data)); - using var message = CreateUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, patch); + using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, data); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: + case 201: return message.Response; default: throw new RequestFailedException(message.Response); } } - internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string sqlVmName) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Get; + request.Method = RequestMethod.Delete; 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("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/", false); + uri.AppendPath(sqlVmName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; request.Headers.Add("Accept", "application/json"); @@ -515,65 +511,63 @@ internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, str return message; } - /// Gets all SQL virtual machines in a resource group. + /// Deletes a 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> ListByResourceGroupAsync(string subscriptionId, string resourceGroupName, CancellationToken cancellationToken = default) + /// , or is null. + /// , or is an empty string, and was expected to be non-empty. + public async Task DeleteAsync(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 = CreateListByResourceGroupRequest(subscriptionId, resourceGroupName); + using var message = CreateDeleteRequest(subscriptionId, resourceGroupName, sqlVmName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: - { - SqlVmListResult value = default; - using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); - value = SqlVmListResult.DeserializeSqlVmListResult(document.RootElement); - return Response.FromValue(value, message.Response); - } + case 202: + case 204: + return message.Response; default: throw new RequestFailedException(message.Response); } } - /// Gets all SQL virtual machines in a resource group. + /// Deletes a 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 ListByResourceGroup(string subscriptionId, string resourceGroupName, CancellationToken cancellationToken = default) + /// , or is null. + /// , or is an empty string, and was expected to be non-empty. + public Response Delete(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 = CreateListByResourceGroupRequest(subscriptionId, resourceGroupName); + using var message = CreateDeleteRequest(subscriptionId, resourceGroupName, sqlVmName); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: - { - SqlVmListResult value = default; - using var document = JsonDocument.Parse(message.Response.ContentStream); - value = SqlVmListResult.DeserializeSqlVmListResult(document.RootElement); - return Response.FromValue(value, message.Response); - } + case 202: + case 204: + return message.Response; default: throw new RequestFailedException(message.Response); } } - internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string sqlVmName) + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmPatch patch) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Post; + request.Method = RequestMethod.Patch; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); @@ -582,128 +576,137 @@ 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.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(patch); + request.Content = content; _userAgent.Apply(message); return message; } - /// Uninstalls and reinstalls the SQL Iaas Extension. + /// Updates a 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 SQL virtual machine. /// The cancellation token to use. - /// , or is null. + /// , , 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 UpdateAsync(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmPatch patch, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); + Argument.AssertNotNull(patch, nameof(patch)); - using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, patch); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: - case 202: return message.Response; default: throw new RequestFailedException(message.Response); } } - /// Uninstalls and reinstalls the SQL Iaas Extension. + /// Updates a 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 SQL virtual machine. /// The cancellation token to use. - /// , or is null. + /// , , 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 Update(string subscriptionId, string resourceGroupName, string sqlVmName, SqlVmPatch patch, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(sqlVmName, nameof(sqlVmName)); + Argument.AssertNotNull(patch, nameof(patch)); - using var message = CreateRedeployRequest(subscriptionId, resourceGroupName, sqlVmName); + using var message = CreateUpdateRequest(subscriptionId, resourceGroupName, sqlVmName, patch); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: - case 202: return message.Response; default: throw new RequestFailedException(message.Response); } } - internal HttpMessage CreateStartAssessmentRequest(string subscriptionId, string resourceGroupName, string sqlVmName) + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); var request = message.Request; - request.Method = RequestMethod.Post; + request.Method = RequestMethod.Get; 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("/startAssessment", false); + uri.AppendPath("/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines", 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. + /// Gets all SQL virtual machines in a resource group. /// 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) + /// or is null. + /// or is an empty string, and was expected to be non-empty. + public async Task> ListByResourceGroupAsync(string subscriptionId, string resourceGroupName, 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 = CreateListByResourceGroupRequest(subscriptionId, resourceGroupName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: - case 202: - return message.Response; + { + SqlVmListResult value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + value = SqlVmListResult.DeserializeSqlVmListResult(document.RootElement); + return Response.FromValue(value, message.Response); + } default: throw new RequestFailedException(message.Response); } } - /// Starts Assessment on SQL virtual machine. + /// Gets all SQL virtual machines in a resource group. /// 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) + /// or is null. + /// or is an empty string, and was expected to be non-empty. + public Response ListByResourceGroup(string subscriptionId, string resourceGroupName, 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 = CreateListByResourceGroupRequest(subscriptionId, resourceGroupName); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: - case 202: - return message.Response; + { + SqlVmListResult value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + value = SqlVmListResult.DeserializeSqlVmListResult(document.RootElement); + return Response.FromValue(value, message.Response); + } default: throw new RequestFailedException(message.Response); } diff --git a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs index dc49a4981ac1..796b17b7fc95 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmCollection.cs @@ -82,7 +82,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; @@ -123,7 +123,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 9e4a27b5da43..4ce6bc52b30b 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmData.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmData.cs @@ -32,12 +32,13 @@ public SqlVmData(AzureLocation location) : base(location) /// The systemData. /// The tags. /// The location. - /// Azure Active Directory identity of the server. Current supported identity types: None, SystemAssigned. + /// DO NOT USE. This value will be deprecated. Azure Active Directory identity of the server. Current supported identity types: None, SystemAssigned. /// ARM Resource id of underlying virtual machine created from SQL marketplace image. /// Provisioning state to track the async operation status. /// SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016. /// SQL Server license type. - /// SQL Server Management type. + /// SQL Server Management type. NOTE: This parameter is not used anymore. API will automatically detect the Sql Management, refrain from using it. + /// 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. @@ -47,8 +48,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; @@ -56,6 +59,7 @@ internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType SqlImageOffer = sqlImageOffer; SqlServerLicenseType = sqlServerLicenseType; SqlManagement = sqlManagement; + LeastPrivilegeMode = leastPrivilegeMode; SqlImageSku = sqlImageSku; SqlVmGroupResourceId = sqlVmGroupResourceId; WindowsServerFailoverClusterDomainCredentials = windowsServerFailoverClusterDomainCredentials; @@ -65,10 +69,12 @@ 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. + /// DO NOT USE. This value will be deprecated. Azure Active Directory identity of the server. Current supported identity types: None, SystemAssigned. public ManagedServiceIdentity Identity { get; set; } /// ARM Resource id of underlying virtual machine created from SQL marketplace image. public ResourceIdentifier VirtualMachineResourceId { get; set; } @@ -78,8 +84,10 @@ internal SqlVmData(ResourceIdentifier id, string name, ResourceType resourceType public string SqlImageOffer { get; set; } /// SQL Server license type. public SqlServerLicenseType? SqlServerLicenseType { get; set; } - /// SQL Server Management type. + /// SQL Server Management type. NOTE: This parameter is not used anymore. API will automatically detect the Sql Management, refrain from using it. 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. @@ -98,7 +106,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 a11717bac02d..471f71e8e4e0 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupCollection.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupCollection.cs @@ -82,7 +82,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; @@ -123,7 +123,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 8d5920687bbb..e6de8782efd8 100644 --- a/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupResource.cs +++ b/sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/SqlVmGroupResource.cs @@ -307,7 +307,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; @@ -345,7 +345,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 88e2a69381e7..92022a690d6a 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 @@ -249,7 +253,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; @@ -287,7 +291,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; @@ -300,7 +304,75 @@ 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 @@ -334,7 +406,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 @@ -368,30 +440,34 @@ public virtual ArmOperation Redeploy(WaitUntil waitUntil, CancellationToken canc } /// - /// Starts Assessment on SQL virtual machine. + /// Starts SQL virtual machine troubleshooting. /// /// /// Request Path - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment + /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/troubleshoot /// /// /// Operation Id - /// SqlVirtualMachines_StartAssessment + /// 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) @@ -402,30 +478,34 @@ public virtual async Task StartAssessmentAsync(WaitUntil waitUntil } /// - /// Starts Assessment on SQL virtual machine. + /// Starts SQL virtual machine troubleshooting. /// /// /// Request Path - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment + /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/troubleshoot /// /// /// Operation Id - /// SqlVirtualMachines_StartAssessment + /// 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