SqlVirtualMachineManagementClient
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
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"swagger": "2.0",
"schemes": [
"https"
],
"host": "management.azure.com",
"info": {
"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.",
"title": "SqlVirtualMachineManagementClient",
"version": "2017-03-01-preview",
"x-apisguru-categories": [
"cloud"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
},
"x-origin": [
{
"format": "swagger",
"url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2017-03-01-preview/sqlvm.json",
"version": "2.0"
}
],
"x-providerName": "azure.com",
"x-serviceName": "sqlvirtualmachine-sqlvm",
"x-tags": [
"Azure",
"Microsoft"
]
},
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"securityDefinitions": {
"azure_auth": {
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"description": "Azure Active Directory OAuth2 Flow",
"flow": "implicit",
"scopes": {
"user_impersonation": "impersonate your user account"
},
"type": "oauth2"
}
},
"parameters": {
"ApiVersionParameter": {
"description": "API version to use for the request.",
"in": "query",
"name": "api-version",
"required": true,
"type": "string",
"x-ms-parameter-location": "client"
},
"AvailabilityGroupListenerNameParameter": {
"description": "Name of the availability group listener.",
"in": "path",
"name": "availabilityGroupListenerNameParameter",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
"ResourceGroupParameter": {
"description": "Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
"in": "path",
"name": "resourceGroupName",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
"SqlVirtualMachineGroupNameParameter": {
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupNameParameter",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
"SqlVirtualMachineNameParameter": {
"description": "Name of the SQL virtual machine.",
"in": "path",
"name": "sqlVirtualMachineName",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
"SubscriptionIdParameter": {
"description": "Subscription ID that identifies an Azure subscription.",
"in": "path",
"name": "subscriptionId",
"required": true,
"type": "string",
"x-ms-parameter-location": "client"
}
},
"paths": {
"/providers/Microsoft.SqlVirtualMachine/operations": {
"get": {
"description": "Lists all of the available SQL Rest API operations.",
"operationId": "Operations_List",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Successfully retrieved operations.",
"schema": {
"$ref": "#/definitions/OperationListResult"
}
},
"default": {
"description": "*** Error Responses: ***"
}
},
"tags": [
"Operations"
],
"x-ms-examples": {
"Lists all of the available SQL Rest API operations.": {
"parameters": {
"api-version": "2017-03-01-preview"
},
"responses": {
"200": {
"body": {
"value": [
{
"display": {
"description": "Retrives details of SQL VirtualMachine Group",
"operation": "Get SQL VirtualMachine Group details",
"resource": "SQL VirtualMachine Group"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/read"
},
{
"display": {
"description": "Create a new or change properties of existing SQL VirtualMachine Group",
"operation": "Create a new or update existing SQL VirtualMachine Group",
"resource": "SQL VirtualMachine Group"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/write"
},
{
"display": {
"description": "Delete existing SQL VirtualMachine Group",
"operation": "Delete existing SQL VirtualMachine Group",
"resource": "SQL VirtualMachine Group"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/delete"
},
{
"display": {
"description": "Retrieves details of SQL AvailabilityGroup Listener on a given SQL VirtualMachine Group",
"operation": "Get AvailabilityGroup Listener details",
"resource": "SQL AvailabilityGroup Listener"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/read"
},
{
"display": {
"description": "Create a new or change properties of existing SQL AvailabilityGroup Listener",
"operation": "Create new or update exising AvailabilityGroup Listener",
"resource": "SQL AvailabilityGroup Listener"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/write"
},
{
"display": {
"description": "Delete existing AvailabilityGroup Listener",
"operation": "Delete existing AvailabilityGroup Listener",
"resource": "SQL AvailabilityGroup Listener"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/delete"
},
{
"display": {
"description": "Get result of an AvailabilityGroup Listener operation",
"operation": "Get AvailabilityGroup Listener operation result",
"resource": "SQL AvailabilityGroup Listener"
},
"name": "Microsoft.SqlVirtualMachine/locations/availabilityGroupListenerOperationResults/read"
},
{
"display": {
"resource": "Available REST operations"
},
"name": "Microsoft.SqlVirtualMachine/operations/read"
},
{
"display": {
"description": "Get result of a SQL VirtualMachine Group operation",
"operation": "Get SQL VirtualMachine Group operation result",
"resource": "SQL VirtualMachine Group"
},
"name": "Microsoft.SqlVirtualMachine/locations/sqlVirtualMachineGroupOperationResults/read"
},
{
"display": {
"description": "Retrieves details of SQL VirtualMachine",
"operation": "Get SQL VirtualMachine Instance details"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/read"
},
{
"display": {
"description": "Create a new or change properties of existing SQL VirtualMachine",
"operation": "Create new or update existing SQL VirtualMachine"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/write"
},
{
"display": {
"description": "Delete exisiting SQL VirtualMachine",
"operation": "Delete exisiting SQL VirtualMachine"
},
"name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/delete"
},
{
"display": {
"description": "Get result of SQL VirtualMachine operation",
"operation": "Get SQL VirtualMachine operation result",
"resource": "SQL VirtualMachine"
},
"name": "Microsoft.SqlVirtualMachine/locations/sqlVirtualMachineOperationResults/read"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups": {
"get": {
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachineGroups"
],
"x-ms-examples": {
"Gets all SQL virtual machine groups in a subscription.": {
"parameters": {
"api-version": "2017-03-01-preview",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/",
"location": "northeurope",
"name": "testvmgroup",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2017-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/",
"location": "northeurope",
"name": "testvmgroup1",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg2/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/",
"location": "northeurope",
"name": "testvmgroup2",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines": {
"get": {
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Gets all SQL virtual machines in a subscription.": {
"parameters": {
"api-version": "2017-03-01-preview",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1",
"location": "northeurope",
"name": "testvm1",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2017-WS2016",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
"location": "northeurope",
"name": "testvm2",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.Compute/virtualMachines/testvm2"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups": {
"get": {
"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: ***"
}
},
"tags": [
"SqlVirtualMachineGroups"
],
"x-ms-examples": {
"Gets all SQL virtual machine groups in a resource group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"location": "northeurope",
"name": "testvmgroup",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2017-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup1",
"location": "northeurope",
"name": "testvmgroup1",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup2",
"location": "northeurope",
"name": "testvmgroup2",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}": {
"delete": {
"description": "Deletes a SQL virtual machine group.",
"operationId": "SqlVirtualMachineGroups_Delete",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Successfully deleted the SQL virtual machine group."
},
"202": {
"description": "Deleting the SQL virtual machine group."
},
"204": {
"description": "The specified SQL virtual machine group does not exist."
},
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachineGroups"
],
"x-ms-examples": {
"Deletes a SQL virtual machine group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {},
"202": {},
"204": {}
}
}
},
"x-ms-long-running-operation": true
},
"get": {
"description": "Gets a SQL virtual machine group.",
"operationId": "SqlVirtualMachineGroups_Get",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachineGroups"
],
"x-ms-examples": {
"Gets a SQL virtual machine group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"location": "northeurope",
"name": "testvmgroup",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
}
}
}
}
}
},
"patch": {
"description": "Updates SQL virtual machine group tags.",
"operationId": "SqlVirtualMachineGroups_Update",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"description": "The SQL virtual machine group.",
"in": "body",
"name": "parameters",
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachineGroups"
],
"x-ms-examples": {
"Updates a SQL virtual machine group tags.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"tags": {
"mytag": "myval"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvmgroup",
"properties": {
"provisioningState": "UpdatingDomainful",
"sqlImageOffer": "SQL2017-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
}
}
}
}
},
"x-ms-long-running-operation": true
},
"put": {
"description": "Creates or updates a SQL virtual machine group.",
"operationId": "SqlVirtualMachineGroups_CreateOrUpdate",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"description": "The SQL virtual machine group.",
"in": "body",
"name": "parameters",
"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"
}
},
"201": {
"description": "Successfully created 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachineGroups"
],
"x-ms-examples": {
"Creates or updates a SQL virtual machine group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"location": "northeurope",
"properties": {
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"clusterBootstrapAccount": "testrpadmin",
"clusterOperatorAccount": "testrp@testdomain.com",
"domainFqdn": "testdomain.com",
"ouPath": "OU=WSCluster,DC=testdomain,DC=com",
"sqlServiceAccount": "sqlservice@testdomain.com",
"storageAccountPrimaryKey": "<primary storage access key>",
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"location": "northeurope",
"name": "testvmgroup",
"properties": {
"provisioningState": "UpdatingDomainful",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"location": "northeurope",
"name": "testvmgroup",
"properties": {
"provisioningState": "ProvisioningDomainful",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"wsfcDomainProfile": {
"storageAccountUrl": "https://storgact.blob.core.windows.net/"
}
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups"
}
}
}
}
},
"x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners": {
"get": {
"description": "Lists all availability group listeners in a SQL virtual machine group.",
"operationId": "AvailabilityGroupListeners_ListByGroup",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"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: ***"
}
},
"tags": [
"AvailabilityGroupListeners"
],
"x-ms-examples": {
"Lists all availability group listeners in a SQL virtual machine group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test",
"name": "agl-test",
"properties": {
"availabilityGroupName": "ag-test",
"loadBalancerConfigurations": [
{
"loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test",
"privateIpAddress": {
"ipAddress": "10.1.0.112",
"subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
},
"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,
"provisioningState": "Succeeded"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners/{availabilityGroupListenerName}": {
"delete": {
"description": "Deletes an availability group listener.",
"operationId": "AvailabilityGroupListeners_Delete",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"description": "Name of the availability group listener.",
"in": "path",
"name": "availabilityGroupListenerName",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Successfully deleted the availability group listener."
},
"202": {
"description": "Deleting the availability group listener."
},
"204": {
"description": "The availability group listener does not exist."
},
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\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 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 * 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."
}
},
"tags": [
"AvailabilityGroupListeners"
],
"x-ms-examples": {
"Deletes an availability group listener.": {
"parameters": {
"api-version": "2017-03-01-preview",
"availabilityGroupListenerName": "agl-test",
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {},
"202": {},
"204": {}
}
}
},
"x-ms-long-running-operation": true
},
"get": {
"description": "Gets an availability group listener.",
"operationId": "AvailabilityGroupListeners_Get",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"description": "Name of the availability group listener.",
"in": "path",
"name": "availabilityGroupListenerName",
"required": true,
"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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\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 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 * 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."
}
},
"tags": [
"AvailabilityGroupListeners"
],
"x-ms-examples": {
"Gets an availability group listener.": {
"parameters": {
"api-version": "2017-03-01-preview",
"availabilityGroupListenerName": "agl-test",
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test",
"name": "agl-test",
"properties": {
"availabilityGroupName": "ag-test",
"loadBalancerConfigurations": [
{
"loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test",
"privateIpAddress": {
"ipAddress": "10.1.0.112",
"subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
},
"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,
"provisioningState": "Succeeded"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners"
}
}
}
}
}
},
"put": {
"description": "Creates or updates an availability group listener.",
"operationId": "AvailabilityGroupListeners_CreateOrUpdate",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"description": "Name of the availability group listener.",
"in": "path",
"name": "availabilityGroupListenerName",
"required": true,
"type": "string"
},
{
"description": "The availability group listener.",
"in": "body",
"name": "parameters",
"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"
}
},
"201": {
"description": "Successfully created 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\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 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 * 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."
}
},
"tags": [
"AvailabilityGroupListeners"
],
"x-ms-examples": {
"Creates or updates an availability group listener.": {
"parameters": {
"api-version": "2017-03-01-preview",
"availabilityGroupListenerName": "agl-test",
"parameters": {
"properties": {
"availabilityGroupName": "ag-test",
"loadBalancerConfigurations": [
{
"loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test",
"privateIpAddress": {
"ipAddress": "10.1.0.112",
"subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
},
"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
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvmgroup",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test",
"name": "agl-test",
"properties": {
"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,
"provisioningState": "Updating"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test",
"name": "agl-test",
"properties": {
"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,
"provisioningState": "Provisioning"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners"
}
}
}
}
},
"x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/sqlVirtualMachines": {
"get": {
"description": "Gets the list of sql virtual machines in a SQL virtual machine group.",
"operationId": "SqlVirtualMachines_ListBySqlVmGroup",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine group.",
"in": "path",
"name": "sqlVirtualMachineGroupName",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Successfully retrieved the list of sql virtual machines in a SQL virtual machine group.",
"schema": {
"$ref": "#/definitions/SqlVirtualMachineListResult"
}
},
"default": {
"description": "*** Error Responses: ***\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group."
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Gets the list of sql virtual machines in a SQL virtual machine group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"sqlVirtualMachineGroupName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
"location": "northeurope",
"name": "testvm2",
"properties": {
"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",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines": {
"get": {
"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: ***"
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Gets all SQL virtual machines in a resource group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
},
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1",
"location": "northeurope",
"name": "testvm1",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2017-WS2016",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
]
}
}
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}": {
"delete": {
"description": "Deletes a SQL virtual machine.",
"operationId": "SqlVirtualMachines_Delete",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine.",
"in": "path",
"name": "sqlVirtualMachineName",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Successfully deleted the SQL virtual machine."
},
"202": {
"description": "Deleting the SQL virtual machine."
},
"204": {
"description": "The specified SQL virtual machine does not exist."
},
"default": {
"description": "*** Error Responses: ***\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 Windows Server 2008.\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 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\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 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\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 VmOSVersionMismatchWithGroup - OS version mismatch with group.\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}.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Deletes a SQL virtual machine.": {
"parameters": {
"api-version": "2017-03-01-preview",
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm1",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {},
"202": {},
"204": {}
}
}
},
"x-ms-long-running-operation": true
},
"get": {
"description": "Gets a SQL virtual machine.",
"operationId": "SqlVirtualMachines_Get",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine.",
"in": "path",
"name": "sqlVirtualMachineName",
"required": true,
"type": "string"
},
{
"description": "The child resources to include in the response.",
"in": "query",
"name": "$expand",
"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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Gets a SQL virtual machine.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Succeeded",
"sqlImageOffer": "SQL2016-WS2016",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
}
}
},
"patch": {
"description": "Updates a SQL virtual machine.",
"operationId": "SqlVirtualMachines_Update",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine.",
"in": "path",
"name": "sqlVirtualMachineName",
"required": true,
"type": "string"
},
{
"description": "The SQL virtual machine.",
"in": "body",
"name": "parameters",
"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 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for Windows Server 2008.\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 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\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 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\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 VmOSVersionMismatchWithGroup - OS version mismatch with group.\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}.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Updates a SQL virtual machine tags.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"tags": {
"mytag": "myval"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Updating",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"tags": {
"mytag": "myval"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
}
},
"x-ms-long-running-operation": true
},
"put": {
"description": "Creates or updates a SQL virtual machine.",
"operationId": "SqlVirtualMachines_CreateOrUpdate",
"parameters": [
{
"$ref": "#/parameters/ResourceGroupParameter"
},
{
"description": "Name of the SQL virtual machine.",
"in": "path",
"name": "sqlVirtualMachineName",
"required": true,
"type": "string"
},
{
"description": "The SQL virtual machine.",
"in": "body",
"name": "parameters",
"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"
}
},
"201": {
"description": "Successfully created the SQL virtual machine.",
"schema": {
"$ref": "#/definitions/SqlVirtualMachine"
}
},
"default": {
"description": "*** Error Responses: ***\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 Windows Server 2008.\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 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\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 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\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 VmOSVersionMismatchWithGroup - OS version mismatch with group.\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}.\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 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 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 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 * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out."
}
},
"tags": [
"SqlVirtualMachines"
],
"x-ms-examples": {
"Creates or updates a SQL virtual machine and joins it to a SQL virtual machine group.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"location": "northeurope",
"properties": {
"sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2",
"wsfcDomainCredentials": {
"clusterBootstrapAccountPassword": "<Password>",
"clusterOperatorAccountPassword": "<Password>",
"sqlServiceAccountPassword": "<Password>"
}
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
"location": "northeurope",
"name": "testvm2",
"properties": {
"provisioningState": "Updating",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
"location": "northeurope",
"name": "testvm2",
"properties": {
"provisioningState": "Provisioning",
"sqlImageSku": "Unknown",
"sqlServerLicenseType": "PAYG",
"sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
},
"Creates or updates a SQL virtual machine for Storage Configuration Settings to EXTEND Data, Log or TempDB storage pool.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"location": "northeurope",
"properties": {
"storageConfigurationSettings": {
"diskConfigurationType": "EXTEND",
"sqlDataSettings": {
"luns": [
2
]
}
},
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Updating",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Provisioning",
"sqlImageSku": "Unknown",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
},
"Creates or updates a SQL virtual machine for Storage Configuration Settings to NEW Data, Log and TempDB storage pool.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"location": "northeurope",
"properties": {
"storageConfigurationSettings": {
"diskConfigurationType": "NEW",
"sqlDataSettings": {
"defaultFilePath": "F:\\folderpath\\",
"luns": [
0
]
},
"sqlLogSettings": {
"defaultFilePath": "G:\\folderpath\\",
"luns": [
1
]
},
"sqlTempDbSettings": {
"defaultFilePath": "D:\\TEMP"
},
"storageWorkloadType": "OLTP"
},
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Updating",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Provisioning",
"sqlImageSku": "Unknown",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
},
"Creates or updates a SQL virtual machine with max parameters.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"location": "northeurope",
"properties": {
"autoBackupSettings": {
"backupScheduleType": "Manual",
"backupSystemDbs": true,
"enable": true,
"enableEncryption": true,
"fullBackupFrequency": "Daily",
"fullBackupStartTime": 6,
"fullBackupWindowHours": 11,
"logBackupFrequency": 10,
"password": "<Password>",
"retentionPeriod": 17,
"storageAccessKey": "<primary storage access key>",
"storageAccountUrl": "https://teststorage.blob.core.windows.net/"
},
"autoPatchingSettings": {
"dayOfWeek": "Sunday",
"enable": true,
"maintenanceWindowDuration": 60,
"maintenanceWindowStartingHour": 2
},
"keyVaultCredentialSettings": {
"enable": false
},
"serverConfigurationsManagementSettings": {
"additionalFeaturesServerConfigurations": {
"isRServicesEnabled": false
},
"sqlConnectivityUpdateSettings": {
"connectivityType": "PRIVATE",
"port": 1433,
"sqlAuthUpdatePassword": "<password>",
"sqlAuthUpdateUserName": "sqllogin"
},
"sqlStorageUpdateSettings": {
"diskConfigurationType": "NEW",
"diskCount": 1,
"startingDeviceId": 2
},
"sqlWorkloadTypeUpdateSettings": {
"sqlWorkloadType": "OLTP"
}
},
"sqlImageSku": "Enterprise",
"sqlManagement": "Full",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Updating",
"sqlImageSku": "Enterprise",
"sqlManagement": "Full",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Provisioning",
"sqlImageSku": "Unknown",
"sqlManagement": "Full",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
},
"Creates or updates a SQL virtual machine with min parameters.": {
"parameters": {
"api-version": "2017-03-01-preview",
"parameters": {
"location": "northeurope",
"properties": {
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
}
},
"resourceGroupName": "testrg",
"sqlVirtualMachineName": "testvm",
"subscriptionId": "00000000-1111-2222-3333-444444444444"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Updating",
"sqlImageSku": "Enterprise",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
},
"201": {
"body": {
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm",
"location": "northeurope",
"name": "testvm",
"properties": {
"provisioningState": "Provisioning",
"sqlImageSku": "Unknown",
"sqlServerLicenseType": "PAYG",
"virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"
},
"type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines"
}
}
}
}
},
"x-ms-long-running-operation": true
}
}
},
"definitions": {
"AdditionalFeaturesServerConfigurations": {
"description": "Additional SQL Server feature settings.",
"properties": {
"isRServicesEnabled": {
"description": "Enable or disable R services (SQL 2016 onwards).",
"type": "boolean"
}
},
"type": "object"
},
"AutoBackupSettings": {
"description": "Configure backups for databases in your SQL virtual machine.",
"properties": {
"backupScheduleType": {
"description": "Backup schedule type.",
"enum": [
"Manual",
"Automated"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "BackupScheduleType"
}
},
"backupSystemDbs": {
"description": "Include or exclude system databases from auto backup.",
"type": "boolean"
},
"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"
},
"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": {
"modelAsString": true,
"name": "FullBackupFrequencyType"
}
},
"fullBackupStartTime": {
"description": "Start time of a given day during which full backups can take place. 0-23 hours.",
"format": "int32",
"type": "integer"
},
"fullBackupWindowHours": {
"description": "Duration of the time window of a given day during which full backups can take place. 1-23 hours.",
"format": "int32",
"type": "integer"
},
"logBackupFrequency": {
"description": "Frequency of log backups. 5-60 minutes.",
"format": "int32",
"type": "integer"
},
"password": {
"description": "Password for encryption on backup.",
"type": "string",
"x-ms-mutability": [
"create",
"update"
]
},
"retentionPeriod": {
"description": "Retention period of backup: 1-30 days.",
"format": "int32",
"type": "integer"
},
"storageAccessKey": {
"description": "Storage account key where backup will be taken to.",
"type": "string",
"x-ms-mutability": [
"create",
"update"
]
},
"storageAccountUrl": {
"description": "Storage account url where backup will be taken to.",
"type": "string"
}
},
"type": "object"
},
"AutoPatchingSettings": {
"description": "Set a patching window during which Windows and SQL patches will be applied.",
"properties": {
"dayOfWeek": {
"description": "Day of week to apply the patch on.",
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"type": "string",
"x-ms-enum": {
"modelAsString": false,
"name": "DayOfWeek"
}
},
"enable": {
"description": "Enable or disable autopatching on SQL virtual machine.",
"type": "boolean"
},
"maintenanceWindowDuration": {
"description": "Duration of patching.",
"format": "int32",
"type": "integer"
},
"maintenanceWindowStartingHour": {
"description": "Hour of the day when patching is initiated. Local VM time.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"AvailabilityGroupListener": {
"allOf": [
{
"$ref": "#/definitions/ProxyResource"
}
],
"description": "A SQL Server availability group listener.",
"properties": {
"properties": {
"$ref": "#/definitions/AvailabilityGroupListenerProperties",
"description": "Resource properties.",
"x-ms-client-flatten": true
}
},
"type": "object"
},
"AvailabilityGroupListenerListResult": {
"description": "A list of availability group listeners.",
"properties": {
"nextLink": {
"description": "Link to retrieve next page of results.",
"readOnly": true,
"type": "string"
},
"value": {
"description": "Array of results.",
"items": {
"$ref": "#/definitions/AvailabilityGroupListener"
},
"readOnly": true,
"type": "array"
}
},
"type": "object"
},
"AvailabilityGroupListenerProperties": {
"description": "The properties of an availability group listener.",
"properties": {
"availabilityGroupName": {
"description": "Name of the availability group.",
"type": "string"
},
"createDefaultAvailabilityGroupIfNotExist": {
"description": "Create a default availability group if it does not exist.",
"type": "boolean"
},
"loadBalancerConfigurations": {
"description": "List of load balancer configurations for an availability group listener.",
"items": {
"$ref": "#/definitions/LoadBalancerConfiguration"
},
"type": "array"
},
"port": {
"description": "Listener port.",
"format": "int32",
"type": "integer"
},
"provisioningState": {
"description": "Provisioning state to track the async operation status.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"KeyVaultCredentialSettings": {
"description": "Configure your SQL virtual machine to be able to connect to the Azure Key Vault service.",
"properties": {
"azureKeyVaultUrl": {
"description": "Azure Key Vault url.",
"type": "string"
},
"credentialName": {
"description": "Credential name.",
"type": "string"
},
"enable": {
"description": "Enable or disable key vault credential setting.",
"type": "boolean"
},
"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"
]
}
},
"type": "object"
},
"LoadBalancerConfiguration": {
"description": "A load balancer configuration for an availability group listener.",
"properties": {
"loadBalancerResourceId": {
"description": "Resource id of the load balancer.",
"type": "string"
},
"privateIpAddress": {
"$ref": "#/definitions/PrivateIPAddress",
"description": "Private IP address."
},
"probePort": {
"description": "Probe port.",
"format": "int32",
"type": "integer"
},
"publicIpAddressResourceId": {
"description": "Resource id of the public IP.",
"type": "string"
},
"sqlVirtualMachineInstances": {
"description": "List of the SQL virtual machine instance resource id's that are enrolled into the availability group listener.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"Operation": {
"description": "SQL REST API operation definition.",
"properties": {
"display": {
"$ref": "#/definitions/OperationDisplay",
"description": "The localized display information for this particular operation / action.",
"readOnly": true
},
"name": {
"description": "The name of the operation being performed on this particular object.",
"readOnly": true,
"type": "string"
},
"origin": {
"description": "The intended executor of the operation.",
"enum": [
"user",
"system"
],
"readOnly": true,
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "OperationOrigin"
}
},
"properties": {
"additionalProperties": {
"type": "object"
},
"description": "Additional descriptions for the operation.",
"readOnly": true,
"type": "object",
"x-ms-client-flatten": false
}
},
"type": "object"
},
"OperationDisplay": {
"description": "Display metadata associated with the operation.",
"properties": {
"description": {
"description": "The localized friendly description for the operation.",
"readOnly": true,
"type": "string"
},
"operation": {
"description": "The localized friendly name for the operation.",
"readOnly": true,
"type": "string"
},
"provider": {
"description": "The localized friendly form of the resource provider name.",
"readOnly": true,
"type": "string"
},
"resource": {
"description": "The localized friendly form of the resource type related to this action/operation.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"OperationListResult": {
"description": "Result of the request to list SQL operations.",
"properties": {
"nextLink": {
"description": "Link to retrieve next page of results.",
"readOnly": true,
"type": "string"
},
"value": {
"description": "Array of results.",
"items": {
"$ref": "#/definitions/Operation"
},
"readOnly": true,
"type": "array"
}
},
"type": "object"
},
"PrivateIPAddress": {
"description": "A private IP address bound to the availability group listener.",
"properties": {
"ipAddress": {
"description": "Private IP address bound to the availability group listener.",
"type": "string"
},
"subnetResourceId": {
"description": "Subnet used to include private IP.",
"type": "string"
}
},
"type": "object"
},
"ProxyResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"description": "ARM proxy resource.",
"properties": {},
"type": "object"
},
"Resource": {
"description": "ARM resource.",
"properties": {
"id": {
"description": "Resource ID.",
"readOnly": true,
"type": "string"
},
"name": {
"description": "Resource name.",
"readOnly": true,
"type": "string"
},
"type": {
"description": "Resource type.",
"readOnly": true,
"type": "string"
}
},
"type": "object",
"x-ms-azure-resource": true
},
"ResourceIdentity": {
"description": "Azure Active Directory identity configuration for a resource.",
"properties": {
"principalId": {
"description": "The Azure Active Directory principal id.",
"format": "uuid",
"readOnly": true,
"type": "string"
},
"tenantId": {
"description": "The Azure Active Directory tenant id.",
"format": "uuid",
"readOnly": true,
"type": "string"
},
"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": [
"SystemAssigned"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "IdentityType"
}
}
},
"type": "object"
},
"SQLStorageSettings": {
"description": "Set disk storage settings for SQL Server.",
"properties": {
"defaultFilePath": {
"description": "SQL Server default file path",
"type": "string"
},
"luns": {
"description": "Logical Unit Numbers for the disks.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"ServerConfigurationsManagementSettings": {
"description": "Set the connectivity, storage and workload settings.",
"properties": {
"additionalFeaturesServerConfigurations": {
"$ref": "#/definitions/AdditionalFeaturesServerConfigurations",
"description": "Additional SQL feature settings."
},
"sqlConnectivityUpdateSettings": {
"$ref": "#/definitions/SqlConnectivityUpdateSettings",
"description": "SQL connectivity type settings."
},
"sqlStorageUpdateSettings": {
"$ref": "#/definitions/SqlStorageUpdateSettings",
"description": "SQL storage update settings."
},
"sqlWorkloadTypeUpdateSettings": {
"$ref": "#/definitions/SqlWorkloadTypeUpdateSettings",
"description": "SQL workload type settings."
}
},
"type": "object"
},
"SqlConnectivityUpdateSettings": {
"description": "Set the access level and network port settings for SQL Server.",
"properties": {
"connectivityType": {
"description": "SQL Server connectivity option.",
"enum": [
"LOCAL",
"PRIVATE",
"PUBLIC"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ConnectivityType"
}
},
"port": {
"description": "SQL Server port.",
"format": "int32",
"type": "integer"
},
"sqlAuthUpdatePassword": {
"description": "SQL Server sysadmin login password.",
"type": "string",
"x-ms-mutability": [
"create"
]
},
"sqlAuthUpdateUserName": {
"description": "SQL Server sysadmin login to create.",
"type": "string",
"x-ms-mutability": [
"create"
]
}
},
"type": "object"
},
"SqlStorageUpdateSettings": {
"description": "Set disk storage settings for SQL Server.",
"properties": {
"diskConfigurationType": {
"description": "Disk configuration to apply to SQL Server.",
"enum": [
"NEW",
"EXTEND",
"ADD"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "DiskConfigurationType"
}
},
"diskCount": {
"description": "Virtual machine disk count.",
"format": "int32",
"type": "integer"
},
"startingDeviceId": {
"description": "Device id of the first disk to be updated.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"SqlVirtualMachine": {
"allOf": [
{
"$ref": "#/definitions/TrackedResource"
}
],
"description": "A SQL virtual machine.",
"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
}
},
"required": [
"location"
],
"type": "object"
},
"SqlVirtualMachineGroup": {
"allOf": [
{
"$ref": "#/definitions/TrackedResource"
}
],
"description": "A SQL virtual machine group.",
"properties": {
"properties": {
"$ref": "#/definitions/SqlVirtualMachineGroupProperties",
"description": "Resource properties.",
"x-ms-client-flatten": true
}
},
"required": [
"location"
],
"type": "object"
},
"SqlVirtualMachineGroupListResult": {
"description": "A list of SQL virtual machine groups.",
"properties": {
"nextLink": {
"description": "Link to retrieve next page of results.",
"readOnly": true,
"type": "string"
},
"value": {
"description": "Array of results.",
"items": {
"$ref": "#/definitions/SqlVirtualMachineGroup"
},
"readOnly": true,
"type": "array"
}
},
"type": "object"
},
"SqlVirtualMachineGroupProperties": {
"description": "The properties of a SQL virtual machine group.",
"properties": {
"clusterConfiguration": {
"description": "Cluster type.",
"enum": [
"Domainful"
],
"readOnly": true,
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ClusterConfiguration"
}
},
"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"
],
"readOnly": true,
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ClusterManagerType"
}
},
"provisioningState": {
"description": "Provisioning state to track the async operation status.",
"readOnly": true,
"type": "string"
},
"scaleType": {
"description": "Scale type.",
"enum": [
"HA"
],
"readOnly": true,
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ScaleType"
}
},
"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": {
"modelAsString": true,
"name": "SqlVmGroupImageSku"
},
"x-ms-mutability": [
"read",
"create"
]
},
"wsfcDomainProfile": {
"$ref": "#/definitions/WsfcDomainProfile",
"description": "Cluster Active Directory domain profile.",
"x-ms-mutability": [
"read",
"create"
]
}
},
"type": "object"
},
"SqlVirtualMachineGroupUpdate": {
"description": "An update to a SQL virtual machine group.",
"properties": {
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "Resource tags.",
"type": "object"
}
},
"type": "object"
},
"SqlVirtualMachineListResult": {
"description": "A list of SQL virtual machines.",
"properties": {
"nextLink": {
"description": "Link to retrieve next page of results.",
"readOnly": true,
"type": "string"
},
"value": {
"description": "Array of results.",
"items": {
"$ref": "#/definitions/SqlVirtualMachine"
},
"readOnly": true,
"type": "array"
}
},
"type": "object"
},
"SqlVirtualMachineProperties": {
"description": "The SQL virtual machine properties.",
"properties": {
"autoBackupSettings": {
"$ref": "#/definitions/AutoBackupSettings",
"description": "Auto backup settings for SQL Server."
},
"autoPatchingSettings": {
"$ref": "#/definitions/AutoPatchingSettings",
"description": "Auto patching settings for applying critical security updates to SQL virtual machine."
},
"keyVaultCredentialSettings": {
"$ref": "#/definitions/KeyVaultCredentialSettings",
"description": "Key vault credential settings."
},
"provisioningState": {
"description": "Provisioning state to track the async operation status.",
"readOnly": true,
"type": "string"
},
"serverConfigurationsManagementSettings": {
"$ref": "#/definitions/ServerConfigurationsManagementSettings",
"description": "SQL Server configuration management settings."
},
"sqlImageOffer": {
"description": "SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016.",
"type": "string",
"x-ms-mutability": [
"read",
"create"
]
},
"sqlImageSku": {
"description": "SQL Server edition type.",
"enum": [
"Developer",
"Express",
"Standard",
"Enterprise",
"Web"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "SqlImageSku"
}
},
"sqlManagement": {
"description": "SQL Server Management type.",
"enum": [
"Full",
"LightWeight",
"NoAgent"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "SqlManagementMode"
}
},
"sqlServerLicenseType": {
"description": "SQL Server license type.",
"enum": [
"PAYG",
"AHUB",
"DR"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "SqlServerLicenseType"
}
},
"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"
]
},
"storageConfigurationSettings": {
"$ref": "#/definitions/StorageConfigurationSettings",
"description": "Storage Configuration Settings."
},
"virtualMachineResourceId": {
"description": "ARM Resource id of underlying virtual machine created from SQL marketplace image.",
"type": "string",
"x-ms-mutability": [
"read",
"create"
]
},
"wsfcDomainCredentials": {
"$ref": "#/definitions/WsfcDomainCredentials",
"description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group."
}
},
"type": "object"
},
"SqlVirtualMachineUpdate": {
"description": "An update to a SQL virtual machine.",
"properties": {
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "Resource tags.",
"type": "object"
}
},
"type": "object"
},
"SqlWorkloadTypeUpdateSettings": {
"description": "Set workload type to optimize storage for SQL Server.",
"properties": {
"sqlWorkloadType": {
"description": "SQL Server workload type.",
"enum": [
"GENERAL",
"OLTP",
"DW"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "SqlWorkloadType"
},
"x-ms-mutability": [
"read",
"create"
]
}
},
"type": "object"
},
"StorageConfigurationSettings": {
"description": "Storage Configurations for SQL Data, Log and TempDb.",
"properties": {
"diskConfigurationType": {
"description": "Disk configuration to apply to SQL Server.",
"enum": [
"NEW",
"EXTEND",
"ADD"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "DiskConfigurationType"
}
},
"sqlDataSettings": {
"$ref": "#/definitions/SQLStorageSettings",
"description": "SQL Server Data Storage Settings."
},
"sqlLogSettings": {
"$ref": "#/definitions/SQLStorageSettings",
"description": "SQL Server Log Storage Settings."
},
"sqlTempDbSettings": {
"$ref": "#/definitions/SQLStorageSettings",
"description": "SQL Server TempDb Storage Settings."
},
"storageWorkloadType": {
"description": "Storage workload type.",
"enum": [
"GENERAL",
"OLTP",
"DW"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "StorageWorkloadType"
},
"x-ms-mutability": [
"read",
"create"
]
}
},
"type": "object"
},
"TrackedResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"description": "ARM tracked top level resource.",
"properties": {
"location": {
"description": "Resource location.",
"type": "string",
"x-ms-mutability": [
"read",
"create"
]
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "Resource tags.",
"type": "object"
}
},
"required": [
"location"
],
"type": "object"
},
"WsfcDomainCredentials": {
"description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.",
"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"
}
},
"type": "object"
},
"WsfcDomainProfile": {
"description": "Active Directory account details to operate Windows Server Failover Cluster.",
"properties": {
"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"
]
},
"domainFqdn": {
"description": "Fully qualified name of the domain.",
"type": "string",
"x-ms-mutability": [
"read",
"create"
]
},
"fileShareWitnessPath": {
"description": "Optional path for fileshare witness.",
"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"
]
},
"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"
]
},
"storageAccountPrimaryKey": {
"description": "Primary key of the witness storage account.",
"type": "string",
"x-ms-mutability": [
"create"
]
},
"storageAccountUrl": {
"description": "Fully qualified ARM resource id of the witness storage account.",
"type": "string",
"x-ms-mutability": [
"read",
"create"
]
}
},
"type": "object"
}
}
}