diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateAvailabilityGroupListener.json new file mode 100644 index 000000000000..055c763fc5f5 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateAvailabilityGroupListener.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2022-08-01-preview", + "parameters": { + "properties": { + "availabilityGroupName": "ag-test", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test", + "probePort": 59983, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3" + ] + } + ], + "port": 1433 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Updating", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.113", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3" + ] + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Provisioning", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3" + ] + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateAvailabilityGroupListenerWithMultiSubnet.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateAvailabilityGroupListenerWithMultiSubnet.json new file mode 100644 index 000000000000..a977d5e5ff30 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateAvailabilityGroupListenerWithMultiSubnet.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2022-08-01-preview", + "parameters": { + "properties": { + "availabilityGroupName": "ag-test", + "multiSubnetIpConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.0.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sqlVirtualMachineInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + }, + { + "privateIpAddress": { + "ipAddress": "10.0.1.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/alternate" + }, + "sqlVirtualMachineInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1" + } + ], + "port": 1433 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Updating", + "multiSubnetIpConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.0.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sqlVirtualMachineInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + }, + { + "privateIpAddress": { + "ipAddress": "10.0.1.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/alternate" + }, + "sqlVirtualMachineInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1" + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Provisioning", + "multiSubnetIpConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.0.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sqlVirtualMachineInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + }, + { + "privateIpAddress": { + "ipAddress": "10.0.1.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/alternate" + }, + "sqlVirtualMachineInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1" + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json new file mode 100644 index 000000000000..6d5756a7b3d6 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full", + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "serverConfigurationsManagementSettings": { + "sqlConnectivityUpdateSettings": { + "connectivityType": "PRIVATE", + "port": 1433, + "sqlAuthUpdateUserName": "sqllogin", + "sqlAuthUpdatePassword": "" + }, + "sqlStorageUpdateSettings": { + "diskCount": 1, + "startingDeviceId": 2, + "diskConfigurationType": "NEW" + }, + "sqlWorkloadTypeUpdateSettings": { + "sqlWorkloadType": "OLTP" + }, + "additionalFeaturesServerConfigurations": { + "isRServicesEnabled": false + } + }, + "keyVaultCredentialSettings": { + "enable": false + }, + "autoPatchingSettings": { + "enable": true, + "dayOfWeek": "Sunday", + "maintenanceWindowStartingHour": 2, + "maintenanceWindowDuration": 60 + }, + "autoBackupSettings": { + "enable": true, + "retentionPeriod": 17, + "enableEncryption": true, + "password": "", + "backupScheduleType": "Manual", + "backupSystemDbs": true, + "storageAccountUrl": "https://teststorage.blob.core.windows.net/", + "storageContainerName": "testcontainer", + "storageAccessKey": "", + "fullBackupFrequency": "Weekly", + "daysOfWeek": [ + "Monday", + "Friday" + ], + "fullBackupStartTime": 6, + "fullBackupWindowHours": 11, + "logBackupFrequency": 10 + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": false, + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": true, + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..fbdc94d94b01 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "storageAccountPrimaryKey": "", + "clusterSubnetType": "MultiSubnet" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "UpdatingDomainful", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "clusterSubnetType": "MultiSubnet" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "ProvisioningDomainful", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "clusterSubnetType": "MultiSubnet" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json new file mode 100644 index 000000000000..62631ab7c80c --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full", + "leastPrivilegeMode": "Enabled", + "enableAutomaticUpgrade": true, + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "serverConfigurationsManagementSettings": { + "sqlConnectivityUpdateSettings": { + "connectivityType": "PRIVATE", + "port": 1433, + "sqlAuthUpdateUserName": "sqllogin", + "sqlAuthUpdatePassword": "" + }, + "sqlStorageUpdateSettings": { + "diskCount": 1, + "startingDeviceId": 2, + "diskConfigurationType": "NEW" + }, + "sqlWorkloadTypeUpdateSettings": { + "sqlWorkloadType": "OLTP" + }, + "additionalFeaturesServerConfigurations": { + "isRServicesEnabled": false + }, + "sqlInstanceSettings": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxDop": 8, + "minServerMemoryMB": 0, + "maxServerMemoryMB": 128, + "isOptimizeForAdHocWorkloadsEnabled": true, + "isLpimEnabled": true, + "isIfiEnabled": true + }, + "azureAdAuthenticationSettings": { + "clientId": "11111111-2222-3333-4444-555555555555" + } + }, + "keyVaultCredentialSettings": { + "enable": false + }, + "autoPatchingSettings": { + "enable": true, + "dayOfWeek": "Sunday", + "maintenanceWindowStartingHour": 2, + "maintenanceWindowDuration": 60 + }, + "autoBackupSettings": { + "enable": true, + "retentionPeriod": 17, + "enableEncryption": true, + "password": "", + "backupScheduleType": "Manual", + "backupSystemDbs": true, + "storageAccountUrl": "https://teststorage.blob.core.windows.net/", + "storageContainerName": "testcontainer", + "storageAccessKey": "", + "fullBackupFrequency": "Daily", + "fullBackupStartTime": 6, + "fullBackupWindowHours": 11, + "logBackupFrequency": 10 + }, + "assessmentSettings": { + "enable": true, + "runImmediately": true, + "schedule": { + "enable": true, + "weeklyInterval": 1, + "monthlyOccurrence": null, + "dayOfWeek": "Sunday", + "startTime": "23:17" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "leastPrivilegeMode": "Enabled", + "enableAutomaticUpgrade": true, + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": true, + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json new file mode 100644 index 000000000000..1548e257d469 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": false, + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": true, + "sqlImageSku": "Unknown" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json new file mode 100644 index 000000000000..2f853d21619b --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "storageConfigurationSettings": { + "diskConfigurationType": "EXTEND", + "sqlDataSettings": { + "luns": [ + 2 + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": false, + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": true, + "sqlImageSku": "Unknown" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json new file mode 100644 index 000000000000..abbca8d6f9b5 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "storageConfigurationSettings": { + "diskConfigurationType": "NEW", + "storageWorkloadType": "OLTP", + "sqlDataSettings": { + "defaultFilePath": "F:\\folderpath\\", + "luns": [ + 0 + ] + }, + "sqlLogSettings": { + "defaultFilePath": "G:\\folderpath\\", + "luns": [ + 1 + ] + }, + "sqlTempDbSettings": { + "defaultFilePath": "D:\\TEMP", + "dataFileSize": 256, + "dataGrowth": 512, + "logFileSize": 256, + "logGrowth": 512, + "dataFileCount": 8 + }, + "sqlSystemDbOnDataDisk": true + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "Enabled", + "enableAutomaticUpgrade": false, + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": true, + "sqlImageSku": "Unknown" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json new file mode 100644 index 000000000000..d83f5ca83082 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "wsfcDomainCredentials": { + "clusterBootstrapAccountPassword": "", + "clusterOperatorAccountPassword": "", + "sqlServiceAccountPassword": "" + }, + "wsfcStaticIp": "10.0.0.7" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Updating", + "sqlImageSku": "Enterprise", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": false, + "sqlServerLicenseType": "PAYG", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "wsfcStaticIp": "10.0.0.7" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Provisioning", + "sqlImageSku": "Unknown", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": true, + "sqlServerLicenseType": "PAYG", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "wsfcStaticIp": "10.0.0.7" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteAvailabilityGroupListener.json new file mode 100644 index 000000000000..47dd9ed2fcfb --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteAvailabilityGroupListener.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/0009fc4d-e310-4e40-8e63-c48a23e9cdc1/providers/Microsoft.SqlVirtualMachine/locations/eastus2/sqlVirtualMachineOperationResults/8d7881c8-81e3-44c3-9809-f2e7fbcdb184?api-version=2022-08-01-preview", + "Retry-After": "15" + } + }, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteSqlVirtualMachine.json new file mode 100644 index 000000000000..9fba92dc59f1 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteSqlVirtualMachine.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm1", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/0009fc4d-e310-4e40-8e63-c48a23e9cdc1/providers/Microsoft.SqlVirtualMachine/locations/eastus2/sqlVirtualMachineOperationResults/8d7881c8-81e3-44c3-9809-f2e7fbcdb184?api-version=2022-08-01-preview", + "Retry-After": "15" + } + }, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..5380d4c05d46 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/DeleteSqlVirtualMachineGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/0009fc4d-e310-4e40-8e63-c48a23e9cdc1/providers/Microsoft.SqlVirtualMachine/locations/eastus2/sqlVirtualMachineOperationResults/8d7881c8-81e3-44c3-9809-f2e7fbcdb184?api-version=2022-08-01-preview", + "Retry-After": "15" + } + }, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetAvailabilityGroupListener.json new file mode 100644 index 000000000000..8306499f0fc5 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetAvailabilityGroupListener.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "availabilityGroupName": "ag-test", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test", + "probePort": 59983, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + ] + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetSqlVirtualMachine.json new file mode 100644 index 000000000000..d60bca806dd8 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetSqlVirtualMachine.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "leastPrivilegeMode": "Enabled", + "sqlManagement": "Full", + "sqlServerLicenseType": "PAYG", + "enableAutomaticUpgrade": true + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..1eea7231b8ac --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/GetSqlVirtualMachineGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByGroupAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByGroupAvailabilityGroupListener.json new file mode 100644 index 000000000000..41b4a151860d --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByGroupAvailabilityGroupListener.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "availabilityGroupName": "ag-test", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test", + "probePort": 59983, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + ] + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json new file mode 100644 index 000000000000..89c7a1c49947 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "leastPrivilegeMode": "Enabled", + "enableAutomaticUpgrade": false, + "sqlServerLicenseType": "PAYG", + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + }, + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "leastPrivilegeMode": "NotSet", + "sqlServerLicenseType": "PAYG", + "enableAutomaticUpgrade": false, + "sqlManagement": "LightWeight" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1", + "name": "testvm1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..9897f7538122 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup1", + "name": "testvmgroup1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup2", + "name": "testvmgroup2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json new file mode 100644 index 000000000000..4c27ba702832 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvm", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2014-WS2012R2", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full", + "leastPrivilegeMode": "NotSet", + "sqlServerLicenseType": "PAYG", + "enableAutomaticUpgrade": false, + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListOperation.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListOperation.json new file mode 100644 index 000000000000..716b57036c90 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListOperation.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/read", + "display": { + "resource": "SQL virtual machine group", + "operation": "Get SQL virtual machine group details", + "description": "Retrive details of SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/write", + "display": { + "resource": "SQL virtual machine group", + "operation": "Create a new or update existing SQL virtual machine group", + "description": "Create a new or change properties of existing SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/delete", + "display": { + "resource": "SQL virtual machine group", + "operation": "Delete existing SQL virtual machine group", + "description": "Delete existing SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/read", + "display": { + "resource": "SQL availability group listener", + "operation": "Get availability group listener details", + "description": "Retrieve details of SQL availability group listener on a given SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/write", + "display": { + "resource": "SQL availability group listener", + "operation": "Create new or update existing availability group listener", + "description": "Create a new or changes properties of existing SQL availability group listener" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/delete", + "display": { + "resource": "SQL availability group listener", + "operation": "Delete existing availability group listener", + "description": "Delete existing availability group listener" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/sqlVirtualMachines/read", + "display": { + "operation": "List Sql virtual machines by a particular sql virtual virtual machine group", + "description": "List Sql virtual machines by a particular sql virtual virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/startAssessment/action", + "display": {} + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/redeploy/action", + "display": { + "operation": "Redeploy existing SQL virtual machine", + "description": "Redeploy existing SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/read", + "display": { + "operation": "Get SQL virtual machine instance details", + "description": "Retrieve details of SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/write", + "display": { + "operation": "Create new or update existing SQL virtual machine", + "description": "Create a new or change properties of existing SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/delete", + "display": { + "operation": "Delete existing SQL virtual machine", + "description": "Delete existing SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/registerSqlVmCandidate/action", + "display": { + "operation": "Register SQL Vm Candidate", + "description": "Register SQL Vm Candidate" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/availabilityGroupListenerOperationResults/read", + "display": { + "resource": "SQL availability group listener", + "operation": "Get availability group listener operation result", + "description": "Get result of an availability group listener operation" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/register/action", + "display": { + "resource": "Microsoft SQL Virtual Machine", + "operation": "Register subscription for SQL Virtual Machine", + "description": "Register subscription with Microsoft.SqlVirtualMachine resource provider" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/unregister/action", + "display": { + "resource": "Microsoft SQL Virtual Machine", + "operation": "Unregister subscription for SQL Virtual Machine", + "description": "Unregister subscription with Microsoft.SqlVirtualMachine resource provider" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/operations/read", + "display": { + "resource": "Available REST operations" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/sqlVirtualMachineGroupOperationResults/read", + "display": { + "resource": "SQL virtual machine group", + "operation": "Get SQL virtual machine group operation result", + "description": "Get result of a SQL virtual machine group operation" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/sqlVirtualMachineOperationResults/read", + "display": { + "resource": "SQL virtual machine", + "operation": "Get SQL virtual machine operation result", + "description": "Get result of SQL virtual machine operation" + } + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListSubscriptionSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListSubscriptionSqlVirtualMachine.json new file mode 100644 index 000000000000..f47e87d42028 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListSubscriptionSqlVirtualMachine.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "AHUB", + "sqlManagement": "Full", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": false + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + }, + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG", + "sqlManagement": "Full", + "leastPrivilegeMode": "Enabled", + "enableAutomaticUpgrade": false + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1", + "name": "testvm1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + }, + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG", + "sqlManagement": "LightWeight", + "leastPrivilegeMode": "NotSet", + "enableAutomaticUpgrade": false + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..e2a7ee86bd0f --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "clusterSubnetType": "MultiSubnet" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "clusterSubnetType": "MultiSubnet" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/", + "name": "testvmgroup1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "clusterSubnetType": "MultiSubnet" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg2/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/", + "name": "testvmgroup2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/RedeploySqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/RedeploySqlVirtualMachine.json new file mode 100644 index 000000000000..84e46c9d2817 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/RedeploySqlVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/0009fc4d-e310-4e40-8e63-c48a23e9cdc1/providers/Microsoft.SqlVirtualMachine/locations/eastus2/sqlVirtualMachineOperationResults/8d7881c8-81e3-44c3-9809-f2e7fbcdb184?api-version=2022-08-01-preview", + "Retry-After": "15" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json new file mode 100644 index 000000000000..84e46c9d2817 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/0009fc4d-e310-4e40-8e63-c48a23e9cdc1/providers/Microsoft.SqlVirtualMachine/locations/eastus2/sqlVirtualMachineOperationResults/8d7881c8-81e3-44c3-9809-f2e7fbcdb184?api-version=2022-08-01-preview", + "Retry-After": "15" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/TroubleshootSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/TroubleshootSqlVirtualMachine.json new file mode 100644 index 000000000000..105cc3a175b4 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/TroubleshootSqlVirtualMachine.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "startTimeUtc": "2022-07-09T17:10:00Z", + "endTimeUtc": "2022-07-09T22:10:00Z", + "troubleshootingScenario": "UnhealthyReplica", + "properties": { + "unhealthyReplicaInfo": { + "availabilityGroupName": "AG1" + } + } + } + }, + "responses": { + "200": { + "body": { + "startTimeUtc": "2022-07-09T17:10:00Z", + "endTimeUtc": "2022-07-09T22:10:00Z", + "troubleshootingScenario": "UnhealthyReplica", + "properties": { + "unhealthyReplicaInfo": { + "availabilityGroupName": "AG1" + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status", + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.SqlVirtualMachine/locations/eastus2/sqlVirtualMachineOperationResults/f0405ceb-e867-4f00-8085-738f2c5d76fd?api-version=2022-08-01-preview" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/UpdateSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/UpdateSqlVirtualMachine.json new file mode 100644 index 000000000000..7384b24f990d --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/UpdateSqlVirtualMachine.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2022-08-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "leastPrivilegeMode": "NotSet", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full", + "enableAutomaticUpgrade": false + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/UpdateSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/UpdateSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..7a3f0ce7fc73 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/examples/UpdateSqlVirtualMachineGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2022-08-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "UpdatingDomainful", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/sqlvm.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/sqlvm.json new file mode 100644 index 000000000000..8d1cec8a33d9 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2022-08-01-preview/sqlvm.json @@ -0,0 +1,2651 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-08-01-preview", + "title": "SqlVirtualMachineManagementClient", + "description": "The SQL virtual machine management API provides a RESTful set of web APIs that interact with Azure Compute, Network & Storage services to manage your SQL Server virtual machine. The API enables users to create, delete and retrieve a SQL virtual machine, SQL virtual machine group or availability group listener." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners/{availabilityGroupListenerName}": { + "get": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Gets an availability group listener.", + "operationId": "AvailabilityGroupListeners_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "availabilityGroupListenerName", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 ListenerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in listener config.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets an availability group listener.": { + "$ref": "./examples/GetAvailabilityGroupListener.json" + } + } + }, + "put": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Creates or updates an availability group listener.", + "operationId": "AvailabilityGroupListeners_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "availabilityGroupListenerName", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The availability group listener.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 ListenerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in listener config.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "201": { + "description": "Successfully created the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Creates or updates an availability group listener using load balancer. This is used for VMs present in single subnet.": { + "$ref": "./examples/CreateOrUpdateAvailabilityGroupListener.json" + }, + "Creates or updates an availability group listener. This is used for VMs present in multi subnet": { + "$ref": "./examples/CreateOrUpdateAvailabilityGroupListenerWithMultiSubnet.json" + } + } + }, + "delete": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Deletes an availability group listener.", + "operationId": "AvailabilityGroupListeners_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "availabilityGroupListenerName", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the availability group listener." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 ListenerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in listener config.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Deleting the availability group listener.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The availability group listener does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes an availability group listener.": { + "$ref": "./examples/DeleteAvailabilityGroupListener.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners": { + "get": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Lists all availability group listeners in a SQL virtual machine group.", + "operationId": "AvailabilityGroupListeners_ListByGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all availability group listeners in a SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListenerListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 ListenerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in listener config.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all availability group listeners in a SQL virtual machine group.": { + "$ref": "./examples/ListByGroupAvailabilityGroupListener.json" + } + } + } + }, + "/providers/Microsoft.SqlVirtualMachine/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available SQL Virtual Machine Rest API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all of the available SQL Virtual Machine Rest API operations.": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}": { + "get": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Gets a SQL virtual machine group.", + "operationId": "SqlVirtualMachineGroups_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a SQL virtual machine group.": { + "$ref": "./examples/GetSqlVirtualMachineGroup.json" + } + } + }, + "put": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Creates or updates a SQL virtual machine group.", + "operationId": "SqlVirtualMachineGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine group.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "201": { + "description": "Successfully created the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Creates or updates a SQL virtual machine group.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineGroup.json" + } + } + }, + "delete": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Deletes a SQL virtual machine group.", + "operationId": "SqlVirtualMachineGroups_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL virtual machine group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 ListenerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in listener config.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 NoIpAvailable - No available IP.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Deleting the SQL virtual machine group.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The specified SQL virtual machine group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes a SQL virtual machine group.": { + "$ref": "./examples/DeleteSqlVirtualMachineGroup.json" + } + } + }, + "patch": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Updates SQL virtual machine group tags.", + "operationId": "SqlVirtualMachineGroups_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine group.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroupUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Updates a SQL virtual machine group tags.": { + "$ref": "./examples/UpdateSqlVirtualMachineGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups": { + "get": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Gets all SQL virtual machine groups in a resource group.", + "operationId": "SqlVirtualMachineGroups_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machine groups in the resource group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machine groups in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlVirtualMachineGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups": { + "get": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Gets all SQL virtual machine groups in a subscription.", + "operationId": "SqlVirtualMachineGroups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machine groups in the subscription.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machine groups in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlVirtualMachineGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/sqlVirtualMachines": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets the list of sql virtual machines in a SQL virtual machine group.", + "operationId": "SqlVirtualMachines_ListBySqlVmGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sql virtual machines in a SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of sql virtual machines in a SQL virtual machine group.": { + "$ref": "./examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets all SQL virtual machines in a subscription.", + "operationId": "SqlVirtualMachines_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machines in the subscription.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machines in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets a SQL virtual machine.", + "operationId": "SqlVirtualMachines_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a SQL virtual machine.": { + "$ref": "./examples/GetSqlVirtualMachine.json" + } + } + }, + "put": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Creates or updates a SQL virtual machine.", + "operationId": "SqlVirtualMachines_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 409 Ext_VMExtensionProvisioningError - There was an error while installing SqlIaasExtension on the virtual machine.\n\n * 409 Ext_ComputeError - Compute returned error on current operation.\n\n * 409 Ext_VMAgentStatusCommunicationError - SQLIaaSExtension installation failed because azure guest agent service is not running or it is not able to establish outbound connection to storage account.\n\n * 409 Ext_CancelError - The operation was canceled\n\n * 409 Ext_VMExtensionHandlerNonTransientError - SQLIaaSExtension installation failed due to an internal error. Please retry the installation.\n\n * 409 Ext_VMExtensionProvisioningTimeout - SQL VM resource provisioning operation timed out.\n\n * 409 Ext_OperationPreempted - SQL VM operation has been preempted by a more recent operation like ResourceGroup drop, Resource move, VM drop or VM shutdown or VM redeploy.\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "201": { + "description": "Successfully created the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Creates or updates a SQL virtual machine with min parameters.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineMIN.json" + }, + "Creates or updates a SQL virtual machine with max parameters.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineMAX.json" + }, + "Creates or updates a SQL virtual machine and joins it to a SQL virtual machine group.": { + "$ref": "./examples/CreateOrUpdateVirtualMachineWithVMGroup.json" + }, + "Creates or updates a SQL virtual machine for Storage Configuration Settings to NEW Data, Log and TempDB storage pool.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json" + }, + "Creates or updates a SQL virtual machine for Storage Configuration Settings to EXTEND Data, Log or TempDB storage pool.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json" + }, + "Creates or updates a SQL virtual machine for Automated Back up Settings with Weekly and Days of the week to run the back up.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json" + } + } + }, + "delete": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Deletes a SQL virtual machine.", + "operationId": "SqlVirtualMachines_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL virtual machine." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Deleting the SQL virtual machine.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The specified SQL virtual machine does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes a SQL virtual machine.": { + "$ref": "./examples/DeleteSqlVirtualMachine.json" + } + } + }, + "patch": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Updates a SQL virtual machine.", + "operationId": "SqlVirtualMachines_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachineUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Updates a SQL virtual machine tags.": { + "$ref": "./examples/UpdateSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets all SQL virtual machines in a resource group.", + "operationId": "SqlVirtualMachines_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machines in the resource group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machines in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment": { + "post": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Starts SQL best practices Assessment on SQL virtual machine.", + "operationId": "SqlVirtualMachines_StartAssessment", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started SQL best practices Assessment on the SQL virtual machine." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Accepted request to start SQL best practices Assessment on SQL virtual machine.", + "headers": { + "Location": { + "type": "string" + } + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Starts SQL best practices Assessment on SQL virtual machine": { + "$ref": "./examples/StartAssessmentOnSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/redeploy": { + "post": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Uninstalls and reinstalls the SQL IaaS Extension.", + "operationId": "SqlVirtualMachines_Redeploy", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully redeployed the SQL virtual machine." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Accepted redeploying the SQL virtual machine.", + "headers": { + "Location": { + "type": "string" + } + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Uninstalls and reinstalls the SQL IaaS Extension.": { + "$ref": "./examples/RedeploySqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/troubleshoot": { + "post": { + "tags": [ + "SqlVirtualMachineTroubleshoot" + ], + "description": "Starts SQL virtual machine troubleshooting.", + "operationId": "SqlVirtualMachineTroubleshoot_Troubleshoot", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlVirtualMachineNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine troubleshooting entity.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVmTroubleshooting" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started SQL virtual machine troubleshooting.", + "schema": { + "$ref": "#/definitions/SqlVmTroubleshooting" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidStartEndTime - Invalid time window. Start time cannot be greater than end time\n\n * 400 InvalidTroubleshootingScenario - Invalid troubleshooting scenario provided.\n\n * 400 InvalidTimeSpecified - Invalid time specified\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingCollationNotAllowedToUpdate - SQL Server collation is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 ClusterIpShouldBeEmpty - Argument wsfcStaticIp should be empty for single subnet listener\n\n * 400 InvalidClusterIpAddress - Invalid cluster ip address provided.\n\n * 400 SqlServerSettingLPIMNotAllowedToUpdate - SQL Server Lock Pages In Memory is not allowed to be updated in manageability.\n\n * 400 SqlServerSettingIFINotAllowedToUpdate - SQL Server IFI is not allowed to be updated in manageability.\n\n * 400 LeastPrivilegeModeEnableNotSupported - Least Privilege mode is not supported on LightWeight or NoAgent extension mode.\n\n * 400 LeastPrivilegeModeChangeNotSupported - Cannot disable Least Privilege mode once enabled. \n\n * 400 VmOSUnsupportedForAzureAD - OS is unsupported for Azure AD authentication.\n\n * 400 SqlVersionUnsupportedForAzureAD - SQL version is unsupported for Azure AD authentication.\n\n * 400 EnableAzureADInProvisionUnsupported - Enable Azure AD authentication in provision is unsupported.\n\n * 400 MSIClientIdRequired - MSI client Id is required for Azure AD authentication.\n\n * 400 AzureADAuthenticationNotAllowed - Configuring Azure AD authentication is currently not allowed.\n\n * 400 CannotFindExtensionVersion - Cannot determine SQL IaaS Extension version.\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidSQLAuthPasswordLength - SQL auth password should not be greater than 128 characters\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 429 TooManyRequestsReceived - Request throttled due to too many requests.\n\n * 429 ArgumentMissingForSetup - Argument is missing for setup. Please provide a value for the argument.\n\n * 429 MultisubnetOperationNotAllowed - Multi subnet HA setup operation is not allowed.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Accepted request to start SQL virtual machine troubleshooting.", + "headers": { + "Location": { + "type": "string" + } + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Start SQL virtual machine troubleshooting operation": { + "$ref": "./examples/TroubleshootSqlVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "AvailabilityGroupListenerProperties": { + "description": "The properties of an availability group listener.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "availabilityGroupName": { + "description": "Name of the availability group.", + "type": "string" + }, + "loadBalancerConfigurations": { + "description": "List of load balancer configurations for an availability group listener.", + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerConfiguration" + }, + "x-ms-identifiers": [] + }, + "multiSubnetIpConfigurations": { + "description": "List of multi subnet IP configurations for an AG listener.", + "type": "array", + "items": { + "$ref": "#/definitions/MultiSubnetIpConfiguration" + }, + "x-ms-identifiers": [] + }, + "createDefaultAvailabilityGroupIfNotExist": { + "description": "Create a default availability group if it does not exist.", + "type": "boolean" + }, + "port": { + "format": "int32", + "description": "Listener port.", + "type": "integer" + }, + "availabilityGroupConfiguration": { + "$ref": "#/definitions/AgConfiguration", + "description": "Availability Group configuration." + } + } + }, + "LoadBalancerConfiguration": { + "description": "A load balancer configuration for an availability group listener.", + "type": "object", + "properties": { + "privateIpAddress": { + "$ref": "#/definitions/PrivateIPAddress", + "description": "Private IP address." + }, + "publicIpAddressResourceId": { + "description": "Resource id of the public IP.", + "type": "string" + }, + "loadBalancerResourceId": { + "description": "Resource id of the load balancer.", + "type": "string" + }, + "probePort": { + "format": "int32", + "description": "Probe port.", + "type": "integer" + }, + "sqlVirtualMachineInstances": { + "description": "List of the SQL virtual machine instance resource id's that are enrolled into the availability group listener.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "MultiSubnetIpConfiguration": { + "description": "Multi subnet ip configuration for an availability group listener.", + "required": [ + "privateIpAddress", + "sqlVirtualMachineInstance" + ], + "type": "object", + "properties": { + "privateIpAddress": { + "$ref": "#/definitions/PrivateIPAddress", + "description": "Private IP address." + }, + "sqlVirtualMachineInstance": { + "description": "SQL virtual machine instance resource id that are enrolled into the availability group listener.", + "type": "string" + } + } + }, + "AgConfiguration": { + "description": "Availability group configuration.", + "type": "object", + "properties": { + "replicas": { + "description": "Replica configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/AgReplica" + }, + "x-ms-identifiers": [] + } + } + }, + "Resource": { + "description": "ARM resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateIPAddress": { + "description": "A private IP address bound to the availability group listener.", + "type": "object", + "properties": { + "ipAddress": { + "description": "Private IP address bound to the availability group listener.", + "type": "string" + }, + "subnetResourceId": { + "description": "Subnet used to include private IP.", + "type": "string" + } + } + }, + "AgReplica": { + "description": "Availability group replica configuration.", + "type": "object", + "properties": { + "sqlVirtualMachineInstanceId": { + "description": "Sql VirtualMachine Instance Id.", + "type": "string" + }, + "role": { + "description": "Replica Role in availability group.", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "type": "string", + "x-ms-enum": { + "name": "Role", + "modelAsString": true + } + }, + "commit": { + "description": "Replica commit mode in availability group.", + "enum": [ + "SYNCHRONOUS_COMMIT", + "ASYNCHRONOUS_COMMIT" + ], + "type": "string", + "x-ms-enum": { + "name": "Commit", + "modelAsString": true + } + }, + "failover": { + "description": "Replica failover mode in availability group.", + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "type": "string", + "x-ms-enum": { + "name": "Failover", + "modelAsString": true + } + }, + "readableSecondary": { + "description": "Replica readable secondary mode in availability group.", + "enum": [ + "NO", + "ALL", + "READ_ONLY" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadableSecondary", + "modelAsString": true + } + } + } + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "AvailabilityGroupListener": { + "description": "A SQL Server availability group listener.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AvailabilityGroupListenerProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "AvailabilityGroupListenerListResult": { + "description": "A list of availability group listeners.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/AvailabilityGroupListener" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Result of the request to list SQL operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "SQL REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action.", + "readOnly": true + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + }, + "SqlVirtualMachineGroupProperties": { + "description": "The properties of a SQL virtual machine group.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "sqlImageOffer": { + "description": "SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sqlImageSku": { + "description": "SQL image sku.", + "enum": [ + "Developer", + "Enterprise" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlVmGroupImageSku", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "scaleType": { + "description": "Scale type.", + "enum": [ + "HA" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true + } + }, + "clusterManagerType": { + "description": "Type of cluster manager: Windows Server Failover Cluster (WSFC), implied by the scale type of the group and the OS type.", + "enum": [ + "WSFC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ClusterManagerType", + "modelAsString": true + } + }, + "clusterConfiguration": { + "description": "Cluster type.", + "enum": [ + "Domainful" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ClusterConfiguration", + "modelAsString": true + } + }, + "wsfcDomainProfile": { + "$ref": "#/definitions/WsfcDomainProfile", + "description": "Cluster Active Directory domain profile.", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "WsfcDomainProfile": { + "description": "Active Directory account details to operate Windows Server Failover Cluster.", + "type": "object", + "properties": { + "domainFqdn": { + "description": "Fully qualified name of the domain.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ouPath": { + "description": "Organizational Unit path in which the nodes and cluster will be present.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterBootstrapAccount": { + "description": "Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain).", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterOperatorAccount": { + "description": "Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "sqlServiceAccount": { + "description": "Account name under which SQL service will run on all participating SQL virtual machines in the cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "fileShareWitnessPath": { + "description": "Optional path for fileshare witness.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "storageAccountUrl": { + "description": "Fully qualified ARM resource id of the witness storage account.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "storageAccountPrimaryKey": { + "description": "Primary key of the witness storage account.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "clusterSubnetType": { + "description": "Cluster subnet type.", + "enum": [ + "SingleSubnet", + "MultiSubnet" + ], + "type": "string", + "x-ms-enum": { + "name": "ClusterSubnetType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "TrackedResource": { + "description": "ARM tracked top level resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlVirtualMachineGroup": { + "description": "A SQL virtual machine group.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlVirtualMachineGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "SqlVirtualMachineGroupUpdate": { + "description": "An update to a SQL virtual machine group.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlVirtualMachineGroupListResult": { + "description": "A list of SQL virtual machine groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SqlVirtualMachineListResult": { + "description": "A list of SQL virtual machines.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlVirtualMachine" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.", + "enum": [ + "None", + "SystemAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "tenantId": { + "format": "uuid", + "description": "The Azure Active Directory tenant id.", + "type": "string", + "readOnly": true + } + } + }, + "SqlVirtualMachineProperties": { + "description": "The SQL virtual machine properties.", + "type": "object", + "properties": { + "virtualMachineResourceId": { + "description": "ARM Resource id of underlying virtual machine created from SQL marketplace image.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "sqlImageOffer": { + "description": "SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sqlServerLicenseType": { + "description": "SQL Server license type.", + "enum": [ + "PAYG", + "AHUB", + "DR" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "sqlManagement": { + "description": "SQL Server Management type.", + "enum": [ + "Full", + "LightWeight", + "NoAgent" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlManagementMode", + "modelAsString": true + } + }, + "leastPrivilegeMode": { + "description": "SQL IaaS Agent least privilege mode.", + "default": "NotSet", + "enum": [ + "Enabled", + "NotSet" + ], + "type": "string", + "x-ms-enum": { + "name": "LeastPrivilegeMode", + "modelAsString": true + } + }, + "sqlImageSku": { + "description": "SQL Server edition type.", + "enum": [ + "Developer", + "Express", + "Standard", + "Enterprise", + "Web" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlImageSku", + "modelAsString": true + } + }, + "sqlVirtualMachineGroupResourceId": { + "description": "ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "wsfcDomainCredentials": { + "$ref": "#/definitions/WsfcDomainCredentials", + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group." + }, + "wsfcStaticIp": { + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.", + "type": "string" + }, + "autoPatchingSettings": { + "$ref": "#/definitions/AutoPatchingSettings", + "description": "Auto patching settings for applying critical security updates to SQL virtual machine." + }, + "autoBackupSettings": { + "$ref": "#/definitions/AutoBackupSettings", + "description": "Auto backup settings for SQL Server." + }, + "keyVaultCredentialSettings": { + "$ref": "#/definitions/KeyVaultCredentialSettings", + "description": "Key vault credential settings." + }, + "serverConfigurationsManagementSettings": { + "$ref": "#/definitions/ServerConfigurationsManagementSettings", + "description": "SQL Server configuration management settings." + }, + "storageConfigurationSettings": { + "$ref": "#/definitions/StorageConfigurationSettings", + "description": "Storage Configuration Settings." + }, + "troubleshootingStatus": { + "$ref": "#/definitions/TroubleshootingStatus", + "description": "Troubleshooting status", + "readOnly": true + }, + "assessmentSettings": { + "$ref": "#/definitions/AssessmentSettings", + "description": "SQL best practices Assessment Settings." + }, + "enableAutomaticUpgrade": { + "description": "Enable automatic upgrade of Sql IaaS extension Agent.", + "default": false, + "type": "boolean" + } + } + }, + "WsfcDomainCredentials": { + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.", + "type": "object", + "properties": { + "clusterBootstrapAccountPassword": { + "description": "Cluster bootstrap account password.", + "type": "string" + }, + "clusterOperatorAccountPassword": { + "description": "Cluster operator account password.", + "type": "string" + }, + "sqlServiceAccountPassword": { + "description": "SQL service account password.", + "type": "string" + } + } + }, + "AutoPatchingSettings": { + "description": "Set a patching window during which Windows and SQL patches will be applied.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable autopatching on SQL virtual machine.", + "type": "boolean" + }, + "dayOfWeek": { + "description": "Day of week to apply the patch on.", + "enum": [ + "Everyday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + }, + "maintenanceWindowStartingHour": { + "format": "int32", + "description": "Hour of the day when patching is initiated. Local VM time.", + "type": "integer" + }, + "maintenanceWindowDuration": { + "format": "int32", + "description": "Duration of patching.", + "type": "integer" + } + } + }, + "AutoBackupSettings": { + "description": "Configure backups for databases in your SQL virtual machine.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable autobackup on SQL virtual machine.", + "type": "boolean" + }, + "enableEncryption": { + "description": "Enable or disable encryption for backup on SQL virtual machine.", + "type": "boolean" + }, + "retentionPeriod": { + "format": "int32", + "description": "Retention period of backup: 1-90 days.", + "type": "integer" + }, + "storageAccountUrl": { + "description": "Storage account url where backup will be taken to.", + "type": "string" + }, + "storageContainerName": { + "description": "Storage container name where backup will be taken to.", + "type": "string" + }, + "storageAccessKey": { + "description": "Storage account key where backup will be taken to.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "password": { + "description": "Password for encryption on backup.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "backupSystemDbs": { + "description": "Include or exclude system databases from auto backup.", + "type": "boolean" + }, + "backupScheduleType": { + "description": "Backup schedule type.", + "enum": [ + "Manual", + "Automated" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupScheduleType", + "modelAsString": true + } + }, + "fullBackupFrequency": { + "description": "Frequency of full backups. In both cases, full backups begin during the next scheduled time window.", + "enum": [ + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "FullBackupFrequencyType", + "modelAsString": true + } + }, + "daysOfWeek": { + "description": "Days of the week for the backups when FullBackupFrequency is set to Weekly.", + "type": "array", + "items": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoBackupDaysOfWeek", + "modelAsString": true + } + } + }, + "fullBackupStartTime": { + "format": "int32", + "description": "Start time of a given day during which full backups can take place. 0-23 hours.", + "type": "integer" + }, + "fullBackupWindowHours": { + "format": "int32", + "description": "Duration of the time window of a given day during which full backups can take place. 1-23 hours.", + "type": "integer" + }, + "logBackupFrequency": { + "format": "int32", + "description": "Frequency of log backups. 5-60 minutes.", + "type": "integer" + } + } + }, + "KeyVaultCredentialSettings": { + "description": "Configure your SQL virtual machine to be able to connect to the Azure Key Vault service.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable key vault credential setting.", + "type": "boolean" + }, + "credentialName": { + "description": "Credential name.", + "type": "string" + }, + "azureKeyVaultUrl": { + "description": "Azure Key Vault url.", + "type": "string" + }, + "servicePrincipalName": { + "description": "Service principal name to access key vault.", + "type": "string" + }, + "servicePrincipalSecret": { + "description": "Service principal name secret to access key vault.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "ServerConfigurationsManagementSettings": { + "description": "Set the connectivity, storage and workload settings.", + "type": "object", + "properties": { + "sqlConnectivityUpdateSettings": { + "$ref": "#/definitions/SqlConnectivityUpdateSettings", + "description": "SQL connectivity type settings." + }, + "sqlWorkloadTypeUpdateSettings": { + "$ref": "#/definitions/SqlWorkloadTypeUpdateSettings", + "description": "SQL workload type settings." + }, + "sqlStorageUpdateSettings": { + "$ref": "#/definitions/SqlStorageUpdateSettings", + "description": "SQL storage update settings." + }, + "additionalFeaturesServerConfigurations": { + "$ref": "#/definitions/AdditionalFeaturesServerConfigurations", + "description": "Additional SQL feature settings." + }, + "sqlInstanceSettings": { + "$ref": "#/definitions/SQLInstanceSettings", + "description": "SQL Instance settings." + }, + "azureAdAuthenticationSettings": { + "$ref": "#/definitions/AADAuthenticationSettings", + "description": "Azure AD authentication Settings." + } + } + }, + "StorageConfigurationSettings": { + "description": "Storage Configurations for SQL Data, Log and TempDb.", + "type": "object", + "properties": { + "sqlDataSettings": { + "$ref": "#/definitions/SQLStorageSettings", + "description": "SQL Server Data Storage Settings." + }, + "sqlLogSettings": { + "$ref": "#/definitions/SQLStorageSettings", + "description": "SQL Server Log Storage Settings." + }, + "sqlTempDbSettings": { + "$ref": "#/definitions/SQLTempDbSettings", + "description": "SQL Server TempDb Storage Settings." + }, + "sqlSystemDbOnDataDisk": { + "description": "SQL Server SystemDb Storage on DataPool if true.", + "type": "boolean" + }, + "diskConfigurationType": { + "description": "Disk configuration to apply to SQL Server.", + "enum": [ + "NEW", + "EXTEND", + "ADD" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskConfigurationType", + "modelAsString": true + } + }, + "storageWorkloadType": { + "description": "Storage workload type.", + "enum": [ + "GENERAL", + "OLTP", + "DW" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageWorkloadType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "TroubleshootingStatus": { + "description": "Status of last troubleshooting operation on this SQL VM", + "type": "object", + "properties": { + "rootCause": { + "description": "Root cause of the issue", + "type": "string", + "readOnly": true + }, + "lastTriggerTimeUtc": { + "format": "date-time", + "description": "Last troubleshooting trigger time in UTC timezone", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "format": "date-time", + "description": "Start time in UTC timezone.", + "type": "string", + "readOnly": true + }, + "endTimeUtc": { + "format": "date-time", + "description": "End time in UTC timezone.", + "type": "string", + "readOnly": true + }, + "troubleshootingScenario": { + "description": "SQL VM troubleshooting scenario.", + "default": "UnhealthyReplica", + "enum": [ + "UnhealthyReplica" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TroubleshootingScenario", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/TroubleshootingAdditionalProperties", + "description": "Troubleshooting properties", + "readOnly": true + } + } + }, + "AssessmentSettings": { + "description": "Configure SQL best practices Assessment for databases in your SQL virtual machine.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable SQL best practices Assessment feature on SQL virtual machine.", + "type": "boolean" + }, + "runImmediately": { + "description": "Run SQL best practices Assessment immediately on SQL virtual machine.", + "type": "boolean" + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Schedule for SQL best practices Assessment." + } + } + }, + "SqlConnectivityUpdateSettings": { + "description": "Set the access level and network port settings for SQL Server.", + "type": "object", + "properties": { + "connectivityType": { + "description": "SQL Server connectivity option.", + "enum": [ + "LOCAL", + "PRIVATE", + "PUBLIC" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectivityType", + "modelAsString": true + } + }, + "port": { + "format": "int32", + "description": "SQL Server port.", + "type": "integer" + }, + "sqlAuthUpdateUserName": { + "description": "SQL Server sysadmin login to create.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlAuthUpdatePassword": { + "description": "SQL Server sysadmin login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "SqlWorkloadTypeUpdateSettings": { + "description": "Set workload type to optimize storage for SQL Server.", + "type": "object", + "properties": { + "sqlWorkloadType": { + "description": "SQL Server workload type.", + "enum": [ + "GENERAL", + "OLTP", + "DW" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlWorkloadType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "SqlStorageUpdateSettings": { + "description": "Set disk storage settings for SQL Server.", + "type": "object", + "properties": { + "diskCount": { + "format": "int32", + "description": "Virtual machine disk count.", + "type": "integer" + }, + "startingDeviceId": { + "format": "int32", + "description": "Device id of the first disk to be updated.", + "type": "integer" + }, + "diskConfigurationType": { + "description": "Disk configuration to apply to SQL Server.", + "enum": [ + "NEW", + "EXTEND", + "ADD" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskConfigurationType", + "modelAsString": true + } + } + } + }, + "AdditionalFeaturesServerConfigurations": { + "description": "Additional SQL Server feature settings.", + "type": "object", + "properties": { + "isRServicesEnabled": { + "description": "Enable or disable R services (SQL 2016 onwards).", + "type": "boolean" + } + } + }, + "SQLInstanceSettings": { + "description": "Set the server/instance-level settings for SQL Server.", + "type": "object", + "properties": { + "collation": { + "description": "SQL Server Collation.", + "type": "string" + }, + "maxDop": { + "format": "int32", + "description": "SQL Server MAXDOP.", + "type": "integer" + }, + "isOptimizeForAdHocWorkloadsEnabled": { + "description": "SQL Server Optimize for Adhoc workloads.", + "type": "boolean" + }, + "minServerMemoryMB": { + "format": "int32", + "description": "SQL Server minimum memory.", + "type": "integer" + }, + "maxServerMemoryMB": { + "format": "int32", + "description": "SQL Server maximum memory.", + "type": "integer" + }, + "isLpimEnabled": { + "description": "SQL Server LPIM.", + "type": "boolean" + }, + "isIfiEnabled": { + "description": "SQL Server IFI.", + "type": "boolean" + } + } + }, + "AADAuthenticationSettings": { + "description": "Enable AAD authentication for SQL VM.", + "type": "object", + "properties": { + "clientId": { + "description": "The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity", + "type": "string" + } + } + }, + "SQLStorageSettings": { + "description": "Set disk storage settings for SQL Server.", + "type": "object", + "properties": { + "luns": { + "description": "Logical Unit Numbers for the disks.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "defaultFilePath": { + "description": "SQL Server default file path", + "type": "string" + } + } + }, + "SQLTempDbSettings": { + "description": "Set tempDb storage settings for SQL Server.", + "type": "object", + "properties": { + "dataFileSize": { + "format": "int32", + "description": "SQL Server tempdb data file size", + "type": "integer" + }, + "dataGrowth": { + "format": "int32", + "description": "SQL Server tempdb data file autoGrowth size", + "type": "integer" + }, + "logFileSize": { + "format": "int32", + "description": "SQL Server tempdb log file size", + "type": "integer" + }, + "logGrowth": { + "format": "int32", + "description": "SQL Server tempdb log file autoGrowth size", + "type": "integer" + }, + "dataFileCount": { + "format": "int32", + "description": "SQL Server tempdb data file count", + "type": "integer" + }, + "persistFolder": { + "description": "SQL Server tempdb persist folder choice", + "type": "boolean" + }, + "persistFolderPath": { + "description": "SQL Server tempdb persist folder location", + "type": "string" + }, + "luns": { + "description": "Logical Unit Numbers for the disks.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "defaultFilePath": { + "description": "SQL Server default file path", + "type": "string" + } + } + }, + "TroubleshootingAdditionalProperties": { + "description": "SQL VM Troubleshooting additional properties.", + "type": "object", + "properties": { + "unhealthyReplicaInfo": { + "$ref": "#/definitions/UnhealthyReplicaInfo", + "description": "The unhealthy replica information" + } + } + }, + "Schedule": { + "description": "Set assessment schedule for SQL Server.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable assessment schedule on SQL virtual machine.", + "type": "boolean" + }, + "weeklyInterval": { + "format": "int32", + "description": "Number of weeks to schedule between 2 assessment runs. Takes value from 1-6", + "type": "integer" + }, + "monthlyOccurrence": { + "format": "int32", + "description": "Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month", + "type": "integer" + }, + "dayOfWeek": { + "description": "Day of the week to run assessment.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "AssessmentDayOfWeek", + "modelAsString": false + } + }, + "startTime": { + "description": "Time of the day in HH:mm format. Eg. 17:30", + "type": "string" + } + } + }, + "UnhealthyReplicaInfo": { + "description": "SQL VM Troubleshoot UnhealthyReplica scenario information.", + "type": "object", + "properties": { + "availabilityGroupName": { + "description": "The name of the availability group", + "type": "string" + } + } + }, + "SqlVirtualMachine": { + "description": "A SQL virtual machine.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Azure Active Directory identity of the server.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "$ref": "#/definitions/SqlVirtualMachineProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "SqlVirtualMachineUpdate": { + "description": "An update to a SQL virtual machine.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlVmTroubleshooting": { + "description": "Details required for SQL VM troubleshooting", + "type": "object", + "properties": { + "startTimeUtc": { + "format": "date-time", + "description": "Start time in UTC timezone.", + "type": "string" + }, + "endTimeUtc": { + "format": "date-time", + "description": "End time in UTC timezone.", + "type": "string" + }, + "troubleshootingScenario": { + "description": "SQL VM troubleshooting scenario.", + "default": "UnhealthyReplica", + "enum": [ + "UnhealthyReplica" + ], + "type": "string", + "x-ms-enum": { + "name": "TroubleshootingScenario", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/TroubleshootingAdditionalProperties", + "description": "Troubleshooting properties" + }, + "virtualMachineResourceId": { + "description": "Virtual machine resource id for response.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineNameParameter": { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 1, + "pattern": "^((?!_)[^\\\\/\"'\\[\\]:|<>+=;,?*@&]{1,64}(?