diff --git a/custom-words.txt b/custom-words.txt index cb75e5905770..1d03d8ff09fb 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -1180,6 +1180,7 @@ marketplacecatalog marketplaceordering maxclients maxcoordinates +MAXDOP MAXERRORS maxfragmentationmemory maximumblobsize diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateAvailabilityGroupListener.json new file mode 100644 index 000000000000..6fd06a0844ac --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-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": "2021-11-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/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json new file mode 100644 index 000000000000..3941a7d799c7 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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", + "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", + "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/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..059113c4a573 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-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": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "UpdatingDomainful", + "sqlImageOffer": "SQL2016-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/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "ProvisioningDomainful", + "sqlImageOffer": "SQL2016-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/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json new file mode 100644 index 000000000000..345aac7c665f --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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 + }, + "sqlInstanceSettings": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxDop": 8, + "isOptimizeForAdHocWorkloadsEnabled": true, + "minServerMemoryMB": 0, + "maxServerMemoryMB": 128 + } + }, + "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", + "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", + "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/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json new file mode 100644 index 000000000000..2abd09e8d26d --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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", + "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", + "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/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json new file mode 100644 index 000000000000..b4d1a734fdc9 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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", + "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", + "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/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json new file mode 100644 index 000000000000..f59ce61c8288 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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", + "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", + "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/2021-11-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json new file mode 100644 index 000000000000..90127b27c750 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Updating", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG", + "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" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Provisioning", + "sqlImageSku": "Unknown", + "sqlServerLicenseType": "PAYG", + "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/2021-11-01-preview/examples/DeleteAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteAvailabilityGroupListener.json new file mode 100644 index 000000000000..9e42f6380e49 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteAvailabilityGroupListener.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachine.json new file mode 100644 index 000000000000..e8b68c4a6a4d --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachine.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..e692c47e0fdb --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachineGroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetAvailabilityGroupListener.json new file mode 100644 index 000000000000..96c9bab71ee0 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-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": "2021-11-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/2021-11-01-preview/examples/GetSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachine.json new file mode 100644 index 000000000000..46ab88954ba7 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachine.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "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/2021-11-01-preview/examples/GetSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..99bd91119b0e --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachineGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-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/2021-11-01-preview/examples/ListByGroupAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByGroupAvailabilityGroupListener.json new file mode 100644 index 000000000000..e95327d6bde3 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByGroupAvailabilityGroupListener.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-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/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json new file mode 100644 index 000000000000..eecd06841701 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-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": "PAYG" + }, + "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" + }, + "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/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..8c291cfd39cc --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-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/2021-11-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json new file mode 100644 index 000000000000..4da4ad4f3d07 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvm", + "api-version": "2021-11-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": "LightWeight", + "sqlServerLicenseType": "PAYG", + "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/2021-11-01-preview/examples/ListOperation.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListOperation.json new file mode 100644 index 000000000000..8eeabbe70746 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListOperation.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2021-11-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/redeploy/action", + "display": { + "operation": "Redeploy existing SQL virtual machine", + "description": "Redeploy 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/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/sqlVirtualMachineOperationResults/read", + "display": { + "resource": "SQL virtual machine", + "operation": "Get SQL virtual machine operation result", + "description": "Get result of SQL virtual machine operation" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/startAssessment/action", + "display": {} + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachine.json new file mode 100644 index 000000000000..d6d36ea40068 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachine.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-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": "PAYG" + }, + "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" + }, + "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" + }, + "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/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..3e50449068cc --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-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/", + "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/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/" + } + }, + "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/2021-11-01-preview/examples/RedeploySqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/RedeploySqlVirtualMachine.json new file mode 100644 index 000000000000..d0efa5a06870 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/RedeploySqlVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json new file mode 100644 index 000000000000..d0efa5a06870 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachine.json new file mode 100644 index 000000000000..731f14999348 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachine.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-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", + "sqlImageSku": "Enterprise" + }, + "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/2021-11-01-preview/examples/UpdateSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..8e8d23c2fe52 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachineGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-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/2021-11-01-preview/sqlvm.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json new file mode 100644 index 000000000000..ab8583f07bfa --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json @@ -0,0 +1,2287 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\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 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 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\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 - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + } + }, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\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 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 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\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 - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + }, + "201": { + "description": "Successfully created the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates an availability group listener.": { + "$ref": "./examples/CreateOrUpdateAvailabilityGroupListener.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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\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 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 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\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 - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + }, + "202": { + "description": "Deleting the availability group listener." + }, + "204": { + "description": "The availability group listener does not exist." + } + }, + "x-ms-long-running-operation": true, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\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 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 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\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 - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + } + }, + "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: ***" + } + }, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\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 * 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 * 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "201": { + "description": "Successfully created the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + } + }, + "x-ms-long-running-operation": true, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\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 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\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 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 NoIpAvailable - No available IP.\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 * 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 * 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\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 - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + }, + "202": { + "description": "Deleting the SQL virtual machine group." + }, + "204": { + "description": "The specified SQL virtual machine group does not exist." + } + }, + "x-ms-long-running-operation": true, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\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 * 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 * 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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-long-running-operation": true, + "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: ***" + } + }, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "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 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 * 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 * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group." + } + }, + "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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "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}/redeploy": { + "post": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Uninstalls and reinstalls the SQL Iaas Extension.", + "operationId": "SqlVirtualMachines_Redeploy", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "$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 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 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 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "202": { + "description": "Accepted redeploying the SQL virtual machine." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Uninstalls and reinstalls the SQL Iaas Extension.": { + "$ref": "./examples/RedeploySqlVirtualMachine.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" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "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 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 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 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 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "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" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "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 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 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 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 Ext_CancelError - The operation was canceled\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 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 409 Ext_ComputeError - Compute returned error on current operation.\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 * 409 Ext_VMExtensionProvisioningError - There was an error while installing SqlIaasExtension on the virtual machine.\n\n * 409 Ext_VMExtensionProvisioningTimeout - SQL VM resource provisioning operation timed out.\n\n * 409 Ext_VMExtensionHandlerNonTransientError - SQLIaaSExtension installation failed due to an internal error. Please retry the installation.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "201": { + "description": "Successfully created the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + } + }, + "x-ms-long-running-operation": true, + "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" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "$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 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 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 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "202": { + "description": "Deleting the SQL virtual machine." + }, + "204": { + "description": "The specified SQL virtual machine does not exist." + } + }, + "x-ms-long-running-operation": true, + "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" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "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 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 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 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-long-running-operation": true, + "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: ***" + } + }, + "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 Assessment on SQL virtual machine.", + "operationId": "SqlVirtualMachines_StartAssessment", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started 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 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 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 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\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 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 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "202": { + "description": "Accepted request to start assessment on SQL virtual machine." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Starts Assessment on SQL virtual machine": { + "$ref": "./examples/StartAssessmentOnSqlVirtualMachine.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" + } + }, + "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" + } + } + } + }, + "AgConfiguration": { + "description": "Availability group configuration.", + "type": "object", + "properties": { + "replicas": { + "description": "Replica configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/AgReplica" + }, + "x-ms-identifiers": [ + "sqlVirtualMachineInstanceId" + ], + "readOnly": true + } + } + }, + "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" + ] + } + } + }, + "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 + } + }, + "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." + }, + "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." + }, + "assessmentSettings": { + "$ref": "#/definitions/AssessmentSettings", + "description": "Assessment Settings." + } + } + }, + "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": [ + "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": "DaysOfWeek", + "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." + } + } + }, + "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" + ] + } + } + }, + "AssessmentSettings": { + "description": "Configure assessment for databases in your SQL virtual machine.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable assessment feature on SQL virtual machine.", + "type": "boolean" + }, + "runImmediately": { + "description": "Run assessment immediately on SQL virtual machine.", + "type": "boolean" + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Schedule for 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" + } + } + }, + "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": { + "type": "object", + "properties": { + "dataFileSize": { + "format": "int32", + "description": "SQL Server default file size", + "type": "integer" + }, + "dataGrowth": { + "format": "int32", + "description": "SQL Server default file autoGrowth size", + "type": "integer" + }, + "logFileSize": { + "format": "int32", + "description": "SQL Server default file size", + "type": "integer" + }, + "logGrowth": { + "format": "int32", + "description": "SQL Server default file autoGrowth size", + "type": "integer" + }, + "dataFileCount": { + "format": "int32", + "description": "SQL Server default file count", + "type": "integer" + }, + "luns": { + "description": "Logical Unit Numbers for the disks.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "defaultFilePath": { + "description": "SQL Server default file path", + "type": "string" + } + } + }, + "Schedule": { + "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": "DayOfWeek", + "modelAsString": false + } + }, + "startTime": { + "description": "Time of the day in HH:mm format. Eg. 17:30", + "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" + } + } + } + } + }, + "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", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineGroupNameParameter": { + "name": "sqlVirtualMachineGroupNameParameter", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AvailabilityGroupListenerNameParameter": { + "name": "availabilityGroupListenerNameParameter", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/readme.md b/specification/sqlvirtualmachine/resource-manager/readme.md index daa022755363..d0c66eb1c010 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for SQL virtual machine. - - --- + ## Getting Started + To build the SDK for SQL virtual machine, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,22 +15,31 @@ To build the SDK for SQL virtual machine, simply [Install AutoRest](https://aka. To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the SQL virtual machine API. ``` yaml 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. +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.' openapi-type: arm -tag: package-2017-03-01-preview +tag: package-preview-2021-11 ``` + +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json +``` ### Tag: package-2017-03-01-preview These settings apply only when `--tag=package-2017-03-01-preview` is specified on the command line. @@ -40,10 +49,9 @@ input-file: - Microsoft.SqlVirtualMachine/preview/2017-03-01-preview/sqlvm.json ``` - --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -60,7 +68,6 @@ swagger-to-sdk: - repo: azure-resource-manager-schemas ``` - ### C# These settings apply only when `--csharp` is specified on the command line. @@ -75,7 +82,6 @@ csharp: clear-output-folder: true ``` - ## Python See configuration in [readme.python.md](./readme.python.md) @@ -87,6 +93,3 @@ See configuration in [readme.go.md](./readme.go.md) ### Java See configuration in [readme.java.md](./readme.java.md) - - -