diff --git a/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json b/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json new file mode 100644 index 0000000000..f8cb06c4c4 --- /dev/null +++ b/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json @@ -0,0 +1,1377 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.SqlVirtualMachine", + "description": "Microsoft SqlVirtualMachine Resource Types", + "resourceDefinitions": { + "sqlVirtualMachineGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the SQL virtual machine group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlVirtualMachineGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a SQL virtual machine group." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/sqlVirtualMachineGroups_availabilityGroupListeners_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + "sqlVirtualMachineGroups_availabilityGroupListeners": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the availability group listener." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilityGroupListenerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an availability group listener." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + }, + "sqlVirtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory identity configuration for a resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the SQL virtual machine." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlVirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SQL virtual machine properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "definitions": { + "AdditionalFeaturesServerConfigurations": { + "type": "object", + "properties": { + "isRServicesEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable R services (SQL 2016 onwards)." + } + }, + "description": "Additional SQL Server feature settings." + }, + "AgConfiguration": { + "type": "object", + "properties": {}, + "description": "Availability group configuration." + }, + "AssessmentSettings": { + "type": "object", + "properties": { + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable assessment feature on SQL virtual machine." + }, + "runImmediately": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Run assessment immediately on SQL virtual machine." + }, + "schedule": { + "oneOf": [ + { + "$ref": "#/definitions/Schedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Configure assessment for databases in your SQL virtual machine." + }, + "AutoBackupSettings": { + "type": "object", + "properties": { + "backupScheduleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Manual", + "Automated" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup schedule type." + }, + "backupSystemDbs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Include or exclude system databases from auto backup." + }, + "daysOfWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Days of the week for the backups when FullBackupFrequency is set to Weekly." + }, + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable autobackup on SQL virtual machine." + }, + "enableEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable encryption for backup on SQL virtual machine." + }, + "fullBackupFrequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of full backups. In both cases, full backups begin during the next scheduled time window." + }, + "fullBackupStartTime": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Start time of a given day during which full backups can take place. 0-23 hours." + }, + "fullBackupWindowHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Duration of the time window of a given day during which full backups can take place. 1-23 hours." + }, + "logBackupFrequency": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of log backups. 5-60 minutes." + }, + "password": { + "type": "string", + "description": "Password for encryption on backup." + }, + "retentionPeriod": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Retention period of backup: 1-90 days." + }, + "storageAccessKey": { + "type": "string", + "description": "Storage account key where backup will be taken to." + }, + "storageAccountUrl": { + "type": "string", + "description": "Storage account url where backup will be taken to." + }, + "storageContainerName": { + "type": "string", + "description": "Storage container name where backup will be taken to." + } + }, + "description": "Configure backups for databases in your SQL virtual machine." + }, + "AutoPatchingSettings": { + "type": "object", + "properties": { + "dayOfWeek": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Day of week to apply the patch on." + }, + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable autopatching on SQL virtual machine." + }, + "maintenanceWindowDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Duration of patching." + }, + "maintenanceWindowStartingHour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hour of the day when patching is initiated. Local VM time." + } + }, + "description": "Set a patching window during which Windows and SQL patches will be applied." + }, + "AvailabilityGroupListenerProperties": { + "type": "object", + "properties": { + "availabilityGroupConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AgConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Availability group configuration." + }, + "availabilityGroupName": { + "type": "string", + "description": "Name of the availability group." + }, + "createDefaultAvailabilityGroupIfNotExist": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create a default availability group if it does not exist." + }, + "loadBalancerConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of load balancer configurations for an availability group listener." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Listener port." + } + }, + "description": "The properties of an availability group listener." + }, + "KeyVaultCredentialSettings": { + "type": "object", + "properties": { + "azureKeyVaultUrl": { + "type": "string", + "description": "Azure Key Vault url." + }, + "credentialName": { + "type": "string", + "description": "Credential name." + }, + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable key vault credential setting." + }, + "servicePrincipalName": { + "type": "string", + "description": "Service principal name to access key vault." + }, + "servicePrincipalSecret": { + "type": "string", + "description": "Service principal name secret to access key vault." + } + }, + "description": "Configure your SQL virtual machine to be able to connect to the Azure Key Vault service." + }, + "LoadBalancerConfiguration": { + "type": "object", + "properties": { + "loadBalancerResourceId": { + "type": "string", + "description": "Resource id of the load balancer." + }, + "privateIpAddress": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateIPAddress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A private IP address bound to the availability group listener." + }, + "probePort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Probe port." + }, + "publicIpAddressResourceId": { + "type": "string", + "description": "Resource id of the public IP." + }, + "sqlVirtualMachineInstances": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of the SQL virtual machine instance resource id's that are enrolled into the availability group listener." + } + }, + "description": "A load balancer configuration for an availability group listener." + }, + "PrivateIPAddress": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "description": "Private IP address bound to the availability group listener." + }, + "subnetResourceId": { + "type": "string", + "description": "Subnet used to include private IP." + } + }, + "description": "A private IP address bound to the availability group listener." + }, + "ResourceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource." + } + }, + "description": "Azure Active Directory identity configuration for a resource." + }, + "Schedule": { + "type": "object", + "properties": { + "dayOfWeek": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Day of the week to run assessment." + }, + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable assessment schedule on SQL virtual machine." + }, + "monthlyOccurrence": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month" + }, + "startTime": { + "type": "string", + "description": "Time of the day in HH:mm format. Eg. 17:30" + }, + "weeklyInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of weeks to schedule between 2 assessment runs. Takes value from 1-6" + } + } + }, + "ServerConfigurationsManagementSettings": { + "type": "object", + "properties": { + "additionalFeaturesServerConfigurations": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalFeaturesServerConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional SQL Server feature settings." + }, + "sqlConnectivityUpdateSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectivityUpdateSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set the access level and network port settings for SQL Server." + }, + "sqlInstanceSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SQLInstanceSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set the server/instance-level settings for SQL Server." + }, + "sqlStorageUpdateSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStorageUpdateSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set disk storage settings for SQL Server." + }, + "sqlWorkloadTypeUpdateSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SqlWorkloadTypeUpdateSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set workload type to optimize storage for SQL Server." + } + }, + "description": "Set the connectivity, storage and workload settings." + }, + "SqlConnectivityUpdateSettings": { + "type": "object", + "properties": { + "connectivityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LOCAL", + "PRIVATE", + "PUBLIC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server connectivity option." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server port." + }, + "sqlAuthUpdatePassword": { + "type": "string", + "description": "SQL Server sysadmin login password." + }, + "sqlAuthUpdateUserName": { + "type": "string", + "description": "SQL Server sysadmin login to create." + } + }, + "description": "Set the access level and network port settings for SQL Server." + }, + "SQLInstanceSettings": { + "type": "object", + "properties": { + "collation": { + "type": "string", + "description": "SQL Server Collation." + }, + "isOptimizeForAdHocWorkloadsEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server Optimize for Adhoc workloads." + }, + "maxDop": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server MAXDOP." + }, + "maxServerMemoryMB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server maximum memory." + }, + "minServerMemoryMB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server minimum memory." + } + }, + "description": "Set the server/instance-level settings for SQL Server." + }, + "SQLStorageSettings": { + "type": "object", + "properties": { + "defaultFilePath": { + "type": "string", + "description": "SQL Server default file path" + }, + "luns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logical Unit Numbers for the disks." + } + }, + "description": "Set disk storage settings for SQL Server." + }, + "SqlStorageUpdateSettings": { + "type": "object", + "properties": { + "diskConfigurationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NEW", + "EXTEND", + "ADD" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk configuration to apply to SQL Server." + }, + "diskCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual machine disk count." + }, + "startingDeviceId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Device id of the first disk to be updated." + } + }, + "description": "Set disk storage settings for SQL Server." + }, + "SQLTempDbSettings": { + "type": "object", + "properties": { + "dataFileCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server default file count" + }, + "dataFileSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server default file size" + }, + "dataGrowth": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server default file autoGrowth size" + }, + "defaultFilePath": { + "type": "string", + "description": "SQL Server default file path" + }, + "logFileSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server default file size" + }, + "logGrowth": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server default file autoGrowth size" + }, + "luns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logical Unit Numbers for the disks." + } + } + }, + "SqlVirtualMachineGroupProperties": { + "type": "object", + "properties": { + "sqlImageOffer": { + "type": "string", + "description": "SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016." + }, + "sqlImageSku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Developer", + "Enterprise" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL image sku." + }, + "wsfcDomainProfile": { + "oneOf": [ + { + "$ref": "#/definitions/WsfcDomainProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active Directory account details to operate Windows Server Failover Cluster." + } + }, + "description": "The properties of a SQL virtual machine group." + }, + "sqlVirtualMachineGroups_availabilityGroupListeners_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the availability group listener." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilityGroupListenerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an availability group listener." + }, + "type": { + "type": "string", + "enum": [ + "availabilityGroupListeners" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + }, + "SqlVirtualMachineProperties": { + "type": "object", + "properties": { + "assessmentSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AssessmentSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure assessment for databases in your SQL virtual machine." + }, + "autoBackupSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AutoBackupSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure backups for databases in your SQL virtual machine." + }, + "autoPatchingSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AutoPatchingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set a patching window during which Windows and SQL patches will be applied." + }, + "keyVaultCredentialSettings": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultCredentialSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure your SQL virtual machine to be able to connect to the Azure Key Vault service." + }, + "serverConfigurationsManagementSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ServerConfigurationsManagementSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set the connectivity, storage and workload settings." + }, + "sqlImageOffer": { + "type": "string", + "description": "SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016." + }, + "sqlImageSku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Developer", + "Express", + "Standard", + "Enterprise", + "Web" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server edition type." + }, + "sqlManagement": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Full", + "LightWeight", + "NoAgent" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server Management type." + }, + "sqlServerLicenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PAYG", + "AHUB", + "DR" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server license type." + }, + "sqlVirtualMachineGroupResourceId": { + "type": "string", + "description": "ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of." + }, + "storageConfigurationSettings": { + "oneOf": [ + { + "$ref": "#/definitions/StorageConfigurationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage Configurations for SQL Data, Log and TempDb." + }, + "virtualMachineResourceId": { + "type": "string", + "description": "ARM Resource id of underlying virtual machine created from SQL marketplace image." + }, + "wsfcDomainCredentials": { + "oneOf": [ + { + "$ref": "#/definitions/WsfcDomainCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group." + } + }, + "description": "The SQL virtual machine properties." + }, + "SqlWorkloadTypeUpdateSettings": { + "type": "object", + "properties": { + "sqlWorkloadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GENERAL", + "OLTP", + "DW" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server workload type." + } + }, + "description": "Set workload type to optimize storage for SQL Server." + }, + "StorageConfigurationSettings": { + "type": "object", + "properties": { + "diskConfigurationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NEW", + "EXTEND", + "ADD" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk configuration to apply to SQL Server." + }, + "sqlDataSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SQLStorageSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set disk storage settings for SQL Server." + }, + "sqlLogSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SQLStorageSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set disk storage settings for SQL Server." + }, + "sqlSystemDbOnDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Server SystemDb Storage on DataPool if true." + }, + "sqlTempDbSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SQLTempDbSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageWorkloadType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GENERAL", + "OLTP", + "DW" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage workload type." + } + }, + "description": "Storage Configurations for SQL Data, Log and TempDb." + }, + "WsfcDomainCredentials": { + "type": "object", + "properties": { + "clusterBootstrapAccountPassword": { + "type": "string", + "description": "Cluster bootstrap account password." + }, + "clusterOperatorAccountPassword": { + "type": "string", + "description": "Cluster operator account password." + }, + "sqlServiceAccountPassword": { + "type": "string", + "description": "SQL service account password." + } + }, + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group." + }, + "WsfcDomainProfile": { + "type": "object", + "properties": { + "clusterBootstrapAccount": { + "type": "string", + "description": "Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain)." + }, + "clusterOperatorAccount": { + "type": "string", + "description": "Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster." + }, + "domainFqdn": { + "type": "string", + "description": "Fully qualified name of the domain." + }, + "fileShareWitnessPath": { + "type": "string", + "description": "Optional path for fileshare witness." + }, + "ouPath": { + "type": "string", + "description": "Organizational Unit path in which the nodes and cluster will be present." + }, + "sqlServiceAccount": { + "type": "string", + "description": "Account name under which SQL service will run on all participating SQL virtual machines in the cluster." + }, + "storageAccountPrimaryKey": { + "type": "string", + "description": "Primary key of the witness storage account." + }, + "storageAccountUrl": { + "type": "string", + "description": "Fully qualified ARM resource id of the witness storage account." + } + }, + "description": "Active Directory account details to operate Windows Server Failover Cluster." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index aa9b07680e..c936982582 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -13936,6 +13936,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-03-01-preview/Microsoft.SqlVirtualMachine.json#/resourceDefinitions/sqlVirtualMachines" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json#/resourceDefinitions/sqlVirtualMachineGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json#/resourceDefinitions/sqlVirtualMachineGroups_availabilityGroupListeners" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-01-preview/Microsoft.SqlVirtualMachine.json#/resourceDefinitions/sqlVirtualMachines" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-05-01-preview/Microsoft.Storage.json#/resourceDefinitions/storageAccounts" },