diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json index e7efa8586d..a0c6cb6408 100644 --- a/schemas/2014-04-01-preview/deploymentTemplate.json +++ b/schemas/2014-04-01-preview/deploymentTemplate.json @@ -156,6 +156,13 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/autoscalesettings" }, @@ -1843,6 +1850,8 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_groups_assessments" }, { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_hypervcollectors" }, { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_vmwarecollectors" }, + { "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections" }, + { "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections_moveResources" }, { "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Insights.json#/resourceDefinitions/actionGroups" }, { "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationDefinitions" }, diff --git a/schemas/2015-01-01/deploymentTemplate.json b/schemas/2015-01-01/deploymentTemplate.json index 89255d5233..75c028eb20 100644 --- a/schemas/2015-01-01/deploymentTemplate.json +++ b/schemas/2015-01-01/deploymentTemplate.json @@ -202,6 +202,13 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/autoscalesettings" }, diff --git a/schemas/2015-06-01/Microsoft.Cdn.json b/schemas/2015-06-01/Microsoft.Cdn.json index f4c32538eb..4800bb72d2 100644 --- a/schemas/2015-06-01/Microsoft.Cdn.json +++ b/schemas/2015-06-01/Microsoft.Cdn.json @@ -595,4 +595,4 @@ "description": "The SKU (pricing tier) of the CDN profile." } } -} \ No newline at end of file +} diff --git a/schemas/2015-06-15/Microsoft.Compute.json b/schemas/2015-06-15/Microsoft.Compute.json new file mode 100644 index 0000000000..14fe5d8914 --- /dev/null +++ b/schemas/2015-06-15/Microsoft.Compute.json @@ -0,0 +1,2035 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-06-15/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "availabilitySets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilitySetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a resource." + }, + "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.Compute/availabilitySets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/availabilitySets" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_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.Compute/virtualMachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" + }, + "virtualMachineScaleSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/virtualMachineScaleSets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OobeSystem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pass name. Currently, the only allowable value is OobeSystem." + }, + "settingName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "virtualMachines": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references to all virtual machines in the availability set." + } + }, + "description": "The instance view of a resource." + }, + "BootDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "DataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + } + }, + "required": [ + "createOption", + "lun", + "name", + "vhd" + ], + "description": "Describes a data disk." + }, + "DiagnosticsProfile": { + "type": "object", + "properties": { + "bootDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/BootDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Secret" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Key" + } + }, + "required": [ + "diskEncryptionKey" + ], + "description": "Describes a Encryption Settings for a Disk" + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)." + } + }, + "description": "Specifies the hardware settings for the virtual machine." + }, + "ImageReference": { + "type": "object", + "properties": { + "offer": { + "type": "string", + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "InstanceViewStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Info", + "Warning", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The level code." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "KeyVaultKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" + }, + "KeyVaultSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "disablePasswordAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether password authentication should be disabled." + }, + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "NetworkInterfaceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a network interface reference properties." + } + }, + "description": "Describes a network interface reference." + }, + "NetworkInterfaceReferenceProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + } + }, + "description": "Specifies the network interfaces of the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

This value cannot be larger than 1023 GB" + }, + "encryptionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a Encryption Settings for a Disk" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

Possible values are:

**Windows**

**Linux**." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + } + }, + "required": [ + "createOption", + "name", + "vhd" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the virtual machine." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + }, + "UpgradePolicy": { + "type": "object", + "properties": { + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + } + }, + "description": "Describes an upgrade policy - automatic or manual." + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "VirtualMachineExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The virtual machine extension name." + }, + "statuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "substatuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "instanceView": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineProperties": { + "type": "object", + "properties": { + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetExtension": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set child extension resources." + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the extension handler should be automatically upgraded across minor versions." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "Json formatted protected settings for the extension." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "The type of the extension handler." + }, + "typeHandlerVersion": { + "type": "string", + "description": "The type version of the extension handler." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetIPConfigurationProperties": { + "type": "object", + "properties": { + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The load balancer backend address pools." + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The load balancer inbound nat pools." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + } + }, + "required": [ + "subnet" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "type": "object", + "properties": { + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set IP Configuration." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether this is a primary NIC on a virtual machine." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetNetworkProfile": { + "type": "object", + "properties": { + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetOSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhdContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of virtual hard disk container uris." + } + }, + "required": [ + "createOption", + "name" + ], + "description": "Describes a virtual machine scale set operating system disk." + }, + "VirtualMachineScaleSetOSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerNamePrefix": { + "type": "string", + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + }, + "customData": { + "type": "string", + "description": "A base-64 encoded string of custom data." + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The List of certificates for addition to the VM." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetProperties": { + "type": "object", + "properties": { + "overProvision": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an upgrade policy - automatic or manual." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set virtual machine profile." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "VirtualMachineScaleSetVMProfile": { + "type": "object", + "properties": { + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set extension profile." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set OS profile." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set storage profile." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { + "additionalUnattendContent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine is enabled for automatic updates." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + }, + "winRM": { + "oneOf": [ + { + "$ref": "#/definitions/WinRMConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes Windows Remote Management configuration of the VM" + } + }, + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "WinRMConfiguration": { + "type": "object", + "properties": { + "listeners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WinRMListener" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Windows Remote Management listeners" + } + }, + "description": "Describes Windows Remote Management configuration of the VM" + }, + "WinRMListener": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." + } + }, + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" + } + } +} diff --git a/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json b/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json index ed0c3d6571..8dabf6ecf8 100644 --- a/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json +++ b/schemas/2015-10-01-preview/Microsoft.DataLakeStore.json @@ -298,4 +298,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/2015-11-01-preview/Microsoft.ContainerService.json b/schemas/2015-11-01-preview/Microsoft.ContainerService.json new file mode 100644 index 0000000000..0487f60c53 --- /dev/null +++ b/schemas/2015-11-01-preview/Microsoft.ContainerService.json @@ -0,0 +1,394 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-11-01-preview/Microsoft.ContainerService.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerService", + "description": "Microsoft ContainerService Resource Types", + "resourceDefinitions": { + "containerServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the container service within the given subscription and resource group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of container service" + }, + "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.ContainerService/containerServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerService/containerServices" + } + }, + "definitions": { + "ContainerServiceAgentPoolProfile": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "No. of agents (VMs) that will host docker containers" + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create FQDN for this agent pool" + }, + "name": { + "type": "string", + "description": "Unique name of the agent pool profile within the context of the subscription and resource group" + }, + "vmSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Size of agent VMs." + } + }, + "required": [ + "dnsPrefix", + "name" + ], + "description": "Profile for container service agent pool" + }, + "ContainerServiceDiagnosticsProfile": { + "type": "object", + "properties": { + "vmDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceVMDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes VM Diagnostics." + } + } + }, + "ContainerServiceLinuxProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for all Linux VMs" + }, + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceSshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VM" + }, + "ContainerServiceMasterProfile": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of masters (VMs) in the container cluster" + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create FQDN for master" + } + }, + "required": [ + "dnsPrefix" + ], + "description": "Profile for container service master" + }, + "ContainerServiceOrchestratorProfile": { + "type": "object", + "properties": { + "orchestratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Mesos", + "SwarmPreview", + "DCOS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies what orchestrator will be used to manage container cluster resources." + } + }, + "description": "Profile for Orchestrator" + }, + "ContainerServiceProperties": { + "type": "object", + "properties": { + "agentPoolProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceAgentPoolProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of agent pools" + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceDiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "linuxProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceLinuxProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for Linux VM" + }, + "masterProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceMasterProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for container service master" + }, + "orchestratorProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceOrchestratorProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for Orchestrator" + }, + "windowsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerServiceWindowsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for Windows jumpbox" + } + }, + "required": [ + "agentPoolProfiles", + "linuxProfile", + "masterProfile" + ], + "description": "Properties of container service" + }, + "ContainerServiceSshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the list of SSH public keys used to authenticate with Linux based VMs" + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "ContainerServiceSshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "Gets or sets Certificate public key used to authenticate with VM through SSH. The certificate must be in Pem format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ContainerServiceVMDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets whether VM Diagnostic Agent should be provisioned on the Virtual Machine." + } + }, + "description": "Describes VM Diagnostics." + }, + "ContainerServiceWindowsProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "The administrator password to use for Windows jumpbox" + }, + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Windows jumpbox" + } + }, + "required": [ + "adminPassword", + "adminUsername" + ], + "description": "Profile for Windows jumpbox" + } + } +} diff --git a/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json b/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json index 48ae64338f..47086f867f 100644 --- a/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json +++ b/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json @@ -146,4 +146,4 @@ "description": "The SKU of the cognitive services account." } } -} \ No newline at end of file +} diff --git a/schemas/2016-03-30/Microsoft.Compute.json b/schemas/2016-03-30/Microsoft.Compute.json new file mode 100644 index 0000000000..41b28a3b1a --- /dev/null +++ b/schemas/2016-03-30/Microsoft.Compute.json @@ -0,0 +1,2115 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "availabilitySets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-03-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilitySetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a resource." + }, + "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.Compute/availabilitySets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/availabilitySets" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-03-30" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_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.Compute/virtualMachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" + }, + "virtualMachineScaleSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-03-30" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/virtualMachineScaleSets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-03-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OobeSystem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pass name. Currently, the only allowable value is OobeSystem." + }, + "settingName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "virtualMachines": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references to all virtual machines in the availability set." + } + }, + "description": "The instance view of a resource." + }, + "BootDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "DataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + } + }, + "required": [ + "createOption", + "lun", + "name", + "vhd" + ], + "description": "Describes a data disk." + }, + "DiagnosticsProfile": { + "type": "object", + "properties": { + "bootDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/BootDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Secret" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Key" + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

    [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

    [List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

    [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)." + } + }, + "description": "Specifies the hardware settings for the virtual machine." + }, + "ImageReference": { + "type": "object", + "properties": { + "offer": { + "type": "string", + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "InstanceViewStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Info", + "Warning", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The level code." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "KeyVaultKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" + }, + "KeyVaultSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "disablePasswordAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether password authentication should be disabled." + }, + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "NetworkInterfaceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a network interface reference properties." + } + }, + "description": "Describes a network interface reference." + }, + "NetworkInterfaceReferenceProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + } + }, + "description": "Specifies the network interfaces of the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "encryptionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a Encryption Settings for a Disk" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + } + }, + "required": [ + "createOption", + "name", + "vhd" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the virtual machine." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + }, + "UpgradePolicy": { + "type": "object", + "properties": { + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + } + }, + "description": "Describes an upgrade policy - automatic or manual." + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "VirtualMachineExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The virtual machine extension name." + }, + "statuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "substatuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "instanceView": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "Identity for the virtual machine." + }, + "VirtualMachineProperties": { + "type": "object", + "properties": { + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetExtension": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set child extension resources." + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the extension handler should be automatically upgraded across minor versions." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "Json formatted protected settings for the extension." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "The type of the extension handler." + }, + "typeHandlerVersion": { + "type": "string", + "description": "The type version of the extension handler." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine scale set. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "Identity for the virtual machine scale set." + }, + "VirtualMachineScaleSetIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetIPConfigurationProperties": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application gateway backend address pools." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The load balancer backend address pools." + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The load balancer inbound nat pools." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + } + }, + "required": [ + "subnet" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "type": "object", + "properties": { + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set IP Configuration." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether this is a primary NIC on a virtual machine." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetNetworkProfile": { + "type": "object", + "properties": { + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetOSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhdContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of virtual hard disk container uris." + } + }, + "required": [ + "createOption", + "name" + ], + "description": "Describes a virtual machine scale set operating system disk." + }, + "VirtualMachineScaleSetOSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerNamePrefix": { + "type": "string", + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + }, + "customData": { + "type": "string", + "description": "A base-64 encoded string of custom data." + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The List of certificates for addition to the VM." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetProperties": { + "type": "object", + "properties": { + "overProvision": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an upgrade policy - automatic or manual." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set virtual machine profile." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "VirtualMachineScaleSetVMProfile": { + "type": "object", + "properties": { + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set extension profile." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set OS profile." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set storage profile." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-03-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { + "additionalUnattendContent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine is enabled for automatic updates." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + }, + "winRM": { + "oneOf": [ + { + "$ref": "#/definitions/WinRMConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes Windows Remote Management configuration of the VM" + } + }, + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "WinRMConfiguration": { + "type": "object", + "properties": { + "listeners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WinRMListener" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Windows Remote Management listeners" + } + }, + "description": "Describes Windows Remote Management configuration of the VM" + }, + "WinRMListener": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." + } + }, + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" + } + } +} diff --git a/schemas/2016-03-30/Microsoft.ContainerService.json b/schemas/2016-03-30/Microsoft.ContainerService.json index 31213cc4f6..56cc060a01 100644 --- a/schemas/2016-03-30/Microsoft.ContainerService.json +++ b/schemas/2016-03-30/Microsoft.ContainerService.json @@ -404,4 +404,4 @@ "description": "Profile for Windows VMs in the container service cluster." } } -} \ No newline at end of file +} diff --git a/schemas/2016-04-02/Microsoft.Cdn.json b/schemas/2016-04-02/Microsoft.Cdn.json index 00812e7cd3..53daac8471 100644 --- a/schemas/2016-04-02/Microsoft.Cdn.json +++ b/schemas/2016-04-02/Microsoft.Cdn.json @@ -579,4 +579,4 @@ "description": "The SKU (pricing tier) of the CDN profile." } } -} \ No newline at end of file +} diff --git a/schemas/2016-04-30-preview/Microsoft.Compute.json b/schemas/2016-04-30-preview/Microsoft.Compute.json index 2908e65da0..68d480576d 100644 --- a/schemas/2016-04-30-preview/Microsoft.Compute.json +++ b/schemas/2016-04-30-preview/Microsoft.Compute.json @@ -7,18 +7,20 @@ "availabilitySets": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-04-30-preview" ] }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the availability set." + }, "properties": { "oneOf": [ { @@ -27,7 +29,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The instance view of a resource." }, "sku": { "oneOf": [ @@ -38,239 +41,174 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set" - } - }, - "required": [ - "type", - "apiVersion", - "properties", - "location" - ], - "description": "Microsoft.Compute/availabilitySets" - }, - "images": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2016-04-30-preview" - ] + "description": "Describes a virtual machine scale set sku." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/availabilitySets" ] } }, "required": [ - "type", "apiVersion", + "location", + "name", "properties", - "location" + "type" ], - "description": "Microsoft.Compute/images" + "description": "Microsoft.Compute/availabilitySets" }, - "virtualMachines": { + "disks": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-04-30-preview" ] }, - "plan": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "$ref": "#/definitions/DiskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The purchase plan when deploying virtual machine from VM Marketplace images." + "description": "Disk resource properties." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/extensionsChild" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/disks" + ] } }, "required": [ - "type", "apiVersion", + "location", + "name", "properties", - "location" + "type" ], - "description": "Microsoft.Compute/virtualMachines" + "description": "Microsoft.Compute/disks" }, - "extensions": { + "images": { "type": "object", "properties": { - "type": { - "enum": [ - "Microsoft.Compute/virtualMachines/extensions" - ] - }, "apiVersion": { + "type": "string", "enum": [ "2016-04-30-preview" ] }, - "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} - ] - } - }, - "required": [ - "type", - "properties", - "apiVersion", - "location" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, - "virtualMachineScaleSets": { - "type": "object", - "properties": { - "type": { + "location": { "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] + "description": "Resource location" }, - "apiVersion": { + "name": { "type": "string", - "enum": [ - "2016-04-30-preview" - ] + "description": "The name of the image." }, - "sku": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set sku." + "description": "Describes the properties of an Image." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The purchase plan when deploying a virtual machine scale set from VM Marketplace images." + "description": "Resource tags" }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineScaleSetProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/images" ] } }, "required": [ - "type", "apiVersion", - "sku", + "location", + "name", "properties", - "location" + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets" + "description": "Microsoft.Compute/images" }, - "disks": { + "snapshots": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/disks" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-04-30-preview" ] }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot within the given subscription and resource group." + }, "properties": { "oneOf": [ { @@ -279,331 +217,362 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Disk resource 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.Compute/snapshots" ] } }, "required": [ - "type", "apiVersion", + "location", + "name", "properties", - "location" + "type" ], - "description": "Microsoft.Compute/disks" + "description": "Microsoft.Compute/snapshots" }, - "snapshots": { + "virtualMachines": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/snapshots" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-04-30-preview" ] }, - "properties": { + "identity": { "oneOf": [ { - "$ref": "#/definitions/DiskProperties" + "$ref": "#/definitions/VirtualMachineIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - } - }, - "required": [ - "type", - "apiVersion", - "properties", - "location" - ], - "description": "Microsoft.Compute/snapshots" - } - }, - "definitions": { - "extensionsChild": { - "type": "object", - "properties": { - "type": { - "enum": [ - "extensions" - ] + ], + "description": "Identity for the virtual machine." }, - "apiVersion": { - "enum": [ - "2016-04-30-preview" - ] + "location": { + "type": "string", + "description": "Resource location" }, - "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} - ] - } - }, - "required": [ - "type", - "apiVersion", - "properties", - "location" - ], - "description": "Microsoft.Compute/extensionsChild" - }, - "AdditionalUnattendContent": { - "type": "object", - "properties": { - "passName": { + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { "oneOf": [ { - "type": "string", - "enum": [ - "oobeSystem" - ] + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is oobeSystem." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "componentName": { + "properties": { "oneOf": [ { - "type": "string", - "enum": [ - "Microsoft-Windows-Shell-Setup" - ] + "$ref": "#/definitions/VirtualMachineProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "Describes the properties of a Virtual Machine." }, - "settingName": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "type": "string", - "enum": [ - "AutoLogon", - "FirstLogonCommands" - ] + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Setting name (e.g. FirstLogonCommands, AutoLogon )." + "description": "Resource tags" }, - "content": { + "type": { "type": "string", - "description": "XML formatted content that is added to the unattend.xml file in the specified pass and component. The XML must be less than 4 KB and must include the root element for the setting or feature that is being inserted." + "enum": [ + "Microsoft.Compute/virtualMachines" + ] } }, - "description": "Additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is a applied." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" }, - "ApiEntityReference": { + "virtualMachineScaleSets": { "type": "object", "properties": { - "id": { + "apiVersion": { "type": "string", - "description": "The ARM resource id in the form of /subscriptions/{SubcriptionId}/resourceGroups/{ResourceGroupName}/..." - } - }, - "description": "The API entity reference." - }, - "AvailabilitySetProperties": { - "type": "object", - "properties": { - "platformUpdateDomainCount": { + "enum": [ + "2016-04-30-preview" + ] + }, + "identity": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Update Domain count." + "description": "Identity for the virtual machine scale set." }, - "platformFaultDomainCount": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "virtualMachines": { + "properties": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A list of references to all virtual machines in the availability set." + "description": "Describes the properties of a Virtual Machine Scale Set." }, - "managed": { + "sku": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If the availability set supports managed disks." - } - }, - "description": "The instance view of a resource." - }, - "BootDiagnostics": { - "type": "object", - "properties": { - "enabled": { + "description": "Describes a virtual machine scale set sku." + }, + "tags": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + "description": "Resource tags" }, - "storageUri": { + "type": { "type": "string", - "description": "URI of the storage account to use for placing the console output and screenshot." + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets" + ] } }, - "description": "Describes Boot Diagnostics." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" }, - "DataDisk": { + "virtualMachines_extensions": { "type": "object", "properties": { - "lun": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-30-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The logical unit number." - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Describes the properties of a Virtual Machine Extension." }, - "vhd": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Resource tags" }, - "image": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. This virtual hard disk will be copied before using it to attach to the virtual machine. If SourceImage is provided, the destination virtual hard disk must not exist." + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." }, - "caching": { + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "OobeSystem" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "The pass name. Currently, the only allowable value is OobeSystem." }, - "createOption": { + "settingName": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "AutoLogon", + "FirstLogonCommands" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "managed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the availability set supports managed disks." }, - "diskSizeGB": { + "platformFaultDomainCount": { "oneOf": [ { "type": "integer" @@ -612,1888 +581,1688 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial disk size in GB for blank data disks, and the new desired size for resizing existing OS and data disks." + "description": "Fault Domain count." }, - "managedDisk": { + "platformUpdateDomainCount": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." - } - }, - "required": [ - "lun", - "createOption" - ], - "description": "Describes a data disk." - }, - "DiagnosticsProfile": { - "type": "object", - "properties": { - "bootDiagnostics": { + "description": "Update Domain count." + }, + "virtualMachines": { "oneOf": [ { - "$ref": "#/definitions/BootDiagnostics" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Boot Diagnostics is a debugging feature which allows the user to view console output and/or a screenshot of the virtual machine from the hypervisor." + "description": "A list of references to all virtual machines in the availability set." } }, - "description": "Describes a diagnostics profile." + "description": "The instance view of a resource." }, - "DiskEncryptionSettings": { + "BootDiagnostics": { "type": "object", "properties": { - "diskEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultSecretReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The disk encryption key which is a Key Vault Secret." + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." }, - "keyEncryptionKey": { + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "CreationData": { + "type": "object", + "properties": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The key encryption key which is Key Vault Key." + "description": "This enumerates the possible sources of a disk's creation." }, - "enabled": { + "imageReference": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/ImageDiskReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk. If createOption is Restore, this is the ARM-like id of the source disk restore point." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is a SAS URI to a blob to be imported into a managed disk. If createOption is Copy, this is a relative Uri containing the id of the source snapshot to be copied into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" } }, - "description": "Describes a Encryption Settings for a Disk" + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." }, - "HardwareProfile": { + "DataDisk": { "type": "object", "properties": { - "vmSize": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Basic_A0", - "Basic_A1", - "Basic_A2", - "Basic_A3", - "Basic_A4", - "Standard_A0", - "Standard_A1", - "Standard_A2", - "Standard_A3", - "Standard_A4", - "Standard_A5", - "Standard_A6", - "Standard_A7", - "Standard_A8", - "Standard_A9", - "Standard_A10", - "Standard_A11", - "Standard_D1", - "Standard_D2", - "Standard_D3", - "Standard_D4", - "Standard_D11", - "Standard_D12", - "Standard_D13", - "Standard_D14", - "Standard_D1_v2", - "Standard_D2_v2", - "Standard_D3_v2", - "Standard_D4_v2", - "Standard_D5_v2", - "Standard_D11_v2", - "Standard_D12_v2", - "Standard_D13_v2", - "Standard_D14_v2", - "Standard_D15_v2", - "Standard_DS1", - "Standard_DS2", - "Standard_DS3", - "Standard_DS4", - "Standard_DS11", - "Standard_DS12", - "Standard_DS13", - "Standard_DS14", - "Standard_DS1_v2", - "Standard_DS2_v2", - "Standard_DS3_v2", - "Standard_DS4_v2", - "Standard_DS5_v2", - "Standard_DS11_v2", - "Standard_DS12_v2", - "Standard_DS13_v2", - "Standard_DS14_v2", - "Standard_DS15_v2", - "Standard_G1", - "Standard_G2", - "Standard_G3", - "Standard_G4", - "Standard_G5", - "Standard_GS1", - "Standard_GS2", - "Standard_GS3", - "Standard_GS4", - "Standard_GS5" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine size name." - } - }, - "description": "Describes a hardware profile." - }, - "ImageDataDisk": { - "type": "object", - "properties": { - "lun": { + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The logical unit number." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "image": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "Describes the uri of a disk." }, - "caching": { + "lun": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "diskSizeGB": { + "managedDisk": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + "description": "The parameters of a managed disk." }, - "storageAccountType": { + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." + "description": "Describes the uri of a disk." } }, "required": [ + "createOption", "lun" ], "description": "Describes a data disk." }, - "ImageOSDisk": { + "DiagnosticsProfile": { "type": "object", "properties": { - "osType": { + "bootDiagnostics": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/BootDiagnostics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." - }, - "osState": { + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { "oneOf": [ { - "type": "string", - "enum": [ - "Generalized", - "Specialized" - ] + "$ref": "#/definitions/KeyVaultSecretReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Describes a reference to Key Vault Secret" }, - "snapshot": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies whether disk encryption should be enabled on the virtual machine." }, - "managedDisk": { + "keyEncryptionKey": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/KeyVaultKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." - }, - "caching": { + "description": "Describes a reference to Key Vault Key" + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "DiskProperties": { + "type": "object", + "properties": { + "accountType": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Standard_LRS", + "Premium_LRS" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "the storage account type of the disk." }, - "diskSizeGB": { + "creationData": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/CreationData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial managed disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + "description": "Data used when creating a disk." }, - "storageAccountType": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." - } - }, - "required": [ - "osType", - "osState" - ], - "description": "Describes an Operating System disk." - }, - "ImageProperties": { - "type": "object", - "properties": { - "sourceVirtualMachine": { + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettings": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/EncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source virtual machine from which Image is created." + "description": "Encryption settings for disk or snapshot" }, - "storageProfile": { + "osType": { "oneOf": [ { - "$ref": "#/definitions/ImageStorageProfile" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage profile." + "description": "The Operating System type." } }, - "description": "Describes the properties of an Image." + "required": [ + "creationData" + ], + "description": "Disk resource properties." }, - "ImageReference": { + "EncryptionSettings": { "type": "object", "properties": { - "id": { - "type": "string", - "description": "Resource Id" - }, - "publisher": { - "type": "string", - "description": "The image publisher." - }, - "offer": { - "type": "string", - "description": "The image offer." - }, - "sku": { - "type": "string", - "description": "The image SKU." + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Secret Url and vault id of the encryption key " }, - "version": { - "type": "string", - "description": "The image version. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor and Build are decimal numbers. Specify 'latest' to use the latest version of the image." - } - }, - "description": "The image reference." - }, - "ImageStorageProfile": { - "type": "object", - "properties": { - "osDisk": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/ImageOSDisk" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS disk." + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." }, - "dataDisks": { + "keyEncryptionKey": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ImageDataDisk" - } + "$ref": "#/definitions/KeyVaultAndKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data disks." + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" } }, - "required": [ - "osDisk" - ], - "description": "Describes a storage profile." + "description": "Encryption settings for disk or snapshot" }, - "InstanceViewStatus": { + "HardwareProfile": { "type": "object", "properties": { - "code": { - "type": "string", - "description": "The status code." - }, - "level": { + "vmSize": { "oneOf": [ { "type": "string", "enum": [ - "Info", - "Warning", - "Error" + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The level code." - }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, - "message": { - "type": "string", - "description": "The detailed status message, including for alerts and error messages." - }, - "time": { - "type": "string", - "format": "date-time", - "description": "The time of the status." + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

    [List all available virtual machine sizes in an availability set](virtualmachines-list-sizes-availability-set.md)

    [List all available virtual machine sizes in a region](virtualmachines-list-sizes-region.md)

    [List all available virtual machine sizes for resizing](virtualmachines-list-sizes-for-resizing.md)." } }, - "description": "Instance view status." + "description": "Specifies the hardware settings for the virtual machine." }, - "KeyVaultKeyReference": { + "ImageDataDisk": { "type": "object", "properties": { - "keyUrl": { + "blobUri": { "type": "string", - "description": "The URL referencing a key in a Key Vault." + "description": "The Virtual Hard Disk." }, - "sourceVault": { + "caching": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The relative URL of the Key Vault containing the key." - } - }, - "required": [ - "keyUrl", - "sourceVault" - ], - "description": "Describes a reference to Key Vault Key" - }, - "KeyVaultSecretReference": { - "type": "object", - "properties": { - "secretUrl": { - "type": "string", - "description": "The URL referencing a secret in a Key Vault." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "sourceVault": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The relative URL of the Key Vault containing the secret." - } - }, - "required": [ - "secretUrl", - "sourceVault" - ], - "description": "Describes a reference to Key Vault Secret" - }, - "LinuxConfiguration": { - "type": "object", - "properties": { - "disablePasswordAuthentication": { + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether password authentication should be disabled." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "ssh": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/SshConfiguration" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The SSH configuration for linux VMs." - } - }, - "description": "Describes Linux configuration of the OS Profile." - }, - "ManagedDiskParameters": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource Id" + ] }, - "storageAccountType": { + "snapshot": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The Storage Account type." + ] } }, - "description": "The parameters of a managed disk." + "required": [ + "lun" + ], + "description": "Describes a data disk." }, - "NetworkInterfaceReference": { + "ImageDiskReference": { "type": "object", "properties": { "id": { "type": "string", - "description": "Resource Id" + "description": "A relative uri containing either a Platform Image Repository or user image reference." }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/NetworkInterfaceReferenceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "description": "Describes a network interface reference." - }, - "NetworkInterfaceReferenceProperties": { - "type": "object", - "properties": { - "primary": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." - } - }, - "description": "Describes a network interface reference properties." - }, - "NetworkProfile": { - "type": "object", - "properties": { - "networkInterfaces": { + "lun": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/NetworkInterfaceReference" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the list of resource IDs for the network interfaces associated with the virtual machine." + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." } }, - "description": "Describes a network profile." + "required": [ + "id" + ], + "description": "The source image used for creating the disk." }, - "OSDisk": { + "ImageOSDisk": { "type": "object", "properties": { - "osType": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The disk encryption settings." - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "vhd": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The virtual hard disk." + ] }, - "image": { + "osState": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before using it to attach to the virtual machine. If SourceImage is provided, the destination virtual hard disk must not exist." + "description": "The OS State." }, - "caching": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." }, - "createOption": { + "snapshot": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The create option." - }, - "diskSizeGB": { + ] + } + }, + "required": [ + "osState", + "osType" + ], + "description": "Describes an Operating System disk." + }, + "ImageProperties": { + "type": "object", + "properties": { + "sourceVirtualMachine": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The initial disk size, in GB, for blank data disks, and the new desired size for resizing existing OS and data disks." + ] }, - "managedDisk": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "$ref": "#/definitions/ImageStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes a storage profile." } }, - "required": [ - "createOption" - ], - "description": "Describes an Operating System disk." + "description": "Describes the properties of an Image." }, - "OSProfile": { + "ImageReference": { "type": "object", "properties": { - "computerName": { + "id": { "type": "string", - "description": "Specifies the host OS name of the virtual machine." + "description": "Resource Id" }, - "adminUsername": { + "offer": { "type": "string", - "description": "Specifies the name of the administrator account." + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, - "adminPassword": { + "publisher": { "type": "string", - "description": "Specifies the password of the administrator account." + "description": "The image publisher." }, - "customData": { + "sku": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes" - }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The Windows configuration of the OS profile." + "description": "The image SKU." }, - "linuxConfiguration": { + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + }, + "ImageStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/LinuxConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Linux configuration of the OS profile." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "secrets": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VaultSecretGroup" - } + "$ref": "#/definitions/ImageOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of certificates for addition to the VM." + "description": "Describes an Operating System disk." } }, - "description": "Describes an OS profile." + "required": [ + "osDisk" + ], + "description": "Describes a storage profile." }, - "Plan": { + "InstanceViewStatus": { "type": "object", "properties": { - "name": { + "code": { "type": "string", - "description": "The plan ID." + "description": "The status code." }, - "publisher": { + "displayStatus": { "type": "string", - "description": "The publisher ID." + "description": "The short localizable label for the status." }, - "product": { + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Info", + "Warning", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The level code." + }, + "message": { "type": "string", - "description": "The offer ID." + "description": "The detailed status message, including for alerts and error messages." }, - "promotionCode": { + "time": { "type": "string", - "description": "The promotion code." + "format": "date-time", + "description": "The time of the status." } }, - "description": "Plan for the resource." + "description": "Instance view status." }, - "Sku": { + "KeyVaultAndKeyReference": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The sku name." - }, - "tier": { + "keyUrl": { "type": "string", - "description": "The sku tier." + "description": "Url pointing to a key or secret in KeyVault" }, - "capacity": { + "sourceVault": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SourceVault" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The sku capacity." + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, - "description": "Describes a virtual machine scale set sku." + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" }, - "SshConfiguration": { + "KeyVaultAndSecretReference": { "type": "object", "properties": { - "publicKeys": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SshPublicKey" - } + "$ref": "#/definitions/SourceVault" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of SSH public keys used to authenticate with linux based VMs." + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, - "description": "SSH configuration for Linux based VMs running on Azure" + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " }, - "SshPublicKey": { + "KeyVaultKeyReference": { "type": "object", "properties": { - "path": { + "keyUrl": { "type": "string", - "description": "Specifies the full path on the created VM where SSH public key is stored. If the file already exists, the specified key is appended to the file." + "description": "The URL referencing a key encryption key in Key Vault." }, - "keyData": { - "type": "string", - "description": "Certificate public key used to authenticate to the VM through SSH. The certificate must be in Pem format with or without headers." + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, - "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" }, - "StorageProfile": { + "KeyVaultSecretReference": { "type": "object", "properties": { - "imageReference": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The image reference." - }, - "osDisk": { + ] + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "disablePasswordAuthentication": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS disk." + "description": "Specifies whether password authentication should be disabled." }, - "dataDisks": { + "ssh": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/SshConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data disks." + "description": "SSH configuration for Linux based VMs running on Azure" } }, - "description": "Describes a storage profile." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "SubResource": { + "ManagedDiskParameters": { "type": "object", "properties": { "id": { "type": "string", "description": "Resource Id" - } - } - }, - "UpgradePolicy": { - "type": "object", - "properties": { - "mode": { + }, + "storageAccountType": { "oneOf": [ { "type": "string", "enum": [ - "Automatic", - "Manual" + "Standard_LRS", + "Premium_LRS" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade mode." + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS or Premium_LRS." } }, - "description": "Describes an upgrade policy - automatic or manual." + "description": "The parameters of a managed disk." }, - "VaultCertificate": { + "NetworkInterfaceReference": { "type": "object", "properties": { - "certificateUrl": { + "id": { "type": "string", - "description": "The URL referencing a secret in a Key Vault which contains a properly formatted certificate." + "description": "Resource Id" }, - "certificateStore": { - "type": "string", - "description": "The Certificate store in LocalMachine to add the certificate to on Windows, leave empty on Linux." - } - }, - "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." - }, - "VaultSecretGroup": { - "type": "object", - "properties": { - "sourceVault": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Relative URL of the Key Vault containing all of the certificates in VaultCertificates." - }, - "vaultCertificates": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VaultCertificate" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of key vault references in SourceVault which contain certificates." - } - }, - "description": "Describes a set of certificates which are all in the same Key Vault." - }, - "VirtualHardDisk": { - "type": "object", - "properties": { - "uri": { - "type": "string", - "description": "The virtual hard disk's URI. Must be a valid URI to a virtual hard disk." + "description": "Describes a network interface reference properties." } }, - "description": "Describes the uri of a disk." + "description": "Describes a network interface reference." }, - "VirtualMachineExtensionInstanceView": { + "NetworkInterfaceReferenceProperties": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The virtual machine extension name." - }, - "type": { - "type": "string", - "description": "The full type of the extension handler which includes both publisher and type." - }, - "typeHandlerVersion": { - "type": "string", - "description": "The type version of the extension handler." - }, - "substatuses": { + "primary": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/InstanceViewStatus" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The resource status information." - }, - "statuses": { + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "networkInterfaces": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/InstanceViewStatus" + "$ref": "#/definitions/NetworkInterfaceReference" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The resource status information." + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." } }, - "description": "The instance view of a virtual machine extension." + "description": "Specifies the network interfaces of the virtual machine." }, - "VirtualMachineExtensionProperties": { + "OSDisk": { "type": "object", "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "The type of the extension handler." - }, - "typeHandlerVersion": { - "type": "string", - "description": "The type version of the extension handler." - }, - "autoUpgradeMinorVersion": { + "caching": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether the extension handler should be automatically upgraded across minor versions." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "settings": { + "createOption": { "oneOf": [ { - "type": "object" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Json formatted public settings for the extension." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "protectedSettings": { + "diskSizeGB": { "oneOf": [ { - "type": "object" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Json formatted protected settings for the extension." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "instanceView": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineExtensionInstanceView" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The virtual machine extension instance view." - } - }, - "description": "Describes the properties of a Virtual Machine Extension." - }, - "VirtualMachineProperties": { - "type": "object", - "properties": { - "hardwareProfile": { + "encryptionSettings": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The hardware profile." + "description": "Describes a Encryption Settings for a Disk" }, - "storageProfile": { + "image": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage profile." + "description": "Describes the uri of a disk." }, - "osProfile": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS profile." + "description": "The parameters of a managed disk." }, - "networkProfile": { - "oneOf": [ - { - "$ref": "#/definitions/NetworkProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The network profile." + "name": { + "type": "string", + "description": "The disk name." }, - "diagnosticsProfile": { + "osType": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The diagnostics profile." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "availabilitySet": { + "vhd": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The reference Id of the availability set to which the virtual machine belongs." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system." + "description": "Describes the uri of a disk." } }, - "description": "Describes the properties of a Virtual Machine." + "required": [ + "createOption" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "VirtualMachineScaleSetDataDisk": { + "OSProfile": { "type": "object", "properties": { - "name": { + "adminPassword": { "type": "string", - "description": "The disk name." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, - "lun": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The logical unit number." + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "caching": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The caching type." + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." }, - "createOption": { + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "$ref": "#/definitions/LinuxConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "diskSizeGB": { + "secrets": { "oneOf": [ { - "type": "integer" + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + "description": "Specifies set of certificates that should be installed onto the virtual machine." }, - "managedDisk": { + "windowsConfiguration": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies Windows operating system settings on the virtual machine." } }, - "required": [ - "lun", - "createOption" - ], - "description": "Describes a virtual machine scale set data disk." + "description": "Specifies the operating system settings for the virtual machine." }, - "VirtualMachineScaleSetExtension": { + "Plan": { "type": "object", "properties": { "name": { "type": "string", - "description": "The name of the extension." + "description": "The plan ID." }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, - "description": "Describes a Virtual Machine Scale Set Extension." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "VirtualMachineScaleSetExtensionProfile": { + "Sku": { "type": "object", "properties": { - "extensions": { + "capacity": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetExtension" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set child extension resources." + "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" } }, - "description": "Describes a virtual machine scale set extension profile." + "description": "Describes a virtual machine scale set sku." }, - "VirtualMachineScaleSetExtensionProperties": { + "SourceVault": { "type": "object", "properties": { - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "The type of the extension handler." - }, - "typeHandlerVersion": { + "id": { "type": "string", - "description": "The type version of the extension handler." - }, - "autoUpgradeMinorVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether the extension handler should be automatically upgraded across minor versions." - }, - "settings": { - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { "oneOf": [ { - "type": "object" + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Json formatted protected settings for the extension." + "description": "The list of SSH public keys used to authenticate with linux based VMs." } }, - "description": "Describes the properties of a Virtual Machine Scale Set Extension." + "description": "SSH configuration for Linux based VMs running on Azure" }, - "VirtualMachineScaleSetIPConfiguration": { + "SshPublicKey": { "type": "object", "properties": { - "id": { + "keyData": { "type": "string", - "description": "Resource Id" + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "name": { + "path": { "type": "string", - "description": "The IP configuration name." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, - "required": [ - "name" - ], - "description": "Describes a virtual machine scale set network profile's IP configuration." + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." }, - "VirtualMachineScaleSetIPConfigurationProperties": { + "StorageProfile": { "type": "object", "properties": { - "subnet": { - "oneOf": [ - { - "$ref": "#/definitions/ApiEntityReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The subnet." - }, - "applicationGatewayBackendAddressPools": { + "dataDisks": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/DataDisk" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The application gateway backend address pools." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "loadBalancerBackendAddressPools": { + "imageReference": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The load balancer backend address pools." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." }, - "loadBalancerInboundNatPools": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The load balancer inbound nat pools." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, - "required": [ - "subnet" - ], - "description": "Describes a virtual machine scale set network profile's IP configuration properties." + "description": "Specifies the storage settings for the virtual machine disks." }, - "VirtualMachineScaleSetManagedDiskParameters": { + "SubResource": { "type": "object", "properties": { - "storageAccountType": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + }, + "UpgradePolicy": { + "type": "object", + "properties": { + "mode": { "oneOf": [ { "type": "string", "enum": [ - "Standard_LRS", - "Premium_LRS" + "Automatic", + "Manual" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." } }, - "description": "Describes the parameters of a ScaleSet managed disk." + "description": "Describes an upgrade policy - automatic or manual." }, - "VirtualMachineScaleSetNetworkConfiguration": { + "VaultCertificate": { "type": "object", "properties": { - "id": { + "certificateStore": { "type": "string", - "description": "Resource Id" + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." }, - "name": { + "certificateUrl": { "type": "string", - "description": "The network configuration name." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, - "required": [ - "name" - ], - "description": "Describes a virtual machine scale set network profile's network configurations." + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." }, - "VirtualMachineScaleSetNetworkConfigurationProperties": { + "VaultSecretGroup": { "type": "object", "properties": { - "primary": { + "sourceVault": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether this is a primary NIC on a virtual machine." + ] }, - "ipConfigurations": { + "vaultCertificates": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + "$ref": "#/definitions/VaultCertificate" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set IP Configuration." + "description": "The list of key vault references in SourceVault which contain certificates." } }, - "required": [ - "ipConfigurations" - ], - "description": "Describes a virtual machine scale set network profile's IP configuration." + "description": "Describes a set of certificates which are all in the same Key Vault." }, - "VirtualMachineScaleSetNetworkProfile": { + "VirtualHardDisk": { "type": "object", "properties": { - "networkInterfaceConfigurations": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of network configurations." + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." } }, - "description": "Describes a virtual machine scale set network profile." + "description": "Describes the uri of a disk." }, - "VirtualMachineScaleSetOSDisk": { + "VirtualMachineExtensionInstanceView": { "type": "object", "properties": { "name": { "type": "string", - "description": "The disk name." + "description": "The virtual machine extension name." }, - "caching": { + "statuses": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "The resource status information." }, - "createOption": { + "substatuses": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "The resource status information." }, - "osType": { + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "image": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "instanceView": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist." + "description": "The instance view of a virtual machine extension." }, - "vhdContainers": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of virtual hard disk container uris." + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." }, - "managedDisk": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The managed disk parameters." - } - }, - "required": [ - "createOption" - ], - "description": "Describes a virtual machine scale set operating system disk." - }, - "VirtualMachineScaleSetOSProfile": { - "type": "object", - "properties": { - "computerNamePrefix": { + "publisher": { "type": "string", - "description": "The computer name prefix." + "description": "The name of the extension handler publisher." }, - "adminUsername": { - "type": "string", - "description": "The admin user name." + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." }, - "adminPassword": { + "type": { "type": "string", - "description": "The admin user password." + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." }, - "customData": { + "typeHandlerVersion": { "type": "string", - "description": "A base-64 encoded string of custom data." - }, - "windowsConfiguration": { + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineIdentity": { + "type": "object", + "properties": { + "type": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "type": "string", + "enum": [ + "SystemAssigned" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Windows Configuration of the OS profile." - }, - "linuxConfiguration": { + "description": "The type of identity used for the virtual machine. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "Identity for the virtual machine." + }, + "VirtualMachineProperties": { + "type": "object", + "properties": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/LinuxConfiguration" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The Linux Configuration of the OS profile." + ] }, - "secrets": { + "diagnosticsProfile": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VaultSecretGroup" - } + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The List of certificates for addition to the VM." - } - }, - "description": "Describes a virtual machine scale set OS profile." - }, - "VirtualMachineScaleSetProperties": { - "type": "object", - "properties": { - "upgradePolicy": { + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Specifies the hardware settings for the virtual machine." }, - "virtualMachineProfile": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "$ref": "#/definitions/NetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "Specifies the network interfaces of the virtual machine." }, - "overprovision": { + "osProfile": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + "description": "Specifies the operating system settings for the virtual machine." }, - "singlePlacementGroup": { + "storageProfile": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + "description": "Specifies the storage settings for the virtual machine disks." } }, - "description": "Describes the properties of a Virtual Machine Scale Set." + "description": "Describes the properties of a Virtual Machine." }, - "VirtualMachineScaleSetStorageProfile": { + "VirtualMachineScaleSetDataDisk": { "type": "object", "properties": { - "imageReference": { + "caching": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The image reference." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "osDisk": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS disk." + "description": "The create option." }, - "dataDisks": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The data disks." - } - }, - "description": "Describes a virtual machine scale set storage profile." - }, - "VirtualMachineScaleSetVMProfile": { - "type": "object", - "properties": { - "osProfile": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set OS profile." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "storageProfile": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set storage profile." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "networkProfile": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set network profile." + "description": "Describes the parameters of a ScaleSet managed disk." }, - "extensionProfile": { + "name": { + "type": "string", + "description": "The disk name." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a virtual machine scale set data disk." + }, + "VirtualMachineScaleSetExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set extension profile." + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, - "description": "Describes a virtual machine scale set virtual machine profile." + "description": "Describes a Virtual Machine Scale Set Extension." }, - "WindowsConfiguration": { + "VirtualMachineScaleSetExtensionProfile": { "type": "object", "properties": { - "provisionVMAgent": { + "extensions": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether the virtual machine agent should be provisioned on the Virtual Machine. If not specified, then the default behavior is to set it to true." - }, - "enableAutomaticUpdates": { + "description": "The virtual machine scale set child extension resources." + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { "oneOf": [ { "type": "boolean" @@ -2502,139 +2271,147 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether Windows updates are automatically installed on the VM." + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "timeZone": { + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { "type": "string", - "description": "The time zone of the VM" + "description": "The name of the extension handler publisher." }, - "additionalUnattendContent": { + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetIdentity": { + "type": "object", + "properties": { + "type": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/AdditionalUnattendContent" - } + "type": "string", + "enum": [ + "SystemAssigned" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Additional base-64 encoded XML formatted information that can be included in the Unattend.xml file." + "description": "The type of identity used for the virtual machine scale set. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "Identity for the virtual machine scale set." + }, + "VirtualMachineScaleSetIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" }, - "winRM": { + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/WinRMConfiguration" + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Windows Remote Management configuration of the VM" + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, - "description": "Describes Windows Configuration of the OS Profile." + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." }, - "WinRMConfiguration": { + "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "listeners": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/WinRMListener" + "$ref": "#/definitions/SubResource" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of Windows Remote Management listeners" - } - }, - "description": "Describes Windows Remote Management configuration of the VM" - }, - "WinRMListener": { - "type": "object", - "properties": { - "protocol": { + "description": "The application gateway backend address pools." + }, + "loadBalancerBackendAddressPools": { "oneOf": [ { - "type": "string", - "enum": [ - "Http", - "Https" - ] + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Protocol used by the WinRM listener. Http and Https are supported." + "description": "The load balancer backend address pools." }, - "certificateUrl": { - "type": "string", - "description": "The Certificate URL in KMS for Https listeners. Should be null for Http listeners." - } - }, - "description": "Describes Protocol and thumbprint of Windows Remote Management listener" - }, - "CreationData": { - "type": "object", - "properties": { - "createOption": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "type": "string", - "enum": [ - "Empty", - "Attach", - "FromImage", - "Import", - "Copy", - "Restore" - ] + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - }, - "storageAccountId": { - "type": "string", - "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + ], + "description": "The load balancer inbound nat pools." }, - "imageReference": { + "subnet": { "oneOf": [ { - "$ref": "#/definitions/ImageDiskReference" + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information." - }, - "sourceUri": { - "type": "string", - "description": "If creationOption is Import, this is a SAS URI to a blob to be imported into a managed disk. If creationOption is Copy, this is a relative Uri containing the id of the source snapshot to be copied into a managed disk." - }, - "sourceResourceId": { - "type": "string", - "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk. If creationOption is Restore, this is the ARM-like id of the source disk restore point." + "description": "The API entity reference." } }, "required": [ - "createOption" + "subnet" ], - "description": "Data used when creating a disk." + "description": "Describes a virtual machine scale set network profile's IP configuration properties." }, - "DiskProperties": { + "VirtualMachineScaleSetManagedDiskParameters": { "type": "object", "properties": { - "accountType": { + "storageAccountType": { "oneOf": [ { "type": "string", @@ -2647,2197 +2424,549 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "the storage account type of the disk." + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS or Premium_LRS." + } + }, + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" }, - "osType": { + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." - }, - "creationData": { + "description": "Describes a virtual machine scale set network profile's IP configuration." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "type": "object", + "properties": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/CreationData" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "The virtual machine scale set IP Configuration." }, - "diskSizeGB": { + "primary": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." - }, - "encryptionSettings": { + "description": "Whether this is a primary NIC on a virtual machine." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetNetworkProfile": { + "type": "object", + "properties": { + "networkInterfaceConfigurations": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSettings" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption settings for disk or snapshot" + "description": "The list of network configurations." } }, - "required": [ - "creationData" - ], - "description": "Disk resource properties." + "description": "Describes a virtual machine scale set network profile." }, - "EncryptionSettings": { + "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "enabled": { + "caching": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "diskEncryptionKey": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultAndSecretReference" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Secret Url and vault id of the disk encryption key" + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "keyEncryptionKey": { + "image": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultAndKeyReference" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Key Url and vault id of the key encryption key" - } - }, - "description": "Encryption settings for disk or snapshot" - }, - "ImageDiskReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A relative uri containing either a Platform Imgage Repository or user image reference." + "description": "Describes the uri of a disk." }, - "lun": { + "managedDisk": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." - } - }, - "required": [ - "id" - ], - "description": "The source image used for creating the disk." - }, - "KeyVaultAndKeyReference": { - "type": "object", - "properties": { - "sourceVault": { + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { - "$ref": "#/definitions/SourceVault" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "keyUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" - } - }, - "required": [ - "sourceVault", - "keyUrl" - ], - "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" - }, - "KeyVaultAndSecretReference": { - "type": "object", - "properties": { - "sourceVault": { + "vhdContainers": { "oneOf": [ { - "$ref": "#/definitions/SourceVault" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "secretUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The list of virtual hard disk container uris." } }, "required": [ - "sourceVault", - "secretUrl" + "createOption" ], - "description": "Key Vault Secret Url and vault id of the encryption key " + "description": "Describes a virtual machine scale set operating system disk." }, - "SourceVault": { + "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "id": { + "adminPassword": { "type": "string", - "description": "Resource Id" - } - }, - "description": "The vault id is an Azure Resource Manager Resoure id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" - }, - "genericExtension": { - "type": "object", - "properties": { - "publisher": { + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Publisher" + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "type": { + "computerNamePrefix": { "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Type" + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, - "typeHandlerVersion": { + "customData": { "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Type handler version" + "description": "A base-64 encoded string of custom data." }, - "settings": { + "linuxConfiguration": { "oneOf": [ - { "type": "object" }, - { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Microsoft.Compute/extensions - Settings" - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "settings" - ] - }, - "iaaSDiagnostics": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Diagnostics" - ] - }, - "type": { - "enum": [ - "IaaSDiagnostics" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "xmlCfg": { - "type": "string" - }, - "StorageAccount": { - "type": "string" - } - }, - "required": [ - "xmlCfg", - "StorageAccount" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - }, - "storageAccountEndPoint": { - "type": "string" - } - }, - "required": [ - "storageAccountName", - "storageAccountKey", - "storageAccountEndPoint" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "iaaSAntimalware": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Security" - ] - }, - "type": { - "enum": [ - "IaaSAntimalware" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "AntimalwareEnabled": { - "type": "boolean" - }, - "Exclusions": { - "type": "object", - "properties": { - "Paths": { - "type": "string" - }, - "Extensions": { - "type": "string" - }, - "Processes": { - "type": "string" - } - }, - "required": [ - "Paths", - "Extensions", - "Processes" - ] - }, - "RealtimeProtectionEnabled": { - "enum": [ - "true", - "false" - ] + { + "$ref": "#/definitions/LinuxConfiguration" }, - "ScheduledScanSettings": { - "type": "object", - "properties": { - "isEnabled": { - "enum": [ - "true", - "false" - ] - }, - "scanType": { - "type": "string" - }, - "day": { - "type": "string" - }, - "time": { - "type": "string" - } - }, - "required": [ - "isEnabled", - "scanType", - "day", - "time" - ] + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "AntimalwareEnabled", - "Exclusions", - "RealtimeProtectionEnabled", - "ScheduledScanSettings" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "customScriptExtension": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Compute" - ] - }, - "type": { - "enum": [ - "CustomScriptExtension" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "settings": { - "type": "object", - "properties": { - "fileUris": { + "secrets": { + "oneOf": [ + { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/VaultSecretGroup" } }, - "commandToExecute": { - "type": "string" - } - }, - "required": [ - "commandToExecute" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - } - } - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "customScriptForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "CustomScriptForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "fileUris":{ - "type":"array", - "items":{ - "type":"string" - } + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "The List of certificates for addition to the VM." }, - "protectedSettings":{ - "type":"object", - "properties":{ - "commandToExecute":{ - "type":"string" - }, - "storageAccountName":{ - "type":"string" + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" }, - "storageAccountKey":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "commandToExecute" - ] + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] + "description": "Describes a virtual machine scale set OS profile." }, - "linuxDiagnostic":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "LinuxDiagnostic" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "enableSyslog":{ - "type":"string" - }, - "mdsdHttpProxy":{ - "type":"string" - }, - "perCfg":{ - "type":"array" - }, - "fileCfg":{ - "type":"array" - }, - "xmlCfg":{ - "type":"string" - }, - "ladCfg":{ - "type":"object" - }, - "syslogCfg":{ - "type":"string" - }, - "eventVolume":{ - "type":"string" + "VirtualMachineScaleSetProperties": { + "type": "object", + "properties": { + "overProvision": { + "oneOf": [ + { + "type": "boolean" }, - "mdsdCfg":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, - "protectedSettings":{ - "type":"object", - "properties":{ - "mdsdHttpProxy":{ - "type":"string" - }, - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" + "singlePlacementGroup": { + "oneOf": [ + { + "type": "boolean" }, - "storageAccountEndPoint":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "storageAccountName", - "storageAccountKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "vmAccessForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "VMAccessForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + ], + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "settings":{ - "type":"object", - "properties":{ - "check_disk":{ - "type":"boolean" + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradePolicy" }, - "repair_disk":{ - "type":"boolean" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Describes an upgrade policy - automatic or manual." }, - "protectedSettings":{ - "type":"object", - "properties":{ - "username":{ - "type":"string" - }, - "password":{ - "type":"string" - }, - "ssh_key":{ - "type":"string" - }, - "reset_ssh":{ - "type":"string" - }, - "remove_user":{ - "type":"string" + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, - "expiration":{ - "type":"string" - } - }, - "required":[ - "username", - "password", - "ssh_key", - "reset_ssh", - "remove_user", - "expiration" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "bgInfo":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Compute" - ] - }, - "type":{ - "enum":[ - "bginfo" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] - }, - "vmAccessAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Compute" - ] - }, - "type":{ - "enum":[ - "VMAccessAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "username":{ - "type":"string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "password":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Describes a virtual machine scale set virtual machine profile." } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] + "description": "Describes the properties of a Virtual Machine Scale Set." }, - "dscExtension":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Powershell" - ] - }, - "type":{ - "enum":[ - "DSC" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "modulesUrl":{ - "type":"string" - }, - "configurationFunction":{ - "type":"string" - }, - "properties":{ - "type":"string" - }, - "wmfVersion":{ - "type":"string" - }, - "privacy":{ - "type":"object", - "properties":{ - "dataCollection":{ - "type":"string" - } + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" } - } - }, - "required":[ - "modulesUrl", - "configurationFunction" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "dataBlobUri":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "acronisBackupLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Acronis.Backup" - ] - }, - "type":{ - "enum":[ - "AcronisBackupLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "absURL":{ - "type":"string" - } - }, - "required": [ - "absURL" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "userLogin":{ - "type":"string" - }, - "userPassword":{ - "type":"string" - } - }, - "required": [ - "userLogin", - "userPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "acronisBackup":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Acronis.Backup" - ] - }, - "type":{ - "enum":[ - "AcronisBackup" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "absURL":{ - "type":"string" - } - }, - "required": [ - "absURL" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "userLogin":{ - "type":"string" - }, - "userPassword":{ - "type":"string" - } - }, - "required": [ - "userLogin", - "userPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "linuxChefClient":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Chef.Bootstrap.WindowsAzure" - ] - }, - "type":{ - "enum":[ - "LinuxChefClient" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "bootstrap_version":{ - "type":"string" - }, - "bootstrap_options":{ - "type":"object", - "properties":{ - "chef_node_name":{ - "type": "string" - }, - "chef_server_url":{ - "type": "string" - }, - "validation_client_name":{ - "type": "string" - }, - "node_ssl_verify_mode":{ - "type": "string" - }, - "environment":{ - "type": "string" - } - }, - "required": [ - "chef_node_name", - "chef_server_url", - "validation_client_name", - "node_ssl_verify_mode", - "environment" - ] - }, - "runlist":{ - "type": "string" - }, - "client_rb":{ - "type": "string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "validation_key":{ - "type":"string" - }, - "chef_server_crt":{ - "type":"string" - }, - "secret":{ - "type":"string" - } - }, - "required": [ - "validation_key", - "chef_server_crt", - "secret" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "chefClient":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Chef.Bootstrap.WindowsAzure" - ] - }, - "type":{ - "enum":[ - "ChefClient" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "bootstrap_options":{ - "type":"object", - "properties":{ - "chef_node_name":{ - "type": "string" - }, - "chef_server_url":{ - "type": "string" - }, - "validation_client_name":{ - "type": "string" - }, - "node_ssl_verify_mode":{ - "type": "string" - }, - "environment":{ - "type": "string" - } - }, - "required": [ - "chef_node_name", - "chef_server_url", - "validation_client_name", - "node_ssl_verify_mode", - "environment" - ] - }, - "runlist":{ - "type": "string" - }, - "client_rb":{ - "type": "string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "validation_key":{ - "type":"string" - }, - "chef_server_crt":{ - "type":"string" - }, - "secret":{ - "type":"string" - } - }, - "required": [ - "validation_key", - "chef_server_crt", - "secret" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "datadogLinuxAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Datadog.Agent" - ] - }, - "type":{ - "enum":[ - "DatadogLinuxAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "api_key":{ - "type": "string" - } - }, - "required": [ - "api_key" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "datadogWindowsAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Datadog.Agent" - ] - }, - "type":{ - "enum":[ - "DatadogWindowsAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "api_key":{ - "type": "string" - } - }, - "required": [ - "api_key" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "dockerExtension":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.Extensions" - ] - }, - "type":{ - "enum":[ - "DockerExtension" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "docker":{ - "type": "object", - "properties": { - "port":{ - "type":"string" - } - }, - "required": [ - "port" - ] - } - }, - "required": [ - "docker" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "certs":{ - "type": "object", - "properties": { - "ca": { - "type": "string" - }, - "cert": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "required": [ - "ca", - "cert", - "key" - ] - } - }, - "required": [ - "certs" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "dynatraceLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "dynatrace.ruxit" - ] - }, - "type":{ - "enum":[ - "ruxitAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "tenantId":{ - "type": "string" }, - "token": { - "type": "string" - } - }, - "required": [ - "tenantId", - "token" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "dynatraceWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "dynatrace.ruxit" - ] - }, - "type":{ - "enum":[ - "ruxitAgentWindows" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "tenantId":{ - "type": "string" - }, - "token": { - "type": "string" - } - }, - "required": [ - "tenantId", - "token" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "eset":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "ESET" - ] - }, - "type":{ - "enum":[ - "FileSecurity" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "LicenseKey":{ - "type": "string" - }, - "Install-RealtimeProtection": { - "type": "boolean" - }, - "Install-ProtocolFiltering": { - "type": "boolean" - }, - "Install-DeviceControl": { - "type": "boolean" - }, - "Enable-Cloud": { - "type": "boolean" - }, - "Enable-PUA": { - "type": "boolean" - }, - "ERAAgentCfgUrl": { - "type": "string" - } - }, - "required": [ - "LicenseKey", - "Install-RealtimeProtection", - "Install-ProtocolFiltering", - "Install-DeviceControl", - "Enable-Cloud", - "Enable-PUA", - "ERAAgentCfgUrl" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "hpeSecurityApplicationDefender":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "HPE.Security.ApplicationDefender" - ] - }, - "type":{ - "enum":[ - "DotnetAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "key": { - "type": "string" - }, - "serverURL": { - "type": "string" - } - }, - "required": [ - "key", - "serverURL" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "protectedSettings" - ] - }, - "puppetAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Puppet" - ] - }, - "type":{ - "enum":[ - "PuppetAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "PUPPET_MASTER_SERVER": { - "type": "string" - } - }, - "required": [ - "PUPPET_MASTER_SERVER" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "protectedSettings" - ] - }, - "site24x7LinuxServerExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7LinuxServerExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnlinuxserver" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "site24x7WindowsServerExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7WindowsServerExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnwindowsserver" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "site24x7ApmInsightExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7ApmInsightExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnapminsightclassic" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "trendMicroDSALinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "TrendMicro.DeepSecurity" - ] - }, - "type":{ - "enum":[ - "TrendMicroDSALinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + ], + "description": "The data disks." }, - "settings":{ - "type": "object", - "properties": { - "DSMname": { - "type": "string" - }, - "DSMport": { - "type": "string" + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" }, - "policyNameorID": { - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "DSMname", - "DSMport" - ] + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." }, - "protectedSettings":{ - "type":"object", - "properties":{ - "tenantID": { - "type": "string" + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" }, - "tenantPassword": { - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "tenantID", - "tenantPassword" - ] + ], + "description": "Describes a virtual machine scale set operating system disk." } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] + "description": "Describes a virtual machine scale set storage profile." }, - "trendMicroDSA":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "TrendMicro.DeepSecurity" - ] - }, - "type":{ - "enum":[ - "TrendMicroDSA" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties": { - "DSMname": { - "type": "string" - }, - "DSMport": { - "type": "string" + "VirtualMachineScaleSetVMProfile": { + "type": "object", + "properties": { + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, - "policyNameorID": { - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "DSMname", - "DSMport" - ] + ], + "description": "Describes a virtual machine scale set extension profile." }, - "protectedSettings":{ - "type":"object", - "properties":{ - "tenantID": { - "type": "string" + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" }, - "tenantPassword": { - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "tenantID", - "tenantPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "bmcCtmAgentLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "ctm.bmc.com" - ] - }, - "type":{ - "enum":[ - "BmcCtmAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + ], + "description": "Describes a virtual machine scale set network profile." }, - "settings":{ - "type": "object", - "properties":{ - "Control-M Server Name":{ - "type": "string" - }, - "Agent Port":{ - "type": "string" + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, - "Host Group":{ - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set OS profile." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, - "User Account":{ - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "Control-M Server Name", - "Agent Port", - "Host Group", - "User Account" - ] + ], + "description": "Describes a virtual machine scale set storage profile." } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] + "description": "Describes a virtual machine scale set virtual machine profile." }, - "bmcCtmAgentWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "bmc.ctm" - ] - }, - "type":{ - "enum":[ - "AgentWinExt" + "virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-30-preview" ] }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 + "location": { + "type": "string", + "description": "Resource location" }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + "name": { + "type": "string", + "description": "The name of the virtual machine extension." }, - "settings":{ - "type": "object", - "properties":{ - "Control-M Server Name":{ - "type": "string" + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, - "Agent Port":{ - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, - "Host Group":{ - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "Control-M Server Name", - "Agent Port", - "Host Group" + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "extensions" ] } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" }, - "OSPatchingForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "OSPatchingForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "disabled":{ - "type":"boolean" - }, - "stop":{ - "type":"boolean" - }, - "installDuration":{ - "type":"string" - }, - "intervalOfWeeks":{ - "type":"number" - }, - "dayOfWeek":{ - "type":"string" - }, - "startTime":{ - "type":"string" - }, - "rebootAfterPatch":{ - "type":"string" - }, - "category":{ - "type":"string" - }, - "oneoff":{ - "type":"boolean" - }, - "local":{ - "type":"boolean" - }, - "idleTestScript":{ - "type":"string" - }, - "healthyTestScript":{ - "type":"string" - }, - "distUpgradeList":{ - "type":"string" - }, - "distUpgradeAll":{ - "type":"boolean" + "WindowsConfiguration": { + "type": "object", + "properties": { + "additionalUnattendContent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } }, - "vmStatusTest":{ - "type":"object" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "disabled", - "stop" - ] + ], + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, - "protectedSettings":{ - "type":"object", - "properties":{ - "storageAccountName":{ - "type":"string" + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" }, - "storageAccountKey":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "VMSnapshot":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.RecoveryServices" - ] - }, - "type":{ - "enum":[ - "VMSnapshot" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + ], + "description": "Indicates whether virtual machine is enabled for automatic updates." }, - "settings":{ - "type":"object", - "properties":{ - "locale":{ - "type":"string" - }, - "taskId":{ - "type":"string" - }, - "commandToExecute":{ - "type":"string" - }, - "objectStr":{ - "type":"string" - }, - "logsBlobUri":{ - "type":"string" - }, - "statusBlobUri":{ - "type":"string" - }, - "commandStartTimeUTCTicks":{ - "type":"string" + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" }, - "vmType":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "locale", - "taskId", - "commandToExecute", - "objectStr", - "logsBlobUri", - "statusBlobUri", - "commandStartTimeUTCTicks", - "vmType" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "VMSnapshotLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.RecoveryServices" - ] - }, - "type":{ - "enum":[ - "VMSnapshotLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" }, - "settings":{ - "type":"object", - "properties":{ - "locale":{ - "type":"string" - }, - "taskId":{ - "type":"string" - }, - "commandToExecute":{ - "type":"string" - }, - "objectStr":{ - "type":"string" - }, - "logsBlobUri":{ - "type":"string" - }, - "statusBlobUri":{ - "type":"string" - }, - "commandStartTimeUTCTicks":{ - "type":"string" + "winRM": { + "oneOf": [ + { + "$ref": "#/definitions/WinRMConfiguration" }, - "vmType":{ - "type":"string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required":[ - "locale", - "taskId", - "commandToExecute", - "objectStr", - "logsBlobUri", - "statusBlobUri", - "commandStartTimeUTCTicks", - "vmType" - ] + ], + "description": "Describes Windows Remote Management configuration of the VM" } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] + "description": "Specifies Windows operating system settings on the virtual machine." }, - "customScript": { + "WinRMConfiguration": { "type": "object", "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Extensions" - ] - }, - "type": { - "enum": [ - "CustomScript" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "fileUris": { + "listeners": { + "oneOf": [ + { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/WinRMListener" } - } - }, - "required": [ - "fileUris" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" }, - "commandToExecute": { - "type": "string" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "storageAccountName", - "storageAccountKey", - "commandToExecute" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "networkWatcherAgentWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.NetworkWatcher" - ] - }, - "type":{ - "enum":[ - "NetworkWatcherAgentWindows" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + ], + "description": "The list of Windows Remote Management listeners" } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] + "description": "Describes Windows Remote Management configuration of the VM" }, - "networkWatcherAgentLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.NetworkWatcher" - ] - }, - "type":{ - "enum":[ - "NetworkWatcherAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 + "WinRMListener": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" }, - "autoUpgradeMinorVersion":{ - "type":"boolean" + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." } }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" } } } diff --git a/schemas/2016-09-30/Microsoft.ContainerService.json b/schemas/2016-09-30/Microsoft.ContainerService.json index 6f3f984e1b..cd1ac4b78a 100644 --- a/schemas/2016-09-30/Microsoft.ContainerService.json +++ b/schemas/2016-09-30/Microsoft.ContainerService.json @@ -485,4 +485,4 @@ "description": "Profile for Windows VMs in the container service cluster." } } -} \ No newline at end of file +} diff --git a/schemas/2016-10-02/Microsoft.Cdn.json b/schemas/2016-10-02/Microsoft.Cdn.json index 68a4b32132..e08aae6d85 100644 --- a/schemas/2016-10-02/Microsoft.Cdn.json +++ b/schemas/2016-10-02/Microsoft.Cdn.json @@ -570,4 +570,4 @@ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." } } -} \ No newline at end of file +} diff --git a/schemas/2016-11-01/Microsoft.DataLakeStore.json b/schemas/2016-11-01/Microsoft.DataLakeStore.json index ac0ca2fe64..85f2767056 100644 --- a/schemas/2016-11-01/Microsoft.DataLakeStore.json +++ b/schemas/2016-11-01/Microsoft.DataLakeStore.json @@ -668,4 +668,4 @@ "description": "Metadata information used by account encryption." } } -} \ No newline at end of file +} diff --git a/schemas/2016-11-01/Microsoft.ImportExport.json b/schemas/2016-11-01/Microsoft.ImportExport.json index 8f7afb4777..0f1218fa4e 100644 --- a/schemas/2016-11-01/Microsoft.ImportExport.json +++ b/schemas/2016-11-01/Microsoft.ImportExport.json @@ -491,4 +491,4 @@ "description": "Contains information about the Microsoft datacenter to which the drives should be shipped." } } -} \ No newline at end of file +} diff --git a/schemas/2017-01-31/Microsoft.ContainerService.json b/schemas/2017-01-31/Microsoft.ContainerService.json index 8ccbce5934..29e2c1b5c5 100644 --- a/schemas/2017-01-31/Microsoft.ContainerService.json +++ b/schemas/2017-01-31/Microsoft.ContainerService.json @@ -485,4 +485,4 @@ "description": "Profile for Windows VMs in the container service cluster." } } -} \ No newline at end of file +} diff --git a/schemas/2017-03-30/Microsoft.Compute.json b/schemas/2017-03-30/Microsoft.Compute.json index bced14de7a..86d979a2be 100644 --- a/schemas/2017-03-30/Microsoft.Compute.json +++ b/schemas/2017-03-30/Microsoft.Compute.json @@ -7,15 +7,6 @@ "availabilitySets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -26,64 +17,66 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/AvailabilitySetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The instance view of a resource." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set" + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/availabilitySets" }, "disks": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the disk within the given subscription and resource group." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/disks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -94,19 +87,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DiskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Disk resource properties." }, "sku": { "oneOf": [ @@ -116,54 +110,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The disks and snapshots sku name. Can be Standard_LRS or Premium_LRS." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Logical zone list for Disk." + "description": "Resource tags" }, - "properties": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/disks" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/DiskProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The Logical zone list for Disk." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/disks" }, "images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -174,53 +171,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of an Image." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/images" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/images" }, "snapshots": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the snapshot within the given subscription and resource group." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/snapshots" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -231,19 +230,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DiskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Disk resource properties." }, "sku": { "oneOf": [ @@ -253,63 +253,67 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The disks and snapshots sku name. Can be Standard_LRS or Premium_LRS." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/DiskProperties" + "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.Compute/snapshots" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/snapshots" }, "virtualMachines": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-03-30" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." }, "plan": { "oneOf": [ @@ -320,7 +324,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The purchase plan when deploying virtual machine from VM Marketplace images." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, "properties": { "oneOf": [ @@ -330,18 +334,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine." }, - "identity": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] }, "zones": { "oneOf": [ @@ -356,170 +381,108 @@ } ], "description": "The virtual machine zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/extensionsChild" - } - ] - } } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachines" }, - "extensions": { + "virtualMachineScaleSets": { "type": "object", "properties": { - "type": { - "enum": [ - "Microsoft.Compute/virtualMachines/extensions" - ] - }, "apiVersion": { + "type": "string", "enum": [ "2017-03-30" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, "location": { "type": "string", "description": "Resource location" }, - "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} - ] - } - }, - "required": [ - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, - "virtualMachineScaleSets": { - "type": "object", - "properties": { "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2017-03-30" - ] - }, - "location": { "type": "string", - "description": "Resource location" + "description": "The name of the VM scale set to create or update." }, - "tags": { + "plan": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "sku": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/VirtualMachineScaleSetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set sku." + "description": "Describes the properties of a Virtual Machine Scale Set." }, - "plan": { - "oneOf": [ - { - "$ref": "#/definitions/Plan" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The purchase plan when deploying a virtual machine scale set from VM Marketplace images." + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + } + ] + } }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku." }, - "identity": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine scale set, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets" + ] }, "zones": { "oneOf": [ @@ -533,128 +496,152 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/extensionsChild" - } - ] - } + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets" - } - }, - "definitions": { - "extensionsChild": { + }, + "virtualMachineScaleSets_extensions": { "type": "object", "properties": { - "type": { + "apiVersion": { + "type": "string", "enum": [ - "extensions" + "2017-03-30" ] }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { "apiVersion": { + "type": "string", "enum": [ "2017-03-30" ] }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" ] } }, "required": [ - "type", "apiVersion", + "location", + "name", "properties", - "location" + "type" ], - "description": "Microsoft.Compute/extensionsChild" - }, + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { "AdditionalUnattendContent": { "type": "object", "properties": { - "passName": { + "componentName": { "oneOf": [ { "type": "string", "enum": [ - "oobeSystem" + "Microsoft-Windows-Shell-Setup" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is oobeSystem." + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." }, - "componentName": { + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { "oneOf": [ { "type": "string", "enum": [ - "Microsoft-Windows-Shell-Setup" + "OobeSystem" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "The pass name. Currently, the only allowable value is OobeSystem." }, "settingName": { "oneOf": [ @@ -669,21 +656,17 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Setting name (e.g. FirstLogonCommands, AutoLogon )." - }, - "content": { - "type": "string", - "description": "XML formatted content that is added to the unattend.xml file in the specified pass and component. The XML must be less than 4 KB and must include the root element for the setting or feature that is being inserted." + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." } }, - "description": "Additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is a applied." + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." }, "ApiEntityReference": { "type": "object", "properties": { "id": { "type": "string", - "description": "The ARM resource id in the form of /subscriptions/{SubcriptionId}/resourceGroups/{ResourceGroupName}/..." + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." } }, "description": "The API entity reference." @@ -691,7 +674,7 @@ "AvailabilitySetProperties": { "type": "object", "properties": { - "platformUpdateDomainCount": { + "platformFaultDomainCount": { "oneOf": [ { "type": "integer" @@ -700,9 +683,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Update Domain count." + "description": "Fault Domain count." }, - "platformFaultDomainCount": { + "platformUpdateDomainCount": { "oneOf": [ { "type": "integer" @@ -711,7 +694,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count." + "description": "Update Domain count." }, "virtualMachines": { "oneOf": [ @@ -746,10 +729,10 @@ }, "storageUri": { "type": "string", - "description": "URI of the storage account to use for placing the console output and screenshot." + "description": "Uri of the storage account to use for placing the console output and screenshot." } }, - "description": "Describes Boot Diagnostics." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." }, "CreationData": { "type": "object", @@ -772,10 +755,6 @@ ], "description": "This enumerates the possible sources of a disk's creation." }, - "storageAccountId": { - "type": "string", - "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" - }, "imageReference": { "oneOf": [ { @@ -785,15 +764,19 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information." + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." }, "sourceUri": { "type": "string", - "description": "If creationOption is Import, this is the URI of a blob to be imported into a managed disk." + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." }, - "sourceResourceId": { + "storageAccountId": { "type": "string", - "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" } }, "required": [ @@ -804,101 +787,101 @@ "DataDisk": { "type": "object", "properties": { - "lun": { + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The logical unit number." - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "vhd": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. This virtual hard disk will be copied before using it to attach to the virtual machine. If SourceImage is provided, the destination virtual hard disk must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "Describes the uri of a disk." }, - "createOption": { + "lun": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "diskSizeGB": { + "managedDisk": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial disk size in GB for blank data disks, and the new desired size for resizing existing OS and data disks." + "description": "The parameters of a managed disk." }, - "managedDisk": { + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the uri of a disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a data disk." }, @@ -914,10 +897,10 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Boot Diagnostics is a debugging feature which allows the user to view console output and/or a screenshot of the virtual machine from the hypervisor." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." } }, - "description": "Describes a diagnostics profile." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, "DiskEncryptionSettings": { "type": "object", @@ -931,29 +914,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The disk encryption key which is a Key Vault Secret." + "description": "Describes a reference to Key Vault Secret" }, - "keyEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The key encryption key which is Key Vault Key." + "description": "Specifies whether disk encryption should be enabled on the virtual machine." }, - "enabled": { + "keyEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "Describes a reference to Key Vault Key" } }, "description": "Describes a Encryption Settings for a Disk" @@ -961,21 +944,6 @@ "DiskProperties": { "type": "object", "properties": { - "osType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The Operating System type." - }, "creationData": { "oneOf": [ { @@ -985,7 +953,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "Data used when creating a disk." }, "diskSizeGB": { "oneOf": [ @@ -1008,6 +976,21 @@ } ], "description": "Encryption settings for disk or snapshot" + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." } }, "required": [ @@ -1039,27 +1022,27 @@ "EncryptionSettings": { "type": "object", "properties": { - "enabled": { + "diskEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultAndSecretReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + "description": "Key Vault Secret Url and vault id of the encryption key " }, - "diskEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultAndSecretReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Secret Url and vault id of the disk encryption key" + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." }, "keyEncryptionKey": { "oneOf": [ @@ -1070,7 +1053,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Key Url and vault id of the key encryption key" + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" } }, "description": "Encryption settings for disk or snapshot" @@ -1186,77 +1169,75 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine size name." + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

    [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

    [List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

    [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)." } }, - "description": "Describes a hardware profile." + "description": "Specifies the hardware settings for the virtual machine." }, "ImageDataDisk": { "type": "object", "properties": { - "lun": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The logical unit number." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "caching": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The caching type." + ] }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + ] }, "storageAccountType": { "oneOf": [ @@ -1271,7 +1252,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS or Premium_LRS." } }, "required": [ @@ -1284,7 +1265,7 @@ "properties": { "id": { "type": "string", - "description": "A relative uri containing either a Platform Imgage Repository or user image reference." + "description": "A relative uri containing either a Platform Image Repository or user image reference." }, "lun": { "oneOf": [ @@ -1306,37 +1287,38 @@ "ImageOSDisk": { "type": "object", "properties": { - "osType": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "osState": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "Generalized", - "Specialized" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "snapshot": { + "managedDisk": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -1344,50 +1326,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The snapshot." + ] }, - "managedDisk": { + "osState": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "The OS State." }, - "caching": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The initial managed disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + ] }, "storageAccountType": { "oneOf": [ @@ -1402,12 +1381,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS or Premium_LRS." } }, "required": [ - "osType", - "osState" + "osState", + "osType" ], "description": "Describes an Operating System disk." }, @@ -1422,8 +1401,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source virtual machine from which Image is created." + ] }, "storageProfile": { "oneOf": [ @@ -1434,7 +1412,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage profile." + "description": "Describes a storage profile." } }, "description": "Describes the properties of an Image." @@ -1446,13 +1424,13 @@ "type": "string", "description": "Resource Id" }, - "publisher": { + "offer": { "type": "string", - "description": "The image publisher." + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, - "offer": { + "publisher": { "type": "string", - "description": "The image offer." + "description": "The image publisher." }, "sku": { "type": "string", @@ -1460,38 +1438,38 @@ }, "version": { "type": "string", - "description": "The image version. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor and Build are decimal numbers. Specify 'latest' to use the latest version of the image." + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." } }, - "description": "The image reference." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, "ImageStorageProfile": { "type": "object", "properties": { - "osDisk": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageOSDisk" + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS disk." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ImageDataDisk" - } + "$ref": "#/definitions/ImageOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data disks." + "description": "Describes an Operating System disk." } }, "required": [ @@ -1506,6 +1484,10 @@ "type": "string", "description": "The status code." }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, "level": { "oneOf": [ { @@ -1522,10 +1504,6 @@ ], "description": "The level code." }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, "message": { "type": "string", "description": "The detailed status message, including for alerts and error messages." @@ -1541,6 +1519,10 @@ "KeyVaultAndKeyReference": { "type": "object", "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, "sourceVault": { "oneOf": [ { @@ -1550,22 +1532,22 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "keyUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, "required": [ - "sourceVault", - "keyUrl" + "keyUrl", + "sourceVault" ], "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" }, "KeyVaultAndSecretReference": { "type": "object", "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, "sourceVault": { "oneOf": [ { @@ -1575,16 +1557,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "secretUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, "required": [ - "sourceVault", - "secretUrl" + "secretUrl", + "sourceVault" ], "description": "Key Vault Secret Url and vault id of the encryption key " }, @@ -1593,7 +1571,7 @@ "properties": { "keyUrl": { "type": "string", - "description": "The URL referencing a key in a Key Vault." + "description": "The URL referencing a key encryption key in Key Vault." }, "sourceVault": { "oneOf": [ @@ -1603,8 +1581,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the key." + ] } }, "required": [ @@ -1628,8 +1605,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the secret." + ] } }, "required": [ @@ -1661,10 +1637,10 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SSH configuration for linux VMs." + "description": "SSH configuration for Linux based VMs running on Azure" } }, - "description": "Describes Windows configuration of the OS Profile." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, "ManagedDiskParameters": { "type": "object", @@ -1686,7 +1662,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS or Premium_LRS." } }, "description": "The parameters of a managed disk." @@ -1706,7 +1682,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a network interface reference properties." } }, "description": "Describes a network interface reference." @@ -1743,54 +1720,67 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the list of resource IDs for the network interfaces associated with the virtual machine." + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." } }, - "description": "Describes a network profile." + "description": "Specifies the network interfaces of the virtual machine." }, "OSDisk": { "type": "object", "properties": { - "osType": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The disk encryption settings." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "name": { - "type": "string", - "description": "The disk name." + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "vhd": { + "encryptionSettings": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Describes a Encryption Settings for a Disk" }, "image": { "oneOf": [ @@ -1801,125 +1791,112 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before using it to attach to the virtual machine. If SourceImage is provided, the destination virtual hard disk must not exist." + "description": "Describes the uri of a disk." }, - "caching": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "The parameters of a managed disk." }, - "createOption": { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial disk size, in GB, for blank data disks, and the new desired size for resizing existing OS and data disks." - }, - "managedDisk": { - "oneOf": [ - { - "$ref": "#/definitions/ManagedDiskParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The managed disk parameters." + "description": "Describes the uri of a disk." } }, "required": [ "createOption" ], - "description": "Describes an Operating System disk." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, "OSProfile": { "type": "object", "properties": { - "computerName": { + "adminPassword": { "type": "string", - "description": "Specifies the host OS name of the virtual machine." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", - "description": "Specifies the name of the administrator account." + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerName": { "type": "string", - "description": "Specifies the password of the administrator account." + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." }, "customData": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes" + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { + "linuxConfiguration": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "$ref": "#/definitions/LinuxConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Windows configuration of the OS profile." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "linuxConfiguration": { + "secrets": { "oneOf": [ { - "$ref": "#/definitions/LinuxConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Linux configuration of the OS profile." + "description": "Specifies set of certificates that should be installed onto the virtual machine." }, - "secrets": { + "windowsConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VaultSecretGroup" - } + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of certificates for addition to the VM." + "description": "Specifies Windows operating system settings on the virtual machine." } }, - "description": "Describes an OS profile." + "description": "Specifies the operating system settings for the virtual machine." }, "Plan": { "type": "object", @@ -1928,32 +1905,73 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", - "description": "The offer ID." + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." }, "promotionCode": { "type": "string", "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, - "description": "Plan for the resource." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "Sku": { + "RollingUpgradePolicy": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The sku name." + "maxBatchInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%." }, - "tier": { - "type": "string", - "description": "The sku tier." + "maxUnhealthyInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%." + }, + "maxUnhealthyUpgradedInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." }, + "pauseTimeBetweenBatches": { + "type": "string", + "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + } + }, + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "Sku": { + "type": "object", + "properties": { "capacity": { "oneOf": [ { @@ -1963,7 +1981,15 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The sku capacity." + "description": "Specifies the number of virtual machines in the scale set. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" } }, "description": "Describes a virtual machine scale set sku." @@ -1976,7 +2002,7 @@ "description": "Resource Id" } }, - "description": "The vault id is an Azure Resource Manager Resoure id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" }, "SshConfiguration": { "type": "object", @@ -2001,13 +2027,13 @@ "SshPublicKey": { "type": "object", "properties": { - "path": { + "keyData": { "type": "string", - "description": "Specifies the full path on the created VM where SSH public key is stored. If the file already exists, the specified key is appended to the file." + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "keyData": { + "path": { "type": "string", - "description": "Certificate public key used to authenticate to the VM through SSH. The certificate must be in Pem format with or without headers." + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -2015,44 +2041,44 @@ "StorageProfile": { "type": "object", "properties": { - "imageReference": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The image reference." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "osDisk": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS disk." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data disks." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, - "description": "Describes a storage profile." + "description": "Specifies the storage settings for the virtual machine disks." }, "SubResource": { "type": "object", @@ -2066,34 +2092,57 @@ "UpgradePolicy": { "type": "object", "properties": { + "automaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available." + }, "mode": { "oneOf": [ { "type": "string", "enum": [ "Automatic", - "Manual" + "Manual", + "Rolling" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade mode." + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + }, + "rollingUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used while performing a rolling upgrade." } }, - "description": "Describes an upgrade policy - automatic or manual." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, "VaultCertificate": { "type": "object", "properties": { - "certificateUrl": { + "certificateStore": { "type": "string", - "description": "The URL referencing a secret in a Key Vault which contains a properly formatted certificate." + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." }, - "certificateStore": { + "certificateUrl": { "type": "string", - "description": "The Certificate store in LocalMachine to add the certificate to on Windows, leave empty on Linux." + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -2109,8 +2158,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The Relative URL of the Key Vault containing all of the certificates in VaultCertificates." + ] }, "vaultCertificates": { "oneOf": [ @@ -2134,7 +2182,7 @@ "properties": { "uri": { "type": "string", - "description": "The virtual hard disk's URI. Must be a valid URI to a virtual hard disk." + "description": "Specifies the virtual hard disk's uri." } }, "description": "Describes the uri of a disk." @@ -2146,15 +2194,7 @@ "type": "string", "description": "The virtual machine extension name." }, - "type": { - "type": "string", - "description": "The full type of the extension handler which includes both publisher and type." - }, - "typeHandlerVersion": { - "type": "string", - "description": "The type version of the extension handler." - }, - "substatuses": { + "statuses": { "oneOf": [ { "type": "array", @@ -2168,7 +2208,7 @@ ], "description": "The resource status information." }, - "statuses": { + "substatuses": { "oneOf": [ { "type": "array", @@ -2181,6 +2221,14 @@ } ], "description": "The resource status information." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "The instance view of a virtual machine extension." @@ -2188,22 +2236,6 @@ "VirtualMachineExtensionProperties": { "type": "object", "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "The type of the extension handler." - }, - "typeHandlerVersion": { - "type": "string", - "description": "The type version of the extension handler." - }, "autoUpgradeMinorVersion": { "oneOf": [ { @@ -2213,13 +2245,11 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether the extension handler should be automatically upgraded across minor versions." - }, - "settings": { - "description": "Json formatted public settings for the extension." + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "protectedSettings": { - "description": "Json formatted protected settings for the extension." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, "instanceView": { "oneOf": [ @@ -2230,7 +2260,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine extension instance view." + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Extension." @@ -2239,9 +2291,16 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." } @@ -2251,38 +2310,41 @@ "VirtualMachineProperties": { "type": "object", "properties": { - "hardwareProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The hardware profile." + ] }, - "storageProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage profile." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS profile." + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -2293,33 +2355,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network profile." + "description": "Specifies the network interfaces of the virtual machine." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The diagnostics profile." + "description": "Specifies the operating system settings for the virtual machine." }, - "availabilitySet": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The reference Id of the availability set to which the virtual machine belongs." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system." + "description": "Specifies the storage settings for the virtual machine disks." } }, "description": "Describes the properties of a Virtual Machine." @@ -2327,21 +2385,6 @@ "VirtualMachineScaleSetDataDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, - "lun": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The logical unit number." - }, "caching": { "oneOf": [ { @@ -2356,7 +2399,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, "createOption": { "oneOf": [ @@ -2383,7 +2426,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, "managedDisk": { "oneOf": [ @@ -2394,12 +2448,16 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a virtual machine scale set data disk." }, @@ -2418,7 +2476,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, "description": "Describes a Virtual Machine Scale Set Extension." @@ -2446,22 +2505,6 @@ "VirtualMachineScaleSetExtensionProperties": { "type": "object", "properties": { - "forceUpdateTag": { - "type": "string", - "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "The type of the extension handler." - }, - "typeHandlerVersion": { - "type": "string", - "description": "The type version of the extension handler." - }, "autoUpgradeMinorVersion": { "oneOf": [ { @@ -2471,13 +2514,33 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether the extension handler should be automatically upgraded across minor versions." + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." }, "settings": { + "type": "object", + "properties": {}, "description": "Json formatted public settings for the extension." }, - "protectedSettings": { - "description": "Json formatted protected settings for the extension." + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -2486,9 +2549,16 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine scale set. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." } @@ -2514,7 +2584,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, "required": [ @@ -2525,95 +2596,95 @@ "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "subnet": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/ApiEntityReference" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The subnet." + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." }, - "primary": { + "loadBalancerBackendAddressPools": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary IP Configuration in case the network interface has more than one IP Configuration." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." }, - "publicIPAddressConfiguration": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The publicIPAddressConfiguration." + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" }, - "privateIPAddressVersion": { + "primary": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "applicationGatewayBackendAddressPools": { + "privateIPAddressVersion": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The application gateway backend address pools." + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." }, - "loadBalancerBackendAddressPools": { + "publicIPAddressConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The load balancer backend address pools." + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "loadBalancerInboundNatPools": { + "subnet": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The load balancer inbound nat pools." + "description": "The API entity reference." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -2634,7 +2705,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Storage Account type." + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS or Premium_LRS." } }, "description": "Describes the parameters of a ScaleSet managed disk." @@ -2658,7 +2729,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." } }, "required": [ @@ -2689,16 +2761,16 @@ "VirtualMachineScaleSetNetworkConfigurationProperties": { "type": "object", "properties": { - "primary": { + "dnsSettings": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether this is a primary NIC on a virtual machine." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, "enableAcceleratedNetworking": { "oneOf": [ @@ -2711,41 +2783,40 @@ ], "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "networkSecurityGroup": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network security group." + "description": "Specifies the IP configurations of the network interface." }, - "dnsSettings": { + "networkSecurityGroup": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The dns settings to be applied on the network interfaces." + ] }, - "ipConfigurations": { + "primary": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set IP Configuration." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." } }, "required": [ @@ -2756,6 +2827,17 @@ "VirtualMachineScaleSetNetworkProfile": { "type": "object", "properties": { + "healthProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + }, "networkInterfaceConfigurations": { "oneOf": [ { @@ -2776,10 +2858,6 @@ "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, "caching": { "oneOf": [ { @@ -2794,7 +2872,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The caching type." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, "createOption": { "oneOf": [ @@ -2810,58 +2888,62 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "osType": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Describes the uri of a disk." }, - "image": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist." + "description": "Describes the parameters of a ScaleSet managed disk." }, - "vhdContainers": { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of virtual hard disk container uris." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "managedDisk": { + "vhdContainers": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies the container urls that are used to store operating system disks for the scale set." } }, "required": [ @@ -2872,57 +2954,57 @@ "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "computerNamePrefix": { + "adminPassword": { "type": "string", - "description": "The computer name prefix." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", - "description": "The admin user name." + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerNamePrefix": { "type": "string", - "description": "The admin user password." + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, "customData": { "type": "string", - "description": "A base-64 encoded string of custom data." + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { + "linuxConfiguration": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "$ref": "#/definitions/LinuxConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Windows Configuration of the OS profile." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "linuxConfiguration": { + "secrets": { "oneOf": [ { - "$ref": "#/definitions/LinuxConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Linux Configuration of the OS profile." + "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." }, - "secrets": { + "windowsConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VaultSecretGroup" - } + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The List of certificates for addition to the VM." + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Describes a virtual machine scale set OS profile." @@ -2930,49 +3012,49 @@ "VirtualMachineScaleSetProperties": { "type": "object", "properties": { - "upgradePolicy": { + "overprovision": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, - "virtualMachineProfile": { + "singlePlacementGroup": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "overprovision": { + "upgradePolicy": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/UpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "singlePlacementGroup": { + "virtualMachineProfile": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + "description": "Describes a virtual machine scale set virtual machine profile." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -2992,7 +3074,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" } }, "required": [ @@ -3016,88 +3099,58 @@ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { "type": "object", "properties": { - "idleTimeoutInMinutes": { + "dnsSettings": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The idle timeout of the public IP address." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, - "dnsSettings": { + "idleTimeoutInMinutes": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the publicIP addresses ." + "description": "The idle timeout of the public IP address." } }, "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "virtualMachineScaleSets_extensions_childResource": { + "VirtualMachineScaleSetStorageProfile": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { + "dataDisks": { "oneOf": [ { - "type": "string", - "enum": [ - "2017-03-30" - ] + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "properties": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" - }, - "VirtualMachineScaleSetStorageProfile": { - "type": "object", - "properties": { - "imageReference": { - "oneOf": [ - { - "$ref": "#/definitions/ImageReference" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The image reference." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, "osDisk": { "oneOf": [ @@ -3108,49 +3161,78 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS disk." + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-03-30" + ] }, - "dataDisks": { + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data disks." + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] } }, - "description": "Describes a virtual machine scale set storage profile." + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "osProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set OS profile." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "storageProfile": { + "extensionProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set storage profile." + "description": "Describes a virtual machine scale set extension profile." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -3161,66 +3243,95 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set network profile." + "description": "Describes a virtual machine scale set network profile." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set diagnostics profile." + "description": "Describes a virtual machine scale set OS profile." }, - "extensionProfile": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set extension profile." - }, - "licenseType": { - "type": "string", - "description": "The license type, which is for bring your own license scenario." + "description": "Describes a virtual machine scale set storage profile." } }, "description": "Describes a virtual machine scale set virtual machine profile." }, - "WindowsConfiguration": { + "virtualMachines_extensions_childResource": { "type": "object", "properties": { - "provisionVMAgent": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-03-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether the virtual machine agent should be provisioned on the Virtual Machine. If not specified, then the default behavior is to set it to true." + "description": "Describes the properties of a Virtual Machine Extension." }, - "enableAutomaticUpdates": { + "tags": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether Windows updates are automatically installed on the VM." + "description": "Resource tags" }, - "timeZone": { + "type": { "type": "string", - "description": "The time zone of the VM" - }, + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { "additionalUnattendContent": { "oneOf": [ { @@ -3233,7 +3344,33 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Additional base-64 encoded XML formatted information that can be included in the Unattend.xml file." + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine is enabled for automatic updates." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" }, "winRM": { "oneOf": [ @@ -3244,10 +3381,10 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Windows Remote Management configuration of the VM" + "description": "Describes Windows Remote Management configuration of the VM" } }, - "description": "Describes Windows Configuration of the OS Profile." + "description": "Specifies Windows operating system settings on the virtual machine." }, "WinRMConfiguration": { "type": "object", @@ -3272,6 +3409,10 @@ "WinRMListener": { "type": "object", "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, "protocol": { "oneOf": [ { @@ -3285,2027 +3426,10 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Protocol used by the WinRM listener. Http and Https are supported." - }, - "certificateUrl": { - "type": "string", - "description": "The Certificate URL in KMS for Https listeners. Should be null for Http listeners." + "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" - }, - "genericExtension": { - "type": "object", - "properties": { - "publisher": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Publisher" - }, - "type": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Type" - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Type handler version" - }, - "settings": { - "oneOf": [ - { "type": "object" }, - { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Microsoft.Compute/extensions - Settings" - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "settings" - ] - }, - "iaaSDiagnostics": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Diagnostics" - ] - }, - "type": { - "enum": [ - "IaaSDiagnostics" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "xmlCfg": { - "type": "string" - }, - "StorageAccount": { - "type": "string" - } - }, - "required": [ - "xmlCfg", - "StorageAccount" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - }, - "storageAccountEndPoint": { - "type": "string" - } - }, - "required": [ - "storageAccountName", - "storageAccountKey", - "storageAccountEndPoint" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "iaaSAntimalware": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Security" - ] - }, - "type": { - "enum": [ - "IaaSAntimalware" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "AntimalwareEnabled": { - "type": "boolean" - }, - "Exclusions": { - "type": "object", - "properties": { - "Paths": { - "type": "string" - }, - "Extensions": { - "type": "string" - }, - "Processes": { - "type": "string" - } - }, - "required": [ - "Paths", - "Extensions", - "Processes" - ] - }, - "RealtimeProtectionEnabled": { - "enum": [ - "true", - "false" - ] - }, - "ScheduledScanSettings": { - "type": "object", - "properties": { - "isEnabled": { - "enum": [ - "true", - "false" - ] - }, - "scanType": { - "type": "string" - }, - "day": { - "type": "string" - }, - "time": { - "type": "string" - } - }, - "required": [ - "isEnabled", - "scanType", - "day", - "time" - ] - } - }, - "required": [ - "AntimalwareEnabled", - "Exclusions", - "RealtimeProtectionEnabled", - "ScheduledScanSettings" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "customScriptExtension": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Compute" - ] - }, - "type": { - "enum": [ - "CustomScriptExtension" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "fileUris": { - "type": "array", - "items": { - "type": "string" - } - }, - "commandToExecute": { - "type": "string" - } - }, - "required": [ - "commandToExecute" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - } - } - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "customScriptForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "CustomScriptForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "fileUris":{ - "type":"array", - "items":{ - "type":"string" - } - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "commandToExecute":{ - "type":"string" - }, - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" - } - }, - "required":[ - "commandToExecute" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "linuxDiagnostic":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "LinuxDiagnostic" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "enableSyslog":{ - "type":"string" - }, - "mdsdHttpProxy":{ - "type":"string" - }, - "perCfg":{ - "type":"array" - }, - "fileCfg":{ - "type":"array" - }, - "xmlCfg":{ - "type":"string" - }, - "ladCfg":{ - "type":"object" - }, - "syslogCfg":{ - "type":"string" - }, - "eventVolume":{ - "type":"string" - }, - "mdsdCfg":{ - "type":"string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "mdsdHttpProxy":{ - "type":"string" - }, - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" - }, - "storageAccountEndPoint":{ - "type":"string" - } - }, - "required":[ - "storageAccountName", - "storageAccountKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "vmAccessForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "VMAccessForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "check_disk":{ - "type":"boolean" - }, - "repair_disk":{ - "type":"boolean" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "username":{ - "type":"string" - }, - "password":{ - "type":"string" - }, - "ssh_key":{ - "type":"string" - }, - "reset_ssh":{ - "type":"string" - }, - "remove_user":{ - "type":"string" - }, - "expiration":{ - "type":"string" - } - }, - "required":[ - "username", - "password", - "ssh_key", - "reset_ssh", - "remove_user", - "expiration" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "bgInfo":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Compute" - ] - }, - "type":{ - "enum":[ - "bginfo" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] - }, - "vmAccessAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Compute" - ] - }, - "type":{ - "enum":[ - "VMAccessAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "username":{ - "type":"string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "password":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "dscExtension":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Powershell" - ] - }, - "type":{ - "enum":[ - "DSC" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "modulesUrl":{ - "type":"string" - }, - "configurationFunction":{ - "type":"string" - }, - "properties":{ - "type":"string" - }, - "wmfVersion":{ - "type":"string" - }, - "privacy":{ - "type":"object", - "properties":{ - "dataCollection":{ - "type":"string" - } - } - } - }, - "required":[ - "modulesUrl", - "configurationFunction" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "dataBlobUri":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "acronisBackupLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Acronis.Backup" - ] - }, - "type":{ - "enum":[ - "AcronisBackupLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "absURL":{ - "type":"string" - } - }, - "required": [ - "absURL" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "userLogin":{ - "type":"string" - }, - "userPassword":{ - "type":"string" - } - }, - "required": [ - "userLogin", - "userPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "acronisBackup":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Acronis.Backup" - ] - }, - "type":{ - "enum":[ - "AcronisBackup" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "absURL":{ - "type":"string" - } - }, - "required": [ - "absURL" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "userLogin":{ - "type":"string" - }, - "userPassword":{ - "type":"string" - } - }, - "required": [ - "userLogin", - "userPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "linuxChefClient":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Chef.Bootstrap.WindowsAzure" - ] - }, - "type":{ - "enum":[ - "LinuxChefClient" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "bootstrap_version":{ - "type":"string" - }, - "bootstrap_options":{ - "type":"object", - "properties":{ - "chef_node_name":{ - "type": "string" - }, - "chef_server_url":{ - "type": "string" - }, - "validation_client_name":{ - "type": "string" - }, - "node_ssl_verify_mode":{ - "type": "string" - }, - "environment":{ - "type": "string" - } - }, - "required": [ - "chef_node_name", - "chef_server_url", - "validation_client_name", - "node_ssl_verify_mode", - "environment" - ] - }, - "runlist":{ - "type": "string" - }, - "client_rb":{ - "type": "string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "validation_key":{ - "type":"string" - }, - "chef_server_crt":{ - "type":"string" - }, - "secret":{ - "type":"string" - } - }, - "required": [ - "validation_key", - "chef_server_crt", - "secret" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "chefClient":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Chef.Bootstrap.WindowsAzure" - ] - }, - "type":{ - "enum":[ - "ChefClient" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "bootstrap_options":{ - "type":"object", - "properties":{ - "chef_node_name":{ - "type": "string" - }, - "chef_server_url":{ - "type": "string" - }, - "validation_client_name":{ - "type": "string" - }, - "node_ssl_verify_mode":{ - "type": "string" - }, - "environment":{ - "type": "string" - } - }, - "required": [ - "chef_node_name", - "chef_server_url", - "validation_client_name", - "node_ssl_verify_mode", - "environment" - ] - }, - "runlist":{ - "type": "string" - }, - "client_rb":{ - "type": "string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "validation_key":{ - "type":"string" - }, - "chef_server_crt":{ - "type":"string" - }, - "secret":{ - "type":"string" - } - }, - "required": [ - "validation_key", - "chef_server_crt", - "secret" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "datadogLinuxAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Datadog.Agent" - ] - }, - "type":{ - "enum":[ - "DatadogLinuxAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "api_key":{ - "type": "string" - } - }, - "required": [ - "api_key" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "datadogWindowsAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Datadog.Agent" - ] - }, - "type":{ - "enum":[ - "DatadogWindowsAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "api_key":{ - "type": "string" - } - }, - "required": [ - "api_key" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "dockerExtension":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.Extensions" - ] - }, - "type":{ - "enum":[ - "DockerExtension" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "docker":{ - "type": "object", - "properties": { - "port":{ - "type":"string" - } - }, - "required": [ - "port" - ] - } - }, - "required": [ - "docker" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "certs":{ - "type": "object", - "properties": { - "ca": { - "type": "string" - }, - "cert": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "required": [ - "ca", - "cert", - "key" - ] - } - }, - "required": [ - "certs" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "dynatraceLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "dynatrace.ruxit" - ] - }, - "type":{ - "enum":[ - "ruxitAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "tenantId":{ - "type": "string" - }, - "token": { - "type": "string" - } - }, - "required": [ - "tenantId", - "token" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "dynatraceWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "dynatrace.ruxit" - ] - }, - "type":{ - "enum":[ - "ruxitAgentWindows" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "tenantId":{ - "type": "string" - }, - "token": { - "type": "string" - } - }, - "required": [ - "tenantId", - "token" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "eset":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "ESET" - ] - }, - "type":{ - "enum":[ - "FileSecurity" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "LicenseKey":{ - "type": "string" - }, - "Install-RealtimeProtection": { - "type": "boolean" - }, - "Install-ProtocolFiltering": { - "type": "boolean" - }, - "Install-DeviceControl": { - "type": "boolean" - }, - "Enable-Cloud": { - "type": "boolean" - }, - "Enable-PUA": { - "type": "boolean" - }, - "ERAAgentCfgUrl": { - "type": "string" - } - }, - "required": [ - "LicenseKey", - "Install-RealtimeProtection", - "Install-ProtocolFiltering", - "Install-DeviceControl", - "Enable-Cloud", - "Enable-PUA", - "ERAAgentCfgUrl" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "hpeSecurityApplicationDefender":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "HPE.Security.ApplicationDefender" - ] - }, - "type":{ - "enum":[ - "DotnetAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "key": { - "type": "string" - }, - "serverURL": { - "type": "string" - } - }, - "required": [ - "key", - "serverURL" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "protectedSettings" - ] - }, - "puppetAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Puppet" - ] - }, - "type":{ - "enum":[ - "PuppetAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "PUPPET_MASTER_SERVER": { - "type": "string" - } - }, - "required": [ - "PUPPET_MASTER_SERVER" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "protectedSettings" - ] - }, - "site24x7LinuxServerExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7LinuxServerExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnlinuxserver" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "site24x7WindowsServerExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7WindowsServerExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnwindowsserver" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "site24x7ApmInsightExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7ApmInsightExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnapminsightclassic" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "trendMicroDSALinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "TrendMicro.DeepSecurity" - ] - }, - "type":{ - "enum":[ - "TrendMicroDSALinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties": { - "DSMname": { - "type": "string" - }, - "DSMport": { - "type": "string" - }, - "policyNameorID": { - "type": "string" - } - }, - "required": [ - "DSMname", - "DSMport" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "tenantID": { - "type": "string" - }, - "tenantPassword": { - "type": "string" - } - }, - "required": [ - "tenantID", - "tenantPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "trendMicroDSA":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "TrendMicro.DeepSecurity" - ] - }, - "type":{ - "enum":[ - "TrendMicroDSA" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties": { - "DSMname": { - "type": "string" - }, - "DSMport": { - "type": "string" - }, - "policyNameorID": { - "type": "string" - } - }, - "required": [ - "DSMname", - "DSMport" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "tenantID": { - "type": "string" - }, - "tenantPassword": { - "type": "string" - } - }, - "required": [ - "tenantID", - "tenantPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "bmcCtmAgentLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "ctm.bmc.com" - ] - }, - "type":{ - "enum":[ - "BmcCtmAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "Control-M Server Name":{ - "type": "string" - }, - "Agent Port":{ - "type": "string" - }, - "Host Group":{ - "type": "string" - }, - "User Account":{ - "type": "string" - } - }, - "required":[ - "Control-M Server Name", - "Agent Port", - "Host Group", - "User Account" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "bmcCtmAgentWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "bmc.ctm" - ] - }, - "type":{ - "enum":[ - "AgentWinExt" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "Control-M Server Name":{ - "type": "string" - }, - "Agent Port":{ - "type": "string" - }, - "Host Group":{ - "type": "string" - } - }, - "required":[ - "Control-M Server Name", - "Agent Port", - "Host Group" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "OSPatchingForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "OSPatchingForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "disabled":{ - "type":"boolean" - }, - "stop":{ - "type":"boolean" - }, - "installDuration":{ - "type":"string" - }, - "intervalOfWeeks":{ - "type":"number" - }, - "dayOfWeek":{ - "type":"string" - }, - "startTime":{ - "type":"string" - }, - "rebootAfterPatch":{ - "type":"string" - }, - "category":{ - "type":"string" - }, - "oneoff":{ - "type":"boolean" - }, - "local":{ - "type":"boolean" - }, - "idleTestScript":{ - "type":"string" - }, - "healthyTestScript":{ - "type":"string" - }, - "distUpgradeList":{ - "type":"string" - }, - "distUpgradeAll":{ - "type":"boolean" - }, - "vmStatusTest":{ - "type":"object" - } - }, - "required":[ - "disabled", - "stop" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "VMSnapshot":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.RecoveryServices" - ] - }, - "type":{ - "enum":[ - "VMSnapshot" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "locale":{ - "type":"string" - }, - "taskId":{ - "type":"string" - }, - "commandToExecute":{ - "type":"string" - }, - "objectStr":{ - "type":"string" - }, - "logsBlobUri":{ - "type":"string" - }, - "statusBlobUri":{ - "type":"string" - }, - "commandStartTimeUTCTicks":{ - "type":"string" - }, - "vmType":{ - "type":"string" - } - }, - "required":[ - "locale", - "taskId", - "commandToExecute", - "objectStr", - "logsBlobUri", - "statusBlobUri", - "commandStartTimeUTCTicks", - "vmType" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "VMSnapshotLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.RecoveryServices" - ] - }, - "type":{ - "enum":[ - "VMSnapshotLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "locale":{ - "type":"string" - }, - "taskId":{ - "type":"string" - }, - "commandToExecute":{ - "type":"string" - }, - "objectStr":{ - "type":"string" - }, - "logsBlobUri":{ - "type":"string" - }, - "statusBlobUri":{ - "type":"string" - }, - "commandStartTimeUTCTicks":{ - "type":"string" - }, - "vmType":{ - "type":"string" - } - }, - "required":[ - "locale", - "taskId", - "commandToExecute", - "objectStr", - "logsBlobUri", - "statusBlobUri", - "commandStartTimeUTCTicks", - "vmType" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "customScript": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Extensions" - ] - }, - "type": { - "enum": [ - "CustomScript" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "fileUris": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "fileUris" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - }, - "commandToExecute": { - "type": "string" - } - }, - "required": [ - "storageAccountName", - "storageAccountKey", - "commandToExecute" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "networkWatcherAgentWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.NetworkWatcher" - ] - }, - "type":{ - "enum":[ - "NetworkWatcherAgentWindows" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] - }, - "networkWatcherAgentLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.NetworkWatcher" - ] - }, - "type":{ - "enum":[ - "NetworkWatcherAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] } } } diff --git a/schemas/2017-04-02/Microsoft.Cdn.json b/schemas/2017-04-02/Microsoft.Cdn.json index 2e5da6495d..6982309740 100644 --- a/schemas/2017-04-02/Microsoft.Cdn.json +++ b/schemas/2017-04-02/Microsoft.Cdn.json @@ -574,4 +574,4 @@ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." } } -} \ No newline at end of file +} diff --git a/schemas/2017-04-18/Microsoft.CognitiveServices.json b/schemas/2017-04-18/Microsoft.CognitiveServices.json index a970ccac20..150100a594 100644 --- a/schemas/2017-04-18/Microsoft.CognitiveServices.json +++ b/schemas/2017-04-18/Microsoft.CognitiveServices.json @@ -654,4 +654,4 @@ "description": "A rule governing the accessibility from a specific virtual network." } } -} \ No newline at end of file +} diff --git a/schemas/2017-06-01/Microsoft.AAD.json b/schemas/2017-06-01/Microsoft.AAD.json index c03bbf9004..95b6818c05 100644 --- a/schemas/2017-06-01/Microsoft.AAD.json +++ b/schemas/2017-06-01/Microsoft.AAD.json @@ -246,6 +246,17 @@ ], "description": "Secure LDAP Settings" }, + "migrationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Properties" + }, "notificationSettings": { "oneOf": [ { @@ -388,6 +399,52 @@ }, "description": "Secure LDAP Settings" }, + "MigrationProgress": { + "type": "object", + "properties": { + "completionPercentage": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Completion Percentage" + }, + "progressMessage": { + "type": "string", + "description": "Progress Message" + } + }, + "description": "Migration Progress" + }, + "MigrationProperties": { + "type": "object", + "properties": { + "migrationProgress": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProgress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Progress" + }, + "oldSubnetId": { + "type": "string", + "description": "Old Subnet Id" + }, + "oldVnetSiteId": { + "type": "string", + "description": "Old Vnet Site Id" + } + }, + "description": "Migration Properties" + }, "NotificationSettings": { "type": "object", "properties": { diff --git a/schemas/2017-06-15-preview/Microsoft.EventGrid.json b/schemas/2017-06-15-preview/Microsoft.EventGrid.json index b566407832..1cee3a10e3 100644 --- a/schemas/2017-06-15-preview/Microsoft.EventGrid.json +++ b/schemas/2017-06-15-preview/Microsoft.EventGrid.json @@ -235,4 +235,4 @@ "description": "Properties of the Topic" } } -} \ No newline at end of file +} diff --git a/schemas/2017-09-15-preview/Microsoft.EventGrid.json b/schemas/2017-09-15-preview/Microsoft.EventGrid.json index 401f7c5b24..50f18150a4 100644 --- a/schemas/2017-09-15-preview/Microsoft.EventGrid.json +++ b/schemas/2017-09-15-preview/Microsoft.EventGrid.json @@ -279,4 +279,4 @@ "description": "Information about the webhook destination properties for an event subscription" } } -} \ No newline at end of file +} diff --git a/schemas/2017-10-12/Microsoft.Cdn.json b/schemas/2017-10-12/Microsoft.Cdn.json index c36b95bab6..f5c65cddd0 100644 --- a/schemas/2017-10-12/Microsoft.Cdn.json +++ b/schemas/2017-10-12/Microsoft.Cdn.json @@ -905,4 +905,4 @@ "description": "Defines the parameters for the URL path condition." } } -} \ No newline at end of file +} diff --git a/schemas/2017-11-15-preview/Microsoft.DataMigration.json b/schemas/2017-11-15-preview/Microsoft.DataMigration.json index 1a7b39fdd5..da2b44a542 100644 --- a/schemas/2017-11-15-preview/Microsoft.DataMigration.json +++ b/schemas/2017-11-15-preview/Microsoft.DataMigration.json @@ -7,40 +7,12 @@ "services": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the service" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.DataMigration/services" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-11-15-preview" ] }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "description": "Resource location." - }, "etag": { "type": "string", "description": "HTTP strong entity tag value. Ignored if submitted" @@ -49,6 +21,14 @@ "type": "string", "description": "The resource kind. Only 'vm' (the default) is supported." }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, "properties": { "oneOf": [ { @@ -58,7 +38,17 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Custom service properties" + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } }, "sku": { "oneOf": [ @@ -69,65 +59,56 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Service SKU" + "description": "An Azure SKU instance" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/services_projects_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.DataMigration/services" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services" }, "services_projects": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the project" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.DataMigration/services/projects" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-11-15-preview" ] }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, "location": { "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "Name of the project" + }, "properties": { "oneOf": [ { @@ -137,7 +118,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Project properties" + "description": "Project-specific properties" }, "resources": { "type": "array", @@ -148,30 +129,41 @@ } ] } + }, + "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.DataMigration/services/projects" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects" }, "services_projects_tasks": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the Task" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.DataMigration/services/projects/tasks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -182,77 +174,85 @@ "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." }, + "name": { + "type": "string", + "description": "Name of the Task" + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "$ref": "#/definitions/ProjectTaskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Custom task properties" + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects/tasks" } }, "definitions": { - "ConnectToSource_SqlServer": { + "ConnectionInfo": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" - } - } + "$ref": "#/definitions/SqlConnectionInfo" } ], - "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" }, "ConnectToSourceSqlServerTaskInput": { "type": "object", "properties": { - "sourceConnectionInfo": { + "checkPermissionsGroup": { "oneOf": [ { - "$ref": "#/definitions/SqlConnectionInfo" + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Connection information for Source SQL Server" + "description": "Permission group for validations." }, - "checkPermissionsGroup": { + "sourceConnectionInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "Default", - "MigrationFromSqlServerToAzureDB" - ] + "$ref": "#/definitions/SqlConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Permission group for validations." + "description": "Information for connecting to SQL database server" } }, "required": [ @@ -260,26 +260,31 @@ ], "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" }, - "ConnectToTarget_SqlDb": { + "ConnectToSourceSqlServerTaskProperties": { "type": "object", - "allOf": [ - { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] } + }, + "required": [ + "taskType" ], - "description": "Properties for the task that validates connection to SQL DB and target server requirements" + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" }, "ConnectToTargetSqlDbTaskInput": { "type": "object", @@ -293,7 +298,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Connection information for target SQL DB" + "description": "Information for connecting to SQL database server" } }, "required": [ @@ -301,6 +306,32 @@ ], "description": "Input for the task that validates connection to SQL DB and target server requirements" }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, "DatabaseInfo": { "type": "object", "properties": { @@ -317,6 +348,10 @@ "DataMigrationServiceProperties": { "type": "object", "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, "virtualSubnetId": { "type": "string", "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" @@ -327,27 +362,6 @@ ], "description": "Properties of the Data Migration service instance" }, - "GetUserTables_Sql": { - "type": "object", - "allOf": [ - { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/GetUserTablesSqlTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" - } - } - } - ], - "description": "Properties for the task that collects user tables for the given list of databases" - }, "GetUserTablesSqlTaskInput": { "type": "object", "properties": { @@ -360,7 +374,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Connection information for SQL Server" + "description": "Information for connecting to SQL database server" }, "selectedDatabases": { "oneOf": [ @@ -383,38 +397,35 @@ ], "description": "Input for the task that collects user tables for the given list of databases" }, - "Migrate_SqlServer_SqlDb": { + "GetUserTablesSqlTaskProperties": { "type": "object", - "allOf": [ - { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] } + }, + "required": [ + "taskType" ], - "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + "description": "Properties for the task that collects user tables for the given list of databases" }, "MigrateSqlServerSqlDbDatabaseInput": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the database" - }, - "targetDatabaseName": { - "type": "string", - "description": "Name of target database. Note: Target database will be truncated before starting migration." - }, "makeSourceDbReadOnly": { "oneOf": [ { @@ -426,19 +437,28 @@ ], "description": "Whether to set database read only before migration" }, + "name": { + "type": "string", + "description": "Name of the database" + }, "tableMap": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." } }, "description": "Database specific information for SQL to Azure SQL DB migration task inputs" @@ -446,18 +466,21 @@ "MigrateSqlServerSqlDbTaskInput": { "type": "object", "properties": { - "sourceConnectionInfo": { + "selectedDatabases": { "oneOf": [ { - "$ref": "#/definitions/SqlConnectionInfo" + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to source" + "description": "Databases to migrate" }, - "targetConnectionInfo": { + "sourceConnectionInfo": { "oneOf": [ { "$ref": "#/definitions/SqlConnectionInfo" @@ -466,21 +489,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to target" + "description": "Information for connecting to SQL database server" }, - "selectedDatabases": { + "targetConnectionInfo": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" - } + "$ref": "#/definitions/SqlConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Databases to migrate" + "description": "Information for connecting to SQL database server" }, "validationOptions": { "oneOf": [ @@ -491,30 +511,45 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Options for enabling various post migration validations. Available options, \n 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. \n 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database." + "description": "Types of validations to run after the migration" } }, "required": [ + "selectedDatabases", "sourceConnectionInfo", - "targetConnectionInfo", - "selectedDatabases" + "targetConnectionInfo" ], "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" }, - "MigrationValidationOptions": { + "MigrateSqlServerSqlDbTaskProperties": { "type": "object", "properties": { - "enableSchemaValidation": { + "input": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Allows to compare the schema information between source and target." + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { "enableDataIntegrityValidation": { "oneOf": [ { @@ -536,6 +571,17 @@ } ], "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." } }, "description": "Types of validations to run after the migration" @@ -543,71 +589,71 @@ "ProjectProperties": { "type": "object", "properties": { - "sourcePlatform": { + "databasesInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "SQL", - "Unknown" - ] + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Source platform for the project." + "description": "List of DatabaseInfo" }, - "targetPlatform": { + "sourceConnectionInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "SQLDB", - "Unknown" - ] + "$ref": "#/definitions/ConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Target platform for the project." + "description": "Defines the connection properties of a server" }, - "sourceConnectionInfo": { + "sourcePlatform": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to source" + "description": "Source platform for the project." }, "targetConnectionInfo": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "$ref": "#/definitions/ConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to target" + "description": "Defines the connection properties of a server" }, - "databasesInfo": { + "targetPlatform": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DatabaseInfo" - } + "type": "string", + "enum": [ + "SQLDB", + "Unknown" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of DatabaseInfo" + "description": "Target platform for the project." } }, "required": [ @@ -616,77 +662,120 @@ ], "description": "Project-specific properties" }, - "services_projects_childResource": { + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "ServiceSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, "name": { "type": "string", - "description": "Name of the project" + "description": "The unique name of the SKU, such as 'P3'" }, - "type": { + "size": { "type": "string", - "enum": [ - "projects" - ] + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2017-11-15-preview" ] }, - "tags": { + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ProjectProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "description": "Resource location." + "description": "Project-specific properties" }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ProjectProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Project properties" + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "projects" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects" }, "services_projects_tasks_childResource": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the Task" - }, - "type": { - "type": "string", - "enum": [ - "tasks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -697,172 +786,109 @@ "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." }, + "name": { + "type": "string", + "description": "Name of the Task" + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "$ref": "#/definitions/ProjectTaskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Custom task properties" + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects/tasks" }, - "ServiceSku": { + "SqlConnectionInfo": { "type": "object", "properties": { - "name": { + "additionalSettings": { "type": "string", - "description": "The unique name of the SKU, such as 'P3'" + "description": "Additional connection settings" }, - "tier": { - "type": "string", - "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" - }, - "family": { - "type": "string", - "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" - }, - "size": { - "type": "string", - "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" - }, - "capacity": { + "authentication": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The capacity of the SKU, if it supports scaling" - } - }, - "description": "An Azure SKU instance" - }, - "SqlConnectionInfo": { - "type": "object", - "allOf": [ - { - "properties": { - "userName": { - "type": "string", - "description": "User name" - }, - "password": { - "type": "string", - "description": "Password credential." - }, - "dataSource": { - "type": "string", - "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" - }, - "authentication": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "WindowsAuthentication", - "SqlAuthentication", - "ActiveDirectoryIntegrated", - "ActiveDirectoryPassword" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Authentication type to use for connection." - }, - "encryptConnection": { - "oneOf": [ - { - "type": "boolean", - "default": true - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to encrypt the connection" - }, - "additionalSettings": { - "type": "string", - "description": "Additional connection settings" - }, - "trustServerCertificate": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to trust the server certificate" - } - }, - "required": [ - "dataSource" - ] - } - ], - "description": "Information for connecting to SQL database server" - }, - "Unknown": { - "type": "object", - "allOf": [ - { - "properties": { - "taskType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Migrate_SqlServer_SqlDb", - "GetUserTables_Sql", - "ConnectToTarget_SqlDb", - "ConnectToSource_SqlServer", - "Unknown" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "description": "Authentication type to use for connection." }, - { - "anyOf": [ + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ { - "$ref": "#/definitions/Migrate_SqlServer_SqlDb" + "type": "boolean", + "default": true }, { - "$ref": "#/definitions/GetUserTables_Sql" - }, + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "trustServerCertificate": { + "oneOf": [ { - "$ref": "#/definitions/ConnectToTarget_SqlDb" + "type": "boolean", + "default": false }, { - "$ref": "#/definitions/ConnectToSource_SqlServer" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" ] + }, + "userName": { + "type": "string", + "description": "User name" } + }, + "required": [ + "dataSource", + "type" ], - "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + "description": "Information for connecting to SQL database server" } } -} +} \ No newline at end of file diff --git a/schemas/2017-12-01/Microsoft.Compute.json b/schemas/2017-12-01/Microsoft.Compute.json index 2d571d86da..8ff5ede8f7 100644 --- a/schemas/2017-12-01/Microsoft.Compute.json +++ b/schemas/2017-12-01/Microsoft.Compute.json @@ -7,15 +7,6 @@ "availabilitySets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -26,63 +17,66 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/AvailabilitySetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The instance view of a resource." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set" + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/availabilitySets" }, "images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -93,75 +87,79 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of an Image." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/images" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/images" }, "virtualMachines": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-12-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." }, "plan": { "oneOf": [ @@ -182,18 +180,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine." }, - "identity": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] }, "zones": { "oneOf": [ @@ -208,203 +227,44 @@ } ], "description": "The virtual machine zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/extensionsChild" - } - ] - } } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachines" }, - "extensions": { - "type": "object", - "properties": { - "type": { - "enum": [ - "Microsoft.Compute/virtualMachines/extensions" - ] - }, - "apiVersion": { - "enum": [ - "2017-12-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" - }, - "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} - ] - } - }, - "required": [ - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, - "vmssExtensions": { - "type": "object", - "properties": { - "type": { - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets/extensions" - ] - }, - "apiVersion": { - "enum": [ - "2017-12-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" - }, - "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} - ] - } - }, - "required": [ - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" - }, "virtualMachineScaleSets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-12-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine scale set." }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The virtual machine scale set sku." + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." }, "plan": { "oneOf": [ @@ -425,153 +285,282 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set." }, - "identity": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine scale set, if configured." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set zones." + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/extensionsChild" + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" } - ] - } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets" - } - }, - "definitions": { - "extensionsChild": { + }, + "virtualMachineScaleSets_extensions": { "type": "object", "properties": { - "type": { + "apiVersion": { + "type": "string", "enum": [ - "extensions" + "2017-12-01" ] }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { "apiVersion": { + "type": "string", "enum": [ "2017-12-01" ] }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, "properties": { - "anyOf": [ - { "$ref": "#/definitions/genericExtension" }, - { "$ref": "#/definitions/iaaSDiagnostics" }, - { "$ref": "#/definitions/iaaSAntimalware" }, - { "$ref": "#/definitions/customScriptExtension" }, - { "$ref": "#/definitions/customScriptForLinux"}, - { "$ref": "#/definitions/linuxDiagnostic"}, - { "$ref": "#/definitions/vmAccessForLinux"}, - { "$ref": "#/definitions/bgInfo"}, - { "$ref": "#/definitions/vmAccessAgent"}, - { "$ref": "#/definitions/dscExtension"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/dynatraceLinux"}, - { "$ref": "#/definitions/dynatraceWindows"}, - { "$ref": "#/definitions/eset"}, - { "$ref": "#/definitions/hpeSecurityApplicationDefender"}, - { "$ref": "#/definitions/puppetAgent"}, - { "$ref": "#/definitions/site24x7LinuxServerExtn"}, - { "$ref": "#/definitions/site24x7WindowsServerExtn"}, - { "$ref": "#/definitions/site24x7ApmInsightExtn"}, - { "$ref": "#/definitions/trendMicroDSALinux"}, - { "$ref": "#/definitions/trendMicroDSA"}, - { "$ref": "#/definitions/bmcCtmAgentLinux"}, - { "$ref": "#/definitions/bmcCtmAgentWindows"}, - { "$ref": "#/definitions/OSPatchingForLinux"}, - { "$ref": "#/definitions/VMSnapshot"}, - { "$ref": "#/definitions/VMSnapshotLinux"}, - { "$ref": "#/definitions/acronisBackupLinux"}, - { "$ref": "#/definitions/acronisBackup"}, - { "$ref": "#/definitions/linuxChefClient"}, - { "$ref": "#/definitions/chefClient"}, - { "$ref": "#/definitions/datadogLinuxAgent"}, - { "$ref": "#/definitions/datadogWindowsAgent"}, - { "$ref": "#/definitions/dockerExtension"}, - { "$ref": "#/definitions/customScript" }, - { "$ref": "#/definitions/networkWatcherAgentWindows"}, - { "$ref": "#/definitions/networkWatcherAgentLinux"} + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "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.Compute/virtualMachineScaleSets/virtualmachines" ] } }, "required": [ - "type", "apiVersion", + "location", + "name", "properties", - "location" + "type" ], - "description": "Microsoft.Compute/extensionsChild" + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { "AdditionalUnattendContent": { "type": "object", "properties": { - "passName": { + "componentName": { "oneOf": [ { "type": "string", "enum": [ - "OobeSystem" + "Microsoft-Windows-Shell-Setup" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is OobeSystem." + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." }, - "componentName": { + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { "oneOf": [ { "type": "string", "enum": [ - "Microsoft-Windows-Shell-Setup" + "OobeSystem" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "The pass name. Currently, the only allowable value is OobeSystem." }, "settingName": { "oneOf": [ @@ -587,10 +576,6 @@ } ], "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." - }, - "content": { - "type": "string", - "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." } }, "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." @@ -600,15 +585,32 @@ "properties": { "id": { "type": "string", - "description": "The ARM resource id in the form of /subscriptions/{SubcriptionId}/resourceGroups/{ResourceGroupName}/..." + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." } }, "description": "The API entity reference." }, + "AutoOSUpgradePolicy": { + "type": "object", + "properties": { + "disableAutoRollback": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS image rollback feature should be disabled. Default value is false." + } + }, + "description": "The configuration parameters used for performing automatic OS upgrade." + }, "AvailabilitySetProperties": { "type": "object", "properties": { - "platformUpdateDomainCount": { + "platformFaultDomainCount": { "oneOf": [ { "type": "integer" @@ -617,9 +619,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Update Domain count." + "description": "Fault Domain count." }, - "platformFaultDomainCount": { + "platformUpdateDomainCount": { "oneOf": [ { "type": "integer" @@ -628,7 +630,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count." + "description": "Update Domain count." }, "virtualMachines": { "oneOf": [ @@ -666,48 +668,11 @@ "description": "Uri of the storage account to use for placing the console output and screenshot." } }, - "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    For Linux Virtual Machines, you can easily view the output of your console log.

    For both Windows and Linux virtual machines, Azure also enables you to see a screenshot of the VM from the hypervisor." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." }, "DataDisk": { "type": "object", "properties": { - "lun": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, - "name": { - "type": "string", - "description": "The disk name." - }, - "vhd": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualHardDisk" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The virtual hard disk." - }, - "image": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualHardDisk" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." - }, "caching": { "oneOf": [ { @@ -724,17 +689,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -760,9 +714,31 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { "oneOf": [ { "$ref": "#/definitions/ManagedDiskParameters" @@ -771,12 +747,38 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a data disk." }, @@ -792,7 +794,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    For Linux Virtual Machines, you can easily view the output of your console log.

    For both Windows and Linux virtual machines, Azure also enables you to see a screenshot of the VM from the hypervisor." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." } }, "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." @@ -809,29 +811,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret." + "description": "Describes a reference to Key Vault Secret" }, - "keyEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the key encryption key in Key Vault." + "description": "Specifies whether disk encryption should be enabled on the virtual machine." }, - "enabled": { + "keyEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "Describes a reference to Key Vault Key" } }, "description": "Describes a Encryption Settings for a Disk" @@ -1024,69 +1026,67 @@ "ImageDataDisk": { "type": "object", "properties": { - "lun": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "caching": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + ] }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -1112,37 +1112,38 @@ "ImageOSDisk": { "type": "object", "properties": { - "osType": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "osState": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "Generalized", - "Specialized" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "snapshot": { + "managedDisk": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -1150,50 +1151,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The snapshot." + ] }, - "managedDisk": { + "osState": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "The OS State." }, - "caching": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -1212,8 +1210,8 @@ } }, "required": [ - "osType", - "osState" + "osState", + "osType" ], "description": "Describes an Operating System disk." }, @@ -1228,8 +1226,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source virtual machine from which Image is created." + ] }, "storageProfile": { "oneOf": [ @@ -1240,7 +1237,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Describes a storage profile." } }, "description": "Describes the properties of an Image." @@ -1252,14 +1249,14 @@ "type": "string", "description": "Resource Id" }, - "publisher": { - "type": "string", - "description": "The image publisher." - }, "offer": { "type": "string", "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, "sku": { "type": "string", "description": "The image SKU." @@ -1269,35 +1266,35 @@ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." } }, - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, "ImageStorageProfile": { "type": "object", "properties": { - "osDisk": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageOSDisk" + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ImageDataDisk" - } + "$ref": "#/definitions/ImageOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Describes an Operating System disk." }, "zoneResilient": { "oneOf": [ @@ -1311,9 +1308,6 @@ "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)." } }, - "required": [ - "osDisk" - ], "description": "Describes a storage profile." }, "InstanceViewStatus": { @@ -1323,6 +1317,10 @@ "type": "string", "description": "The status code." }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, "level": { "oneOf": [ { @@ -1339,10 +1337,6 @@ ], "description": "The level code." }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, "message": { "type": "string", "description": "The detailed status message, including for alerts and error messages." @@ -1370,8 +1364,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the key." + ] } }, "required": [ @@ -1395,8 +1388,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the secret." + ] } }, "required": [ @@ -1428,7 +1420,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ssh key configuration for a Linux OS." + "description": "SSH configuration for Linux based VMs running on Azure" } }, "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." @@ -1473,7 +1465,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a network interface reference properties." } }, "description": "Describes a network interface reference." @@ -1518,122 +1511,122 @@ "OSDisk": { "type": "object", "properties": { - "osType": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "vhd": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "image": { + "encryptionSettings": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Describes a Encryption Settings for a Disk" }, - "caching": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes the uri of a disk." }, - "writeAcceleratorEnabled": { + "managedDisk": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "The parameters of a managed disk." }, - "createOption": { - "oneOf": [ - { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -1644,33 +1637,22 @@ "OSProfile": { "type": "object", "properties": { - "computerName": { + "adminPassword": { "type": "string", - "description": "Specifies the host OS name of the virtual machine.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerName": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies Windows operating system settings on the virtual machine." - }, "linuxConfiguration": { "oneOf": [ { @@ -1695,6 +1677,17 @@ } ], "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Specifies the operating system settings for the virtual machine." @@ -1706,10 +1699,6 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." @@ -1717,6 +1706,10 @@ "promotionCode": { "type": "string", "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." @@ -1773,14 +1766,6 @@ "Sku": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The sku name." - }, - "tier": { - "type": "string", - "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" - }, "capacity": { "oneOf": [ { @@ -1791,9 +1776,17 @@ } ], "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" } }, - "description": "Describes a virtual machine scale set sku." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, "SshConfiguration": { "type": "object", @@ -1818,13 +1811,13 @@ "SshPublicKey": { "type": "object", "properties": { - "path": { - "type": "string", - "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" - }, "keyData": { "type": "string", "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -1832,41 +1825,41 @@ "StorageProfile": { "type": "object", "properties": { - "imageReference": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "osDisk": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, "description": "Specifies the storage settings for the virtual machine disks." @@ -1883,6 +1876,28 @@ "UpgradePolicy": { "type": "object", "properties": { + "automaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available." + }, + "autoOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutoOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, "mode": { "oneOf": [ { @@ -1909,17 +1924,6 @@ } ], "description": "The configuration parameters used while performing a rolling upgrade." - }, - "automaticOSUpgrade": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available." } }, "description": "Describes an upgrade policy - automatic, manual, or rolling." @@ -1927,13 +1931,13 @@ "VaultCertificate": { "type": "object", "properties": { - "certificateUrl": { + "certificateStore": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." }, - "certificateStore": { + "certificateUrl": { "type": "string", - "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -1949,8 +1953,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + ] }, "vaultCertificates": { "oneOf": [ @@ -1986,15 +1989,7 @@ "type": "string", "description": "The virtual machine extension name." }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, - "substatuses": { + "statuses": { "oneOf": [ { "type": "array", @@ -2008,7 +2003,7 @@ ], "description": "The resource status information." }, - "statuses": { + "substatuses": { "oneOf": [ { "type": "array", @@ -2021,20 +2016,6 @@ } ], "description": "The resource status information." - } - }, - "description": "The instance view of a virtual machine extension." - }, - "VirtualMachineExtensionProperties": { - "type": "object", - "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." }, "type": { "type": "string", @@ -2043,7 +2024,13 @@ "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the script handler." - }, + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { "autoUpgradeMinorVersion": { "oneOf": [ { @@ -2055,11 +2042,9 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, "instanceView": { "oneOf": [ @@ -2070,7 +2055,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine extension instance view." + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Extension." @@ -2078,16 +2085,6 @@ "VirtualMachineIdentity": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." - }, "identityIds": { "oneOf": [ { @@ -2101,6 +2098,23 @@ } ], "description": "The list of user identities associated with the Virtual Machine. The user identity references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." } }, "description": "Identity for the virtual machine." @@ -2108,38 +2122,41 @@ "VirtualMachineProperties": { "type": "object", "properties": { - "hardwareProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the hardware settings for the virtual machine." + ] }, - "storageProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -2152,109 +2169,34 @@ ], "description": "Specifies the network interfaces of the virtual machine." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the operating system settings for the virtual machine." }, - "availabilitySet": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Specifies the storage settings for the virtual machine disks." } }, "description": "Describes the properties of a Virtual Machine." }, - "virtualMachines_extensions_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2017-12-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualMachineExtensionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, "VirtualMachineScaleSetDataDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, - "lun": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, "caching": { "oneOf": [ { @@ -2271,17 +2213,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -2307,7 +2238,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, "managedDisk": { "oneOf": [ @@ -2318,12 +2260,27 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a virtual machine scale set data disk." }, @@ -2342,7 +2299,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, "description": "Describes a Virtual Machine Scale Set Extension." @@ -2370,14 +2328,35 @@ "VirtualMachineScaleSetExtensionProperties": { "type": "object", "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, "forceUpdateTag": { "type": "string", "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, "publisher": { "type": "string", "description": "The name of the extension handler publisher." }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, "type": { "type": "string", "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." @@ -2385,23 +2364,6 @@ "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the script handler." - }, - "autoUpgradeMinorVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." - }, - "settings": { - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -2409,16 +2371,6 @@ "VirtualMachineScaleSetIdentity": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." - }, "identityIds": { "oneOf": [ { @@ -2432,6 +2384,23 @@ } ], "description": "The list of user identities associated with the virtual machine scale set. The user identity references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." } }, "description": "Identity for the virtual machine scale set." @@ -2455,7 +2424,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, "required": [ @@ -2466,95 +2436,95 @@ "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "subnet": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/ApiEntityReference" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the identifier of the subnet." + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." }, - "primary": { + "loadBalancerBackendAddressPools": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." }, - "publicIPAddressConfiguration": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The publicIPAddressConfiguration." + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" }, - "privateIPAddressVersion": { + "primary": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "applicationGatewayBackendAddressPools": { + "privateIPAddressVersion": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." }, - "loadBalancerBackendAddressPools": { + "publicIPAddressConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "loadBalancerInboundNatPools": { + "subnet": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + "description": "The API entity reference." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -2599,7 +2569,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." } }, "required": [ @@ -2630,16 +2601,16 @@ "VirtualMachineScaleSetNetworkConfigurationProperties": { "type": "object", "properties": { - "primary": { + "dnsSettings": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, "enableAcceleratedNetworking": { "oneOf": [ @@ -2652,43 +2623,42 @@ ], "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "networkSecurityGroup": { + "enableIPForwarding": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network security group." + "description": "Whether IP forwarding enabled on this NIC." }, - "dnsSettings": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the network interfaces." + "description": "Specifies the IP configurations of the network interface." }, - "ipConfigurations": { + "networkSecurityGroup": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" - } + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the IP configurations of the network interface." + ] }, - "enableIPForwarding": { + "primary": { "oneOf": [ { "type": "boolean" @@ -2697,7 +2667,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether IP forwarding enabled on this NIC." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." } }, "required": [ @@ -2717,7 +2687,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + "description": "The API entity reference." }, "networkInterfaceConfigurations": { "oneOf": [ @@ -2739,10 +2709,6 @@ "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, "caching": { "oneOf": [ { @@ -2759,17 +2725,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -2786,31 +2741,46 @@ ], "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "osType": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Describes the uri of a disk." }, - "image": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the unmanaged user image to base the scale set on." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, "vhdContainers": { "oneOf": [ @@ -2826,16 +2796,16 @@ ], "description": "Specifies the container urls that are used to store operating system disks for the scale set." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -2846,33 +2816,22 @@ "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "computerNamePrefix": { + "adminPassword": { "type": "string", - "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerNamePrefix": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies Windows operating system settings on the virtual machine." - }, "linuxConfiguration": { "oneOf": [ { @@ -2897,6 +2856,17 @@ } ], "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Describes a virtual machine scale set OS profile." @@ -2904,29 +2874,29 @@ "VirtualMachineScaleSetProperties": { "type": "object", "properties": { - "upgradePolicy": { + "overprovision": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, - "virtualMachineProfile": { + "platformFaultDomainCount": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "Fault Domain count for each placement group." }, - "overprovision": { + "singlePlacementGroup": { "oneOf": [ { "type": "boolean" @@ -2935,40 +2905,40 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "singlePlacementGroup": { + "upgradePolicy": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/UpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "zoneBalance": { + "virtualMachineProfile": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether to force stictly even Virtual Machine distribution cross x-zones in case there is zone outage." + "description": "Describes a virtual machine scale set virtual machine profile." }, - "platformFaultDomainCount": { + "zoneBalance": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count for each placement group." + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -2988,7 +2958,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" } }, "required": [ @@ -3012,6 +2983,17 @@ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { "type": "object", "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, "idleTimeoutInMinutes": { "oneOf": [ { @@ -3022,39 +3004,65 @@ } ], "description": "The idle timeout of the public IP address." + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "dnsSettings": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the publicIP addresses ." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." } }, - "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + "description": "Describes a virtual machine scale set storage profile." }, "virtualMachineScaleSets_extensions_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-12-01" ] }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, "properties": { "oneOf": [ { @@ -3063,29 +3071,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, "virtualMachineScaleSets_virtualmachines_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -3096,19 +3102,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, "properties": { "oneOf": [ @@ -3118,154 +3125,159 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "virtualmachines" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, - "VirtualMachineScaleSetStorageProfile": { + "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "imageReference": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osDisk": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview." }, - "dataDisks": { + "extensionProfile": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." - } - }, - "description": "Describes a virtual machine scale set storage profile." - }, - "VirtualMachineScaleSetVMProfile": { - "type": "object", - "properties": { - "osProfile": { + "description": "Describes a virtual machine scale set extension profile." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machines in the scale set." + "description": "Describes a virtual machine scale set network profile." }, - "storageProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Describes a virtual machine scale set OS profile." }, - "networkProfile": { + "priority": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + "type": "string", + "enum": [ + "Regular", + "Low" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." }, - "diagnosticsProfile": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." - }, - "extensionProfile": { + "description": "Describes a virtual machine scale set storage profile." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "VirtualMachineScaleSetVMProperties": { + "type": "object", + "properties": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + ] }, - "priority": { + "diagnosticsProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "Regular", - "Low" - ] + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." - } - }, - "description": "Describes a virtual machine scale set virtual machine profile." - }, - "VirtualMachineScaleSetVMProperties": { - "type": "object", - "properties": { + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, "hardwareProfile": { "oneOf": [ { @@ -3277,16 +3289,20 @@ ], "description": "Specifies the hardware settings for the virtual machine." }, - "storageProfile": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/NetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Specifies the network interfaces of the virtual machine." }, "osProfile": { "oneOf": [ @@ -3299,59 +3315,95 @@ ], "description": "Specifies the operating system settings for the virtual machine." }, - "networkProfile": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/NetworkProfile" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the network interfaces of the virtual machine." + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] }, - "diagnosticsProfile": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Describes the properties of a Virtual Machine Extension." }, - "availabilitySet": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + "description": "Resource tags" }, - "licenseType": { + "type": { "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "enum": [ + "extensions" + ] } }, - "description": "Describes the properties of a virtual machine scale set virtual machine." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" }, "WindowsConfiguration": { "type": "object", "properties": { - "provisionVMAgent": { + "additionalUnattendContent": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, "enableAutomaticUpdates": { "oneOf": [ @@ -3364,23 +3416,20 @@ ], "description": "Indicates whether virtual machine is enabled for automatic updates." }, - "timeZone": { - "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" - }, - "additionalUnattendContent": { + "provisionVMAgent": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/AdditionalUnattendContent" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" }, "winRM": { "oneOf": [ @@ -3391,7 +3440,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." + "description": "Describes Windows Remote Management configuration of the VM" } }, "description": "Specifies Windows operating system settings on the virtual machine." @@ -3419,6 +3468,10 @@ "WinRMListener": { "type": "object", "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, "protocol": { "oneOf": [ { @@ -3433,2026 +3486,9 @@ } ], "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." - }, - "certificateUrl": { - "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" - }, - "genericExtension": { - "type": "object", - "properties": { - "publisher": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Publisher" - }, - "type": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Type" - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Compute/extensions - Type handler version" - }, - "settings": { - "oneOf": [ - { "type": "object" }, - { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Microsoft.Compute/extensions - Settings" - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "settings" - ] - }, - "iaaSDiagnostics": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Diagnostics" - ] - }, - "type": { - "enum": [ - "IaaSDiagnostics" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "xmlCfg": { - "type": "string" - }, - "StorageAccount": { - "type": "string" - } - }, - "required": [ - "xmlCfg", - "StorageAccount" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - }, - "storageAccountEndPoint": { - "type": "string" - } - }, - "required": [ - "storageAccountName", - "storageAccountKey", - "storageAccountEndPoint" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "iaaSAntimalware": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Security" - ] - }, - "type": { - "enum": [ - "IaaSAntimalware" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "AntimalwareEnabled": { - "type": "boolean" - }, - "Exclusions": { - "type": "object", - "properties": { - "Paths": { - "type": "string" - }, - "Extensions": { - "type": "string" - }, - "Processes": { - "type": "string" - } - }, - "required": [ - "Paths", - "Extensions", - "Processes" - ] - }, - "RealtimeProtectionEnabled": { - "enum": [ - "true", - "false" - ] - }, - "ScheduledScanSettings": { - "type": "object", - "properties": { - "isEnabled": { - "enum": [ - "true", - "false" - ] - }, - "scanType": { - "type": "string" - }, - "day": { - "type": "string" - }, - "time": { - "type": "string" - } - }, - "required": [ - "isEnabled", - "scanType", - "day", - "time" - ] - } - }, - "required": [ - "AntimalwareEnabled", - "Exclusions", - "RealtimeProtectionEnabled", - "ScheduledScanSettings" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "customScriptExtension": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Compute" - ] - }, - "type": { - "enum": [ - "CustomScriptExtension" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "fileUris": { - "type": "array", - "items": { - "type": "string" - } - }, - "commandToExecute": { - "type": "string" - } - }, - "required": [ - "commandToExecute" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - } - } - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "customScriptForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "CustomScriptForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "fileUris":{ - "type":"array", - "items":{ - "type":"string" - } - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "commandToExecute":{ - "type":"string" - }, - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" - } - }, - "required":[ - "commandToExecute" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "linuxDiagnostic":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "LinuxDiagnostic" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "enableSyslog":{ - "type":"string" - }, - "mdsdHttpProxy":{ - "type":"string" - }, - "perCfg":{ - "type":"array" - }, - "fileCfg":{ - "type":"array" - }, - "xmlCfg":{ - "type":"string" - }, - "ladCfg":{ - "type":"object" - }, - "syslogCfg":{ - "type":"string" - }, - "eventVolume":{ - "type":"string" - }, - "mdsdCfg":{ - "type":"string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "mdsdHttpProxy":{ - "type":"string" - }, - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" - }, - "storageAccountEndPoint":{ - "type":"string" - } - }, - "required":[ - "storageAccountName", - "storageAccountKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "vmAccessForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "VMAccessForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "check_disk":{ - "type":"boolean" - }, - "repair_disk":{ - "type":"boolean" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "username":{ - "type":"string" - }, - "password":{ - "type":"string" - }, - "ssh_key":{ - "type":"string" - }, - "reset_ssh":{ - "type":"string" - }, - "remove_user":{ - "type":"string" - }, - "expiration":{ - "type":"string" - } - }, - "required":[ - "username", - "password", - "ssh_key", - "reset_ssh", - "remove_user", - "expiration" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "bgInfo":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Compute" - ] - }, - "type":{ - "enum":[ - "bginfo" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] - }, - "vmAccessAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Compute" - ] - }, - "type":{ - "enum":[ - "VMAccessAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "username":{ - "type":"string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "password":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "dscExtension":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Powershell" - ] - }, - "type":{ - "enum":[ - "DSC" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "modulesUrl":{ - "type":"string" - }, - "configurationFunction":{ - "type":"string" - }, - "properties":{ - "type":"string" - }, - "wmfVersion":{ - "type":"string" - }, - "privacy":{ - "type":"object", - "properties":{ - "dataCollection":{ - "type":"string" - } - } - } - }, - "required":[ - "modulesUrl", - "configurationFunction" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "dataBlobUri":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "acronisBackupLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Acronis.Backup" - ] - }, - "type":{ - "enum":[ - "AcronisBackupLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "absURL":{ - "type":"string" - } - }, - "required": [ - "absURL" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "userLogin":{ - "type":"string" - }, - "userPassword":{ - "type":"string" - } - }, - "required": [ - "userLogin", - "userPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "acronisBackup":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Acronis.Backup" - ] - }, - "type":{ - "enum":[ - "AcronisBackup" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "absURL":{ - "type":"string" - } - }, - "required": [ - "absURL" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "userLogin":{ - "type":"string" - }, - "userPassword":{ - "type":"string" - } - }, - "required": [ - "userLogin", - "userPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "linuxChefClient":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Chef.Bootstrap.WindowsAzure" - ] - }, - "type":{ - "enum":[ - "LinuxChefClient" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "bootstrap_version":{ - "type":"string" - }, - "bootstrap_options":{ - "type":"object", - "properties":{ - "chef_node_name":{ - "type": "string" - }, - "chef_server_url":{ - "type": "string" - }, - "validation_client_name":{ - "type": "string" - }, - "node_ssl_verify_mode":{ - "type": "string" - }, - "environment":{ - "type": "string" - } - }, - "required": [ - "chef_node_name", - "chef_server_url", - "validation_client_name", - "node_ssl_verify_mode", - "environment" - ] - }, - "runlist":{ - "type": "string" - }, - "client_rb":{ - "type": "string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "validation_key":{ - "type":"string" - }, - "chef_server_crt":{ - "type":"string" - }, - "secret":{ - "type":"string" - } - }, - "required": [ - "validation_key", - "chef_server_crt", - "secret" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "chefClient":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Chef.Bootstrap.WindowsAzure" - ] - }, - "type":{ - "enum":[ - "ChefClient" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "bootstrap_options":{ - "type":"object", - "properties":{ - "chef_node_name":{ - "type": "string" - }, - "chef_server_url":{ - "type": "string" - }, - "validation_client_name":{ - "type": "string" - }, - "node_ssl_verify_mode":{ - "type": "string" - }, - "environment":{ - "type": "string" - } - }, - "required": [ - "chef_node_name", - "chef_server_url", - "validation_client_name", - "node_ssl_verify_mode", - "environment" - ] - }, - "runlist":{ - "type": "string" - }, - "client_rb":{ - "type": "string" - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "validation_key":{ - "type":"string" - }, - "chef_server_crt":{ - "type":"string" - }, - "secret":{ - "type":"string" - } - }, - "required": [ - "validation_key", - "chef_server_crt", - "secret" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "datadogLinuxAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Datadog.Agent" - ] - }, - "type":{ - "enum":[ - "DatadogLinuxAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "api_key":{ - "type": "string" - } - }, - "required": [ - "api_key" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "datadogWindowsAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Datadog.Agent" - ] - }, - "type":{ - "enum":[ - "DatadogWindowsAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "api_key":{ - "type": "string" - } - }, - "required": [ - "api_key" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "dockerExtension":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.Extensions" - ] - }, - "type":{ - "enum":[ - "DockerExtension" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "docker":{ - "type": "object", - "properties": { - "port":{ - "type":"string" - } - }, - "required": [ - "port" - ] - } - }, - "required": [ - "docker" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "certs":{ - "type": "object", - "properties": { - "ca": { - "type": "string" - }, - "cert": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "required": [ - "ca", - "cert", - "key" - ] - } - }, - "required": [ - "certs" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "dynatraceLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "dynatrace.ruxit" - ] - }, - "type":{ - "enum":[ - "ruxitAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "tenantId":{ - "type": "string" - }, - "token": { - "type": "string" - } - }, - "required": [ - "tenantId", - "token" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "dynatraceWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "dynatrace.ruxit" - ] - }, - "type":{ - "enum":[ - "ruxitAgentWindows" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "tenantId":{ - "type": "string" - }, - "token": { - "type": "string" - } - }, - "required": [ - "tenantId", - "token" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "eset":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "ESET" - ] - }, - "type":{ - "enum":[ - "FileSecurity" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "LicenseKey":{ - "type": "string" - }, - "Install-RealtimeProtection": { - "type": "boolean" - }, - "Install-ProtocolFiltering": { - "type": "boolean" - }, - "Install-DeviceControl": { - "type": "boolean" - }, - "Enable-Cloud": { - "type": "boolean" - }, - "Enable-PUA": { - "type": "boolean" - }, - "ERAAgentCfgUrl": { - "type": "string" - } - }, - "required": [ - "LicenseKey", - "Install-RealtimeProtection", - "Install-ProtocolFiltering", - "Install-DeviceControl", - "Enable-Cloud", - "Enable-PUA", - "ERAAgentCfgUrl" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "hpeSecurityApplicationDefender":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "HPE.Security.ApplicationDefender" - ] - }, - "type":{ - "enum":[ - "DotnetAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "key": { - "type": "string" - }, - "serverURL": { - "type": "string" - } - }, - "required": [ - "key", - "serverURL" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "protectedSettings" - ] - }, - "puppetAgent":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Puppet" - ] - }, - "type":{ - "enum":[ - "PuppetAgent" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "PUPPET_MASTER_SERVER": { - "type": "string" - } - }, - "required": [ - "PUPPET_MASTER_SERVER" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "protectedSettings" - ] - }, - "site24x7LinuxServerExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7LinuxServerExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnlinuxserver" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "site24x7WindowsServerExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7WindowsServerExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnwindowsserver" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "site24x7ApmInsightExtn":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Site24x7" - ] - }, - "type":{ - "enum":[ - "Site24x7ApmInsightExtn" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "site24x7AgentType":{ - "enum":[ - "azurevmextnapminsightclassic" - ] - } - } - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "site24x7LicenseKey":{ - "type": "string" - } - }, - "required":[ - "site24x7LicenseKey" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "trendMicroDSALinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "TrendMicro.DeepSecurity" - ] - }, - "type":{ - "enum":[ - "TrendMicroDSALinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties": { - "DSMname": { - "type": "string" - }, - "DSMport": { - "type": "string" - }, - "policyNameorID": { - "type": "string" - } - }, - "required": [ - "DSMname", - "DSMport" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "tenantID": { - "type": "string" - }, - "tenantPassword": { - "type": "string" - } - }, - "required": [ - "tenantID", - "tenantPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "trendMicroDSA":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "TrendMicro.DeepSecurity" - ] - }, - "type":{ - "enum":[ - "TrendMicroDSA" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties": { - "DSMname": { - "type": "string" - }, - "DSMport": { - "type": "string" - }, - "policyNameorID": { - "type": "string" - } - }, - "required": [ - "DSMname", - "DSMport" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "tenantID": { - "type": "string" - }, - "tenantPassword": { - "type": "string" - } - }, - "required": [ - "tenantID", - "tenantPassword" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "bmcCtmAgentLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "ctm.bmc.com" - ] - }, - "type":{ - "enum":[ - "BmcCtmAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "Control-M Server Name":{ - "type": "string" - }, - "Agent Port":{ - "type": "string" - }, - "Host Group":{ - "type": "string" - }, - "User Account":{ - "type": "string" - } - }, - "required":[ - "Control-M Server Name", - "Agent Port", - "Host Group", - "User Account" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "bmcCtmAgentWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "bmc.ctm" - ] - }, - "type":{ - "enum":[ - "AgentWinExt" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type": "object", - "properties":{ - "Control-M Server Name":{ - "type": "string" - }, - "Agent Port":{ - "type": "string" - }, - "Host Group":{ - "type": "string" - } - }, - "required":[ - "Control-M Server Name", - "Agent Port", - "Host Group" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "OSPatchingForLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.OSTCExtensions" - ] - }, - "type":{ - "enum":[ - "OSPatchingForLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "disabled":{ - "type":"boolean" - }, - "stop":{ - "type":"boolean" - }, - "installDuration":{ - "type":"string" - }, - "intervalOfWeeks":{ - "type":"number" - }, - "dayOfWeek":{ - "type":"string" - }, - "startTime":{ - "type":"string" - }, - "rebootAfterPatch":{ - "type":"string" - }, - "category":{ - "type":"string" - }, - "oneoff":{ - "type":"boolean" - }, - "local":{ - "type":"boolean" - }, - "idleTestScript":{ - "type":"string" - }, - "healthyTestScript":{ - "type":"string" - }, - "distUpgradeList":{ - "type":"string" - }, - "distUpgradeAll":{ - "type":"boolean" - }, - "vmStatusTest":{ - "type":"object" - } - }, - "required":[ - "disabled", - "stop" - ] - }, - "protectedSettings":{ - "type":"object", - "properties":{ - "storageAccountName":{ - "type":"string" - }, - "storageAccountKey":{ - "type":"string" - } - } - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "VMSnapshot":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.RecoveryServices" - ] - }, - "type":{ - "enum":[ - "VMSnapshot" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "locale":{ - "type":"string" - }, - "taskId":{ - "type":"string" - }, - "commandToExecute":{ - "type":"string" - }, - "objectStr":{ - "type":"string" - }, - "logsBlobUri":{ - "type":"string" - }, - "statusBlobUri":{ - "type":"string" - }, - "commandStartTimeUTCTicks":{ - "type":"string" - }, - "vmType":{ - "type":"string" - } - }, - "required":[ - "locale", - "taskId", - "commandToExecute", - "objectStr", - "logsBlobUri", - "statusBlobUri", - "commandStartTimeUTCTicks", - "vmType" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "VMSnapshotLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.RecoveryServices" - ] - }, - "type":{ - "enum":[ - "VMSnapshotLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - }, - "settings":{ - "type":"object", - "properties":{ - "locale":{ - "type":"string" - }, - "taskId":{ - "type":"string" - }, - "commandToExecute":{ - "type":"string" - }, - "objectStr":{ - "type":"string" - }, - "logsBlobUri":{ - "type":"string" - }, - "statusBlobUri":{ - "type":"string" - }, - "commandStartTimeUTCTicks":{ - "type":"string" - }, - "vmType":{ - "type":"string" - } - }, - "required":[ - "locale", - "taskId", - "commandToExecute", - "objectStr", - "logsBlobUri", - "statusBlobUri", - "commandStartTimeUTCTicks", - "vmType" - ] - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings" - ] - }, - "customScript": { - "type": "object", - "properties": { - "publisher": { - "enum": [ - "Microsoft.Azure.Extensions" - ] - }, - "type": { - "enum": [ - "CustomScript" - ] - }, - "typeHandlerVersion": { - "type": "string", - "minLength": 1 - }, - "autoUpgradeMinorVersion": { - "type": "boolean" - }, - "settings": { - "type": "object", - "properties": { - "fileUris": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "fileUris" - ] - }, - "protectedSettings": { - "type": "object", - "properties": { - "storageAccountName": { - "type": "string" - }, - "storageAccountKey": { - "type": "string" - }, - "commandToExecute": { - "type": "string" - } - }, - "required": [ - "storageAccountName", - "storageAccountKey", - "commandToExecute" - ] - } - }, - "required": [ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion", - "settings", - "protectedSettings" - ] - }, - "networkWatcherAgentWindows":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.NetworkWatcher" - ] - }, - "type":{ - "enum":[ - "NetworkWatcherAgentWindows" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] - }, - "networkWatcherAgentLinux":{ - "type":"object", - "properties":{ - "publisher":{ - "enum":[ - "Microsoft.Azure.NetworkWatcher" - ] - }, - "type":{ - "enum":[ - "NetworkWatcherAgentLinux" - ] - }, - "typeHandlerVersion":{ - "type":"string", - "minLength":1 - }, - "autoUpgradeMinorVersion":{ - "type":"boolean" - } - }, - "required":[ - "publisher", - "type", - "typeHandlerVersion", - "autoUpgradeMinorVersion" - ] } } } diff --git a/schemas/2018-01-01/Microsoft.EventGrid.json b/schemas/2018-01-01/Microsoft.EventGrid.json index 2e901afe70..2da1b61e78 100644 --- a/schemas/2018-01-01/Microsoft.EventGrid.json +++ b/schemas/2018-01-01/Microsoft.EventGrid.json @@ -279,4 +279,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2018-03-15-preview/Microsoft.DataMigration.json b/schemas/2018-03-15-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..f3cfa82c7d --- /dev/null +++ b/schemas/2018-03-15-preview/Microsoft.DataMigration.json @@ -0,0 +1,1192 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "definitions": { + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Data Migration service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific 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": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + } + } +} \ No newline at end of file diff --git a/schemas/2018-03-31-preview/Microsoft.DataMigration.json b/schemas/2018-03-31-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..f3e42fe246 --- /dev/null +++ b/schemas/2018-03-31-preview/Microsoft.DataMigration.json @@ -0,0 +1,1245 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "definitions": { + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "CollectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from source server." + }, + "CollectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from source server." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Data Migration service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedAgentJobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Agent Jobs to migrate." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "SQLMI", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific 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": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + } + } +} \ No newline at end of file diff --git a/schemas/2018-04-01/Microsoft.Compute.json b/schemas/2018-04-01/Microsoft.Compute.json index a0d673242b..32cd9df481 100644 --- a/schemas/2018-04-01/Microsoft.Compute.json +++ b/schemas/2018-04-01/Microsoft.Compute.json @@ -4,19 +4,163 @@ "title": "Microsoft.Compute", "description": "Microsoft Compute Resource Types", "resourceDefinitions": { + "availabilitySets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilitySetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a resource." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/availabilitySets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/availabilitySets" + }, "disks": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, "name": { "type": "string", "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/DiskSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, or StandardSSD_LRS." + }, + "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.Compute/disks" ] }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logical zone list for Disk." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/disks" + }, + "images": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ @@ -27,13 +171,29 @@ "type": "string", "description": "Resource location" }, + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of an Image." + }, "tags": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -41,29 +201,97 @@ ], "description": "Resource tags" }, - "sku": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/images" + }, + "proximityPlacementGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the proximity placement group." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/DiskSku" + "$ref": "#/definitions/ProximityPlacementGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Proximity Placement Group." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Logical zone list for Disk." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/proximityPlacementGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/proximityPlacementGroups" + }, + "snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." }, "properties": { "oneOf": [ @@ -73,31 +301,3379 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Disk resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "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.Compute/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/snapshots" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_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.Compute/virtualMachines" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine zones." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" + }, + "virtualMachineScaleSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/virtualMachineScaleSets" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachineScaleSets_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "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.Compute/virtualMachineScaleSets/virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OobeSystem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pass name. Currently, the only allowable value is OobeSystem." + }, + "settingName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AutoOSUpgradePolicy": { + "type": "object", + "properties": { + "disableAutoRollback": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS image rollback feature should be disabled. Default value is false." + } + }, + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "virtualMachines": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references to all virtual machines in the availability set." + } + }, + "description": "The instance view of a resource." + }, + "BootDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "CreationData": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This enumerates the possible sources of a disk's creation." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "DataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a data disk." + }, + "DiagnosticsProfile": { + "type": "object", + "properties": { + "bootDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/BootDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Secret" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Key" + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "DiskProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "DiskSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, or StandardSSD_LRS." + }, + "EncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + }, + "description": "Encryption settings for disk or snapshot" + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_B1s", + "Standard_B1ms", + "Standard_B2s", + "Standard_B2ms", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D2_v3", + "Standard_D4_v3", + "Standard_D8_v3", + "Standard_D16_v3", + "Standard_D32_v3", + "Standard_D64_v3", + "Standard_D2s_v3", + "Standard_D4s_v3", + "Standard_D8s_v3", + "Standard_D16s_v3", + "Standard_D32s_v3", + "Standard_D64s_v3", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_DS13-4_v2", + "Standard_DS13-2_v2", + "Standard_DS14-8_v2", + "Standard_DS14-4_v2", + "Standard_E2_v3", + "Standard_E4_v3", + "Standard_E8_v3", + "Standard_E16_v3", + "Standard_E32_v3", + "Standard_E64_v3", + "Standard_E2s_v3", + "Standard_E4s_v3", + "Standard_E8s_v3", + "Standard_E16s_v3", + "Standard_E32s_v3", + "Standard_E64s_v3", + "Standard_E32-16_v3", + "Standard_E32-8s_v3", + "Standard_E64-32s_v3", + "Standard_E64-16s_v3", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_F2s_v2", + "Standard_F4s_v2", + "Standard_F8s_v2", + "Standard_F16s_v2", + "Standard_F32s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_GS4-8", + "Standard_GS4-4", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s", + "Standard_M64s", + "Standard_M64ms", + "Standard_M128s", + "Standard_M128ms", + "Standard_M64-32ms", + "Standard_M64-16ms", + "Standard_M128-64ms", + "Standard_M128-32ms", + "Standard_NC6", + "Standard_NC12", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC6s_v2", + "Standard_NC12s_v2", + "Standard_NC24s_v2", + "Standard_NC24rs_v2", + "Standard_NC6s_v3", + "Standard_NC12s_v3", + "Standard_NC24s_v3", + "Standard_NC24rs_v3", + "Standard_ND6s", + "Standard_ND12s", + "Standard_ND24s", + "Standard_ND24rs", + "Standard_NV6", + "Standard_NV12", + "Standard_NV24" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

    [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

    [List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

    [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)." + } + }, + "description": "Specifies the hardware settings for the virtual machine." + }, + "ImageDataDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS." + } + }, + "required": [ + "lun" + ], + "description": "Describes a data disk." + }, + "ImageDiskReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "ImageOSDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OS State." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS." + } + }, + "required": [ + "osState", + "osType" + ], + "description": "Describes an Operating System disk." + }, + "ImageProperties": { + "type": "object", + "properties": { + "sourceVirtualMachine": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ImageStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a storage profile." + } + }, + "description": "Describes the properties of an Image." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "ImageStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ImageOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an Operating System disk." + }, + "zoneResilient": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)." + } + }, + "description": "Describes a storage profile." + }, + "InstanceViewStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Info", + "Warning", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The level code." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "KeyVaultAndKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "KeyVaultKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" + }, + "KeyVaultSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "disablePasswordAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether password authentication should be disabled." + }, + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "ManagedDiskParameters": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS." + } + }, + "description": "The parameters of a managed disk." + }, + "NetworkInterfaceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a network interface reference properties." + } + }, + "description": "Describes a network interface reference." + }, + "NetworkInterfaceReferenceProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + } + }, + "description": "Specifies the network interfaces of the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "encryptionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a Encryption Settings for a Disk" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the virtual machine." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "ProximityPlacementGroupProperties": { + "type": "object", + "properties": { + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "RollingUpgradePolicy": { + "type": "object", + "properties": { + "maxBatchInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%." + }, + "maxUnhealthyInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%." + }, + "maxUnhealthyUpgradedInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." + }, + "pauseTimeBetweenBatches": { + "type": "string", + "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + } + }, + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "SnapshotSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "SourceVault": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + }, + "UpgradePolicy": { + "type": "object", + "properties": { + "automaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available." + }, + "autoOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutoOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual", + "Rolling" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + }, + "rollingUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used while performing a rolling upgrade." + } + }, + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "VirtualMachineExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The virtual machine extension name." + }, + "statuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "substatuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "instanceView": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineIdentity": { + "type": "object", + "properties": { + "identityIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Virtual Machine. The user identity references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." + } + }, + "description": "Identity for the virtual machine." + }, + "VirtualMachineProperties": { + "type": "object", + "properties": { + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetDataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The create option." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a virtual machine scale set data disk." + }, + "VirtualMachineScaleSetExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set child extension resources." + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetIdentity": { + "type": "object", + "properties": { + "identityIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the virtual machine scale set. The user identity references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." + } + }, + "description": "Identity for the virtual machine scale set." + }, + "VirtualMachineScaleSetIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetIPConfigurationProperties": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + } + }, + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetIpTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "IP tag associated with the public IP. Example: SQL, Storage etc." + } + }, + "description": "Contains the IP tag associated with the public IP address." + }, + "VirtualMachineScaleSetManagedDiskParameters": { + "type": "object", + "properties": { + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. Possible values are: Standard_LRS, Premium_LRS, and StandardSSD_LRS." + } + }, + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationDnsSettings": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DNS servers IP addresses" + } + }, + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "type": "object", + "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableIPForwarding": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether IP forwarding enabled on this NIC." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "networkSecurityGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetNetworkProfile": { + "type": "object", + "properties": { + "healthProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + }, + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetOSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhdContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the container urls that are used to store operating system disks for the scale set." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption" + ], + "description": "Describes a virtual machine scale set operating system disk." + }, + "VirtualMachineScaleSetOSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerNamePrefix": { + "type": "string", + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetProperties": { + "type": "object", + "properties": { + "overprovision": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "singlePlacementGroup": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + }, + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "zoneBalance": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The publicIP address configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created" + } + }, + "required": [ + "domainNameLabel" + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { + "type": "object", + "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The idle timeout of the public IP address." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIpTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of IP tags associated with the public IP address." + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/disks" + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, - "snapshots": { + "virtualMachineScaleSets_virtualmachines_childResource": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/snapshots" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -108,325 +3684,393 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "sku": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/SnapshotSku" + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/DiskProperties" + "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": [ + "virtualmachines" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/snapshots" - } - }, - "definitions": { - "CreationData": { + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "createOption": { + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "evictionPolicy": { "oneOf": [ { "type": "string", "enum": [ - "Empty", - "Attach", - "FromImage", - "Import", - "Copy", - "Restore" + "Deallocate", + "Delete" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This enumerates the possible sources of a disk's creation." - }, - "storageAccountId": { - "type": "string", - "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview." }, - "imageReference": { + "extensionProfile": { "oneOf": [ { - "$ref": "#/definitions/ImageDiskReference" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information." + "description": "Describes a virtual machine scale set extension profile." }, - "sourceUri": { + "licenseType": { "type": "string", - "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, - "sourceResourceId": { - "type": "string", - "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." - } - }, - "required": [ - "createOption" - ], - "description": "Data used when creating a disk." - }, - "DiskProperties": { - "type": "object", - "properties": { - "osType": { + "networkProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Describes a virtual machine scale set network profile." }, - "creationData": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/CreationData" + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "Describes a virtual machine scale set OS profile." }, - "diskSizeGB": { + "priority": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "Regular", + "Low" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." }, - "encryptionSettings": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSettings" + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption settings for disk or snapshot" + "description": "Describes a virtual machine scale set storage profile." } }, - "required": [ - "creationData" - ], - "description": "Disk resource properties." + "description": "Describes a virtual machine scale set virtual machine profile." }, - "DiskSku": { + "VirtualMachineScaleSetVMProperties": { "type": "object", "properties": { - "name": { + "availabilitySet": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS" - ] + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The sku name." - } - }, - "description": "The disks sku name. Can be Standard_LRS or Premium_LRS." - }, - "EncryptionSettings": { - "type": "object", - "properties": { - "enabled": { + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + "description": "Specifies the hardware settings for the virtual machine." }, - "diskEncryptionKey": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultAndSecretReference" + "$ref": "#/definitions/NetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Secret Url and vault id of the disk encryption key" + "description": "Specifies the network interfaces of the virtual machine." }, - "keyEncryptionKey": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultAndKeyReference" + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Key Url and vault id of the key encryption key" + "description": "Specifies the storage settings for the virtual machine disks." } }, - "description": "Encryption settings for disk or snapshot" + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "ImageDiskReference": { + "virtualMachines_extensions_childResource": { "type": "object", "properties": { - "id": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-01" + ] + }, + "location": { "type": "string", - "description": "A relative uri containing either a Platform Imgage Repository or user image reference." + "description": "Resource location" }, - "lun": { + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." - } - }, - "required": [ - "id" - ], - "description": "The source image used for creating the disk." - }, - "KeyVaultAndKeyReference": { - "type": "object", - "properties": { - "sourceVault": { + "description": "Describes the properties of a Virtual Machine Extension." + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/SourceVault" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" + "description": "Resource tags" }, - "keyUrl": { + "type": { "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "enum": [ + "extensions" + ] } }, "required": [ - "sourceVault", - "keyUrl" + "apiVersion", + "location", + "name", + "properties", + "type" ], - "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + "description": "Microsoft.Compute/virtualMachines/extensions" }, - "KeyVaultAndSecretReference": { + "WindowsConfiguration": { "type": "object", "properties": { - "sourceVault": { + "additionalUnattendContent": { "oneOf": [ { - "$ref": "#/definitions/SourceVault" + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, - "secretUrl": { + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine is enabled for automatic updates." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + }, + "winRM": { + "oneOf": [ + { + "$ref": "#/definitions/WinRMConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes Windows Remote Management configuration of the VM" } }, - "required": [ - "sourceVault", - "secretUrl" - ], - "description": "Key Vault Secret Url and vault id of the encryption key " + "description": "Specifies Windows operating system settings on the virtual machine." }, - "SnapshotSku": { + "WinRMConfiguration": { "type": "object", "properties": { - "name": { + "listeners": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS", - "Standard_ZRS" - ] + "type": "array", + "items": { + "$ref": "#/definitions/WinRMListener" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The sku name." + "description": "The list of Windows Remote Management listeners" } }, - "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + "description": "Describes Windows Remote Management configuration of the VM" }, - "SourceVault": { + "WinRMListener": { "type": "object", "properties": { - "id": { + "certificateUrl": { "type": "string", - "description": "Resource Id" + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." } }, - "description": "The vault id is an Azure Resource Manager Resoure id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" } } } diff --git a/schemas/2018-04-19/Microsoft.DataMigration.json b/schemas/2018-04-19/Microsoft.DataMigration.json new file mode 100644 index 0000000000..14e4ed40f9 --- /dev/null +++ b/schemas/2018-04-19/Microsoft.DataMigration.json @@ -0,0 +1,2785 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "definitions": { + "AzureActiveDirectoryApp": { + "type": "object", + "properties": { + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + } + }, + "required": [ + "appKey", + "applicationId", + "tenantId" + ], + "description": "Azure Active Directory Application" + }, + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "#/definitions/MiSqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToSourceMySqlTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlServer", + "AzureDbForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Platform for the migration." + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates MySQL database connection" + }, + "ConnectToSourceMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates MySQL database connection" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.MySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates MySQL database connection" + }, + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.PostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "collectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from source server." + }, + "collectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from source server." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForMySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration" + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "ConnectToTargetSqlSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Data Migration service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetTdeCertificatesSqlTaskInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SelectedCertificateInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate." + } + }, + "required": [ + "backupFileShare", + "connectionInfo", + "selectedCertificates" + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "GetTdeCertificatesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "taskType": { + "type": "string", + "enum": [ + "GetTDECertificates.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that gets TDE certificates in Base64 encoded format." + }, + "GetUserTablesSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedSourceDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source database names to collect tables for" + }, + "selectedTargetDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of target database names to collect tables for" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedSourceDatabases", + "selectedTargetDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.MySql.AzureDbForMySql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.PostgreSql.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbSyncDatabaseInput": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database" + }, + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of database" + }, + "schemaName": { + "type": "string", + "description": "Schema name to be migrated" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs" + }, + "MigrateSqlServerSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFilePaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of backup files to be used in case of existing backups." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases." + }, + "selectedAgentJobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Agent Jobs to migrate." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "MiSqlConnectionInfo": { + "type": "object", + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "MiSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "managedInstanceResourceId", + "type" + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + }, + "MySqlConnectionInfo": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "type": { + "type": "string", + "enum": [ + "MySqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to MySQL server" + }, + "PostgreSqlConnectionInfo": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "type": { + "type": "string", + "enum": [ + "PostgreSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to PostgreSQL server" + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "SelectedCertificateInput": { + "type": "object", + "properties": { + "certificateName": { + "type": "string", + "description": "Name of certificate to be exported." + }, + "password": { + "type": "string", + "description": "Password to use for encrypting the exported certificate." + } + }, + "required": [ + "certificateName", + "password" + ], + "description": "Info for certificate to be exported for TDE enabled databases." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific 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": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "platform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlOnPrem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server platform type for connection." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL sync migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations" + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + }, + "ValidateSyncMigrationInputSqlServerTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL sync migrations" + } + } +} \ No newline at end of file diff --git a/schemas/2018-05-01-preview/Microsoft.EventGrid.json b/schemas/2018-05-01-preview/Microsoft.EventGrid.json index e839ddb622..da29e7fcca 100644 --- a/schemas/2018-05-01-preview/Microsoft.EventGrid.json +++ b/schemas/2018-05-01-preview/Microsoft.EventGrid.json @@ -637,4 +637,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json index ad6a84d102..ddbd60c4e6 100644 --- a/schemas/2018-05-01/subscriptionDeploymentTemplate.json +++ b/schemas/2018-05-01/subscriptionDeploymentTemplate.json @@ -142,6 +142,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.ChangeAnalysis.json#/subscription_resourceDefinitions/profile" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#/subscription_resourceDefinitions/agreements" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-12-30-preview/Microsoft.Consumption.json#/subscription_resourceDefinitions/budgets" }, @@ -178,6 +181,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Consumption.json#/unknown_resourceDefinitions/budgets" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/subscription_resourceDefinitions/agreements" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-06-15-preview/Microsoft.EventGrid.json#/unknown_resourceDefinitions/eventSubscriptions" }, @@ -211,6 +217,18 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/unknown_resourceDefinitions/eventSubscriptions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/locations_vendors_networkFunctions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors_vendorSkus" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors_vendorSkus_previewSubscriptions" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ManagedNetwork.json#/unknown_resourceDefinitions/scopeAssignments" }, diff --git a/schemas/2018-06-01/Microsoft.Compute.json b/schemas/2018-06-01/Microsoft.Compute.json index 43e35653de..5ac45c12b6 100644 --- a/schemas/2018-06-01/Microsoft.Compute.json +++ b/schemas/2018-06-01/Microsoft.Compute.json @@ -7,15 +7,6 @@ "availabilitySets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -26,64 +17,66 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/AvailabilitySetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The instance view of a resource." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/availabilitySets" }, "disks": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/disks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -94,19 +87,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DiskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Disk resource properties." }, "sku": { "oneOf": [ @@ -116,54 +110,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Logical zone list for Disk." + "description": "Resource tags" }, - "properties": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/disks" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/DiskProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The Logical zone list for Disk." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/disks" }, "galleries": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -174,19 +171,9 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." }, "properties": { "oneOf": [ @@ -196,7 +183,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Shared Image Gallery." }, "resources": { "type": "array", @@ -207,29 +195,41 @@ } ] } + }, + "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.Compute/galleries" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries" }, "galleries_images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -240,19 +240,9 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." }, "properties": { "oneOf": [ @@ -262,7 +252,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a gallery Image Definition." }, "resources": { "type": "array", @@ -273,29 +264,41 @@ } ] } + }, + "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.Compute/galleries/images" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images" }, "galleries_images_versions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries/images/versions" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -306,52 +309,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageVersionProperties" + "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.Compute/galleries/images/versions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images/versions" }, "images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -362,53 +368,114 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of an Image." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/images" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/images" }, - "snapshots": { + "proximityPlacementGroups": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, "name": { "type": "string", - "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + "description": "The name of the proximity placement group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProximityPlacementGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Proximity Placement Group." + }, + "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.Compute/snapshots" + "Microsoft.Compute/proximityPlacementGroups" ] - }, + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/proximityPlacementGroups" + }, + "snapshots": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ @@ -419,19 +486,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/SnapshotProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Snapshot resource properties." }, "sku": { "oneOf": [ @@ -441,63 +509,67 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/SnapshotProperties" + "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.Compute/snapshots" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/snapshots" }, "virtualMachines": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-06-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." }, "plan": { "oneOf": [ @@ -518,18 +590,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine." }, - "identity": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] }, "zones": { "oneOf": [ @@ -544,105 +637,111 @@ } ], "description": "The virtual machine zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachines_extensions_childResource" - } - ] - } } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachines" }, "virtualMachineScaleSets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-06-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine scale set." }, - "sku": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set sku." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "plan": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "$ref": "#/definitions/VirtualMachineScaleSetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Describes the properties of a Virtual Machine Scale Set." }, - "properties": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "identity": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine scale set, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets" + ] }, "zones": { "oneOf": [ @@ -656,43 +755,60 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" - }, - { - "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" - } - ] - } + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets" }, - "virtualMachineScaleSets_virtualmachines": { + "virtualMachineScaleSets_extensions": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01" + ] + }, "name": { - "type": "string" + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." }, "type": { "type": "string", "enum": [ - "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + "Microsoft.Compute/virtualMachineScaleSets/extensions" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ @@ -703,13 +819,40 @@ "type": "string", "description": "Resource location" }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, "tags": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -717,36 +860,80 @@ ], "description": "Resource tags" }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Extension." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines/extensions" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + "description": "Microsoft.Compute/virtualMachines/extensions" } }, "definitions": { @@ -770,33 +957,37 @@ "AdditionalUnattendContent": { "type": "object", "properties": { - "passName": { + "componentName": { "oneOf": [ { "type": "string", "enum": [ - "OobeSystem" + "Microsoft-Windows-Shell-Setup" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is OobeSystem." + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." }, - "componentName": { + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { "oneOf": [ { "type": "string", "enum": [ - "Microsoft-Windows-Shell-Setup" + "OobeSystem" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "The pass name. Currently, the only allowable value is OobeSystem." }, "settingName": { "oneOf": [ @@ -812,10 +1003,6 @@ } ], "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." - }, - "content": { - "type": "string", - "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." } }, "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." @@ -825,7 +1012,7 @@ "properties": { "id": { "type": "string", - "description": "The ARM resource id in the form of /subscriptions/{SubcriptionId}/resourceGroups/{ResourceGroupName}/..." + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." } }, "description": "The API entity reference." @@ -850,6 +1037,17 @@ "AvailabilitySetProperties": { "type": "object", "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, "platformUpdateDomainCount": { "oneOf": [ { @@ -861,16 +1059,15 @@ ], "description": "Update Domain count." }, - "platformFaultDomainCount": { + "proximityPlacementGroup": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Fault Domain count." + ] }, "virtualMachines": { "oneOf": [ @@ -932,10 +1129,6 @@ ], "description": "This enumerates the possible sources of a disk's creation." }, - "storageAccountId": { - "type": "string", - "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" - }, "imageReference": { "oneOf": [ { @@ -945,15 +1138,19 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information." + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." }, "sourceUri": { "type": "string", "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." }, - "sourceResourceId": { + "storageAccountId": { "type": "string", - "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" } }, "required": [ @@ -964,112 +1161,112 @@ "DataDisk": { "type": "object", "properties": { - "lun": { + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "vhd": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes the uri of a disk." }, - "writeAcceleratorEnabled": { + "lun": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "createOption": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "The parameters of a managed disk." }, - "diskSizeGB": { + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a data disk." }, @@ -1105,10 +1302,10 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the differencing disk settings for operating system disk." + "description": "Specifies the ephemeral disk settings for operating system disk." } }, - "description": "Describes the parameters of differencing disk settings that can be be specified for operating system disk.

    NOTE: The differencing disk settings can only be specified for managed disk." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, "Disallowed": { "type": "object", @@ -1142,29 +1339,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret." + "description": "Describes a reference to Key Vault Secret" }, - "keyEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the key encryption key in Key Vault." + "description": "Specifies whether disk encryption should be enabled on the virtual machine." }, - "enabled": { + "keyEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "Describes a reference to Key Vault Key" } }, "description": "Describes a Encryption Settings for a Disk" @@ -1172,33 +1369,29 @@ "DiskProperties": { "type": "object", "properties": { - "osType": { + "creationData": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/CreationData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Data used when creating a disk." }, - "creationData": { + "diskIOPSReadWrite": { "oneOf": [ { - "$ref": "#/definitions/CreationData" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. For a description of the range of values you can set, see [Ultra SSD Managed Disk Offerings](https://docs.microsoft.com/azure/virtual-machines/windows/disks-ultra-ssd#ultra-ssd-managed-disk-offerings)." }, - "diskSizeGB": { + "diskMBpsReadWrite": { "oneOf": [ { "type": "integer" @@ -1207,40 +1400,44 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. For a description of the range of values you can set, see [Ultra SSD Managed Disk Offerings](https://docs.microsoft.com/azure/virtual-machines/windows/disks-ultra-ssd#ultra-ssd-managed-disk-offerings)." }, - "encryptionSettings": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption settings for disk or snapshot" + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, - "diskIOPSReadWrite": { + "encryptionSettings": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/EncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + "description": "Encryption settings for disk or snapshot" }, - "diskMBpsReadWrite": { + "osType": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + "description": "The Operating System type." } }, "required": [ @@ -1274,27 +1471,27 @@ "EncryptionSettings": { "type": "object", "properties": { - "enabled": { + "diskEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultAndSecretReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + "description": "Key Vault Secret Url and vault id of the encryption key " }, - "diskEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultAndSecretReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Secret Url and vault id of the disk encryption key" + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." }, "keyEncryptionKey": { "oneOf": [ @@ -1305,7 +1502,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Key Url and vault id of the key encryption key" + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" } }, "description": "Encryption settings for disk or snapshot" @@ -1313,15 +1510,6 @@ "galleries_images_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -1332,62 +1520,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Definition." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/galleries_images_versions_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "images" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images" }, "galleries_images_versions_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -1398,37 +1579,49 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageVersionProperties" + "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": [ + "versions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images/versions" }, @@ -1443,7 +1636,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The managed artifact." } }, "required": [ @@ -1452,27 +1646,29 @@ "description": "The source image from which the Image Version is going to be created." }, "GalleryIdentifier": { + "type": "object", + "properties": {}, "description": "Describes the gallery unique name." }, "GalleryImageIdentifier": { "type": "object", "properties": { - "publisher": { - "type": "string", - "description": "The name of the gallery Image Definition publisher." - }, "offer": { "type": "string", "description": "The name of the gallery Image Definition offer." }, + "publisher": { + "type": "string", + "description": "The name of the gallery Image Definition publisher." + }, "sku": { "type": "string", "description": "The name of the gallery Image Definition SKU." } }, "required": [ - "publisher", "offer", + "publisher", "sku" ], "description": "This is the gallery Image Definition identifier." @@ -1482,34 +1678,38 @@ "properties": { "description": { "type": "string", - "description": "The description of this gallery Image Definition resource. This property is updateable." + "description": "The description of this gallery Image Definition resource. This property is updatable." }, - "eula": { - "type": "string", - "description": "The Eula agreement for the gallery Image Definition." + "disallowed": { + "oneOf": [ + { + "$ref": "#/definitions/Disallowed" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the disallowed disk types." }, - "privacyStatementUri": { + "endOfLifeDate": { "type": "string", - "description": "The privacy statement uri." + "format": "date-time", + "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable." }, - "releaseNoteUri": { + "eula": { "type": "string", - "description": "The release note uri." + "description": "The Eula agreement for the gallery Image Definition." }, - "osType": { + "identifier": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/GalleryImageIdentifier" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." + "description": "This is the gallery Image Definition identifier." }, "osState": { "oneOf": [ @@ -1526,56 +1726,56 @@ ], "description": "The allowed values for OS State are 'Generalized'." }, - "endOfLifeDate": { - "type": "string", - "format": "date-time", - "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updateable." - }, - "identifier": { + "osType": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageIdentifier" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." }, - "recommended": { - "oneOf": [ - { - "$ref": "#/definitions/RecommendedMachineConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." }, - "disallowed": { + "purchasePlan": { "oneOf": [ { - "$ref": "#/definitions/Disallowed" + "$ref": "#/definitions/ImagePurchasePlan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." }, - "purchasePlan": { + "recommended": { "oneOf": [ { - "$ref": "#/definitions/ImagePurchasePlan" + "$ref": "#/definitions/RecommendedMachineConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." } }, "required": [ - "osType", + "identifier", "osState", - "identifier" + "osType" ], "description": "Describes the properties of a gallery Image Definition." }, @@ -1590,7 +1790,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The publishing profile of a gallery Image Version." } }, "required": [ @@ -1601,56 +1802,57 @@ "GalleryImageVersionPublishingProfile": { "type": "object", "properties": { - "targetRegions": { + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/TargetRegion" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The target regions where the Image Version is going to be replicated to. This property is updateable." + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." }, - "source": { + "replicaCount": { "oneOf": [ { - "$ref": "#/definitions/GalleryArtifactSource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." }, - "replicaCount": { + "source": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/GalleryArtifactSource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updateable." + "description": "The source image from which the Image Version is going to be created." }, - "excludeFromLatest": { + "targetRegions": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." - }, - "endOfLifeDate": { - "type": "string", - "format": "date-time", - "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updateable." + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." } }, "required": [ @@ -1663,7 +1865,7 @@ "properties": { "description": { "type": "string", - "description": "The description of this Shared Image Gallery resource. This property is updateable." + "description": "The description of this Shared Image Gallery resource. This property is updatable." }, "identifier": { "oneOf": [ @@ -1673,7 +1875,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the gallery unique name." } }, "description": "Describes the properties of a Shared Image Gallery." @@ -1866,69 +2069,67 @@ "ImageDataDisk": { "type": "object", "properties": { - "lun": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "caching": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + ] }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -1980,37 +2181,38 @@ "ImageOSDisk": { "type": "object", "properties": { - "osType": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "osState": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "Generalized", - "Specialized" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "snapshot": { + "managedDisk": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -2018,50 +2220,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The snapshot." + ] }, - "managedDisk": { + "osState": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "The OS State." }, - "caching": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -2082,8 +2281,8 @@ } }, "required": [ - "osType", - "osState" + "osState", + "osType" ], "description": "Describes an Operating System disk." }, @@ -2098,8 +2297,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source virtual machine from which Image is created." + ] }, "storageProfile": { "oneOf": [ @@ -2110,7 +2308,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Describes a storage profile." } }, "description": "Describes the properties of an Image." @@ -2122,13 +2320,13 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "The product ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." @@ -2140,14 +2338,14 @@ "type": "string", "description": "Resource Id" }, - "publisher": { - "type": "string", - "description": "The image publisher." - }, "offer": { "type": "string", "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, "sku": { "type": "string", "description": "The image SKU." @@ -2157,35 +2355,35 @@ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." } }, - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, "ImageStorageProfile": { "type": "object", "properties": { - "osDisk": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageOSDisk" + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ImageDataDisk" - } + "$ref": "#/definitions/ImageOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Describes an Operating System disk." }, "zoneResilient": { "oneOf": [ @@ -2208,6 +2406,10 @@ "type": "string", "description": "The status code." }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, "level": { "oneOf": [ { @@ -2224,10 +2426,6 @@ ], "description": "The level code." }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, "message": { "type": "string", "description": "The detailed status message, including for alerts and error messages." @@ -2243,6 +2441,10 @@ "KeyVaultAndKeyReference": { "type": "object", "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, "sourceVault": { "oneOf": [ { @@ -2252,22 +2454,22 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "keyUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, "required": [ - "sourceVault", - "keyUrl" + "keyUrl", + "sourceVault" ], "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" }, "KeyVaultAndSecretReference": { "type": "object", "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, "sourceVault": { "oneOf": [ { @@ -2277,16 +2479,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "secretUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, "required": [ - "sourceVault", - "secretUrl" + "secretUrl", + "sourceVault" ], "description": "Key Vault Secret Url and vault id of the encryption key " }, @@ -2305,8 +2503,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the key." + ] } }, "required": [ @@ -2330,8 +2527,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the secret." + ] } }, "required": [ @@ -2354,27 +2550,27 @@ ], "description": "Specifies whether password authentication should be disabled." }, - "ssh": { + "provisionVMAgent": { "oneOf": [ { - "$ref": "#/definitions/SshConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ssh key configuration for a Linux OS." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, - "provisionVMAgent": { + "ssh": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SshConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "SSH configuration for Linux based VMs running on Azure" } }, "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." @@ -2434,7 +2630,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a network interface reference properties." } }, "description": "Describes a network interface reference." @@ -2479,133 +2676,133 @@ "OSDisk": { "type": "object", "properties": { - "osType": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "vhd": { + "diffDiskSettings": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/DiffDiskSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "encryptionSettings": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes a Encryption Settings for a Disk" }, - "writeAcceleratorEnabled": { + "image": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Describes the uri of a disk." }, - "diffDiskSettings": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/DiffDiskSettings" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the differencing Disk Settings for the operating system disk used by the virtual machine." + "description": "The parameters of a managed disk." }, - "createOption": { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -2616,32 +2813,32 @@ "OSProfile": { "type": "object", "properties": { - "computerName": { - "type": "string", - "description": "Specifies the host OS name of the virtual machine.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." - }, - "adminUsername": { - "type": "string", - "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" - }, "adminPassword": { "type": "string", "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, - "customData": { + "adminUsername": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { + "allowExtensionOperations": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies Windows operating system settings on the virtual machine." + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, "linuxConfiguration": { "oneOf": [ @@ -2668,16 +2865,16 @@ ], "description": "Specifies set of certificates that should be installed onto the virtual machine." }, - "allowExtensionOperations": { + "windowsConfiguration": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Specifies the operating system settings for the virtual machine." @@ -2689,10 +2886,6 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." @@ -2700,14 +2893,39 @@ "promotionCode": { "type": "string", "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, + "ProximityPlacementGroupProperties": { + "type": "object", + "properties": { + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, "RecommendedMachineConfiguration": { "type": "object", "properties": { - "vCPUs": { + "memory": { "oneOf": [ { "$ref": "#/definitions/ResourceRange" @@ -2715,9 +2933,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the resource range." }, - "memory": { + "vCPUs": { "oneOf": [ { "$ref": "#/definitions/ResourceRange" @@ -2725,15 +2944,16 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the resource range." } }, - "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updateable." + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." }, "ResourceRange": { "type": "object", "properties": { - "min": { + "max": { "oneOf": [ { "type": "integer" @@ -2742,9 +2962,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The minimum number of the resource." + "description": "The maximum number of the resource." }, - "max": { + "min": { "oneOf": [ { "type": "integer" @@ -2753,7 +2973,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum number of the resource." + "description": "The minimum number of the resource." } }, "description": "Describes the resource range." @@ -2810,14 +3030,6 @@ "Sku": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The sku name." - }, - "tier": { - "type": "string", - "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" - }, "capacity": { "oneOf": [ { @@ -2828,28 +3040,21 @@ } ], "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" } }, - "description": "Describes a virtual machine scale set sku." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, "SnapshotProperties": { "type": "object", "properties": { - "osType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The Operating System type." - }, "creationData": { "oneOf": [ { @@ -2859,7 +3064,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "Data used when creating a disk." }, "diskSizeGB": { "oneOf": [ @@ -2882,6 +3087,21 @@ } ], "description": "Encryption settings for disk or snapshot" + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." } }, "required": [ @@ -2919,7 +3139,7 @@ "description": "Resource Id" } }, - "description": "The vault id is an Azure Resource Manager Resoure id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" }, "SshConfiguration": { "type": "object", @@ -2944,13 +3164,13 @@ "SshPublicKey": { "type": "object", "properties": { - "path": { - "type": "string", - "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" - }, "keyData": { "type": "string", "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -2958,41 +3178,41 @@ "StorageProfile": { "type": "object", "properties": { - "imageReference": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "osDisk": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, "description": "Specifies the storage settings for the virtual machine disks." @@ -3022,7 +3242,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of replicas of the Image Version to be created per region. This property is updateable." + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." } }, "required": [ @@ -3031,70 +3251,74 @@ "description": "Describes the target region information." }, "UpgradePolicy": { - "type": "object", - "properties": { - "mode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Automatic", - "Manual", - "Rolling" - ] + "type": "object", + "properties": { + "automaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available." }, - "rollingUpgradePolicy": { + "autoOSUpgradePolicy": { "oneOf": [ { - "$ref": "#/definitions/RollingUpgradePolicy" + "$ref": "#/definitions/AutoOSUpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The configuration parameters used while performing a rolling upgrade." + "description": "The configuration parameters used for performing automatic OS upgrade." }, - "automaticOSUpgrade": { + "mode": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "Automatic", + "Manual", + "Rolling" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available." + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." }, - "autoOSUpgradePolicy": { + "rollingUpgradePolicy": { "oneOf": [ { - "$ref": "#/definitions/AutoOSUpgradePolicy" + "$ref": "#/definitions/RollingUpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Configuration parameters used for performing automatic OS Upgrade." + "description": "The configuration parameters used while performing a rolling upgrade." } }, "description": "Describes an upgrade policy - automatic, manual, or rolling." }, + "UserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VaultCertificate": { "type": "object", "properties": { - "certificateUrl": { + "certificateStore": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." }, - "certificateStore": { + "certificateUrl": { "type": "string", - "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -3110,8 +3334,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + ] }, "vaultCertificates": { "oneOf": [ @@ -3147,15 +3370,7 @@ "type": "string", "description": "The virtual machine extension name." }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, - "substatuses": { + "statuses": { "oneOf": [ { "type": "array", @@ -3169,7 +3384,7 @@ ], "description": "The resource status information." }, - "statuses": { + "substatuses": { "oneOf": [ { "type": "array", @@ -3182,20 +3397,6 @@ } ], "description": "The resource status information." - } - }, - "description": "The instance view of a virtual machine extension." - }, - "VirtualMachineExtensionProperties": { - "type": "object", - "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." }, "type": { "type": "string", @@ -3204,7 +3405,13 @@ "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the script handler." - }, + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { "autoUpgradeMinorVersion": { "oneOf": [ { @@ -3216,11 +3423,9 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, "instanceView": { "oneOf": [ @@ -3231,7 +3436,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine extension instance view." + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Extension." @@ -3240,12 +3467,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." }, @@ -3254,8 +3488,9 @@ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/VirtualMachineIdentityUserAssignedIdentitiesValue" - } + "$ref": "#/definitions/UserAssignedIdentitiesValue" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3266,32 +3501,9 @@ }, "description": "Identity for the virtual machine." }, - "VirtualMachineIdentityUserAssignedIdentitiesValue": {}, "VirtualMachineProperties": { "type": "object", "properties": { - "hardwareProfile": { - "oneOf": [ - { - "$ref": "#/definitions/HardwareProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the hardware settings for the virtual machine." - }, - "storageProfile": { - "oneOf": [ - { - "$ref": "#/definitions/StorageProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the storage settings for the virtual machine disks." - }, "additionalCapabilities": { "oneOf": [ { @@ -3301,29 +3513,17 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine." - }, - "osProfile": { - "oneOf": [ - { - "$ref": "#/definitions/OSProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "networkProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/NetworkProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the network interfaces of the virtual machine." + ] }, "diagnosticsProfile": { "oneOf": [ @@ -3336,197 +3536,70 @@ ], "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "availabilitySet": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + "description": "Specifies the hardware settings for the virtual machine." }, "licenseType": { "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" - } - }, - "description": "Describes the properties of a Virtual Machine." - }, - "virtualMachines_extensions_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2018-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" - }, - "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" + "$ref": "#/definitions/NetworkProfile" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" + "$ref": "#/definitions/OSProfile" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine." + }, + "proximityPlacementGroup": { + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" + "$ref": "#/definitions/SubResource" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, - "VirtualMachineScaleSetDataDisk": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The disk name." }, - "lun": { + "storageProfile": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetDataDisk": { + "type": "object", + "properties": { "caching": { "oneOf": [ { @@ -3543,17 +3616,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -3581,6 +3643,17 @@ ], "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, "managedDisk": { "oneOf": [ { @@ -3590,12 +3663,27 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a virtual machine scale set data disk." }, @@ -3607,113 +3695,15 @@ "description": "The name of the extension." }, "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, "description": "Describes a Virtual Machine Scale Set Extension." @@ -3741,38 +3731,56 @@ "VirtualMachineScaleSetExtensionProperties": { "type": "object", "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, "forceUpdateTag": { "type": "string", "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." }, - "autoUpgradeMinorVersion": { + "provisionAfterExtensions": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." }, "settings": { + "type": "object", + "properties": {}, "description": "Json formatted public settings for the extension." }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -3781,12 +3789,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." }, @@ -3796,7 +3811,8 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3807,7 +3823,10 @@ }, "description": "Identity for the virtual machine scale set." }, - "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": {}, + "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VirtualMachineScaleSetIPConfiguration": { "type": "object", "properties": { @@ -3827,7 +3846,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, "required": [ @@ -3838,109 +3858,109 @@ "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "subnet": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/ApiEntityReference" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the identifier of the subnet." + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." }, - "primary": { + "applicationSecurityGroups": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Specifies an array of references to application security group." }, - "publicIPAddressConfiguration": { + "loadBalancerBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The publicIPAddressConfiguration." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." }, - "privateIPAddressVersion": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" }, - "applicationGatewayBackendAddressPools": { + "primary": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "applicationSecurityGroups": { + "privateIPAddressVersion": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to application security group." + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." }, - "loadBalancerBackendAddressPools": { + "publicIPAddressConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "loadBalancerInboundNatPools": { + "subnet": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + "description": "The API entity reference." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -4001,7 +4021,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." } }, "required": [ @@ -4032,16 +4053,16 @@ "VirtualMachineScaleSetNetworkConfigurationProperties": { "type": "object", "properties": { - "primary": { + "dnsSettings": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, "enableAcceleratedNetworking": { "oneOf": [ @@ -4054,43 +4075,42 @@ ], "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "networkSecurityGroup": { + "enableIPForwarding": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network security group." + "description": "Whether IP forwarding enabled on this NIC." }, - "dnsSettings": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the network interfaces." + "description": "Specifies the IP configurations of the network interface." }, - "ipConfigurations": { + "networkSecurityGroup": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" - } + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the IP configurations of the network interface." + ] }, - "enableIPForwarding": { + "primary": { "oneOf": [ { "type": "boolean" @@ -4099,7 +4119,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether IP forwarding enabled on this NIC." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." } }, "required": [ @@ -4119,7 +4139,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + "description": "The API entity reference." }, "networkInterfaceConfigurations": { "oneOf": [ @@ -4141,10 +4161,6 @@ "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, "caching": { "oneOf": [ { @@ -4161,17 +4177,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -4197,7 +4202,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the differencing Disk Settings for the operating system disk used by the virtual machine scale set." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, "diskSizeGB": { "oneOf": [ @@ -4210,31 +4215,46 @@ ], "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "osType": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Describes the uri of a disk." }, - "image": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the unmanaged user image to base the scale set on." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, "vhdContainers": { "oneOf": [ @@ -4250,16 +4270,16 @@ ], "description": "Specifies the container urls that are used to store operating system disks for the scale set." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -4270,33 +4290,22 @@ "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "computerNamePrefix": { + "adminPassword": { "type": "string", - "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerNamePrefix": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies Windows operating system settings on the virtual machine." - }, "linuxConfiguration": { "oneOf": [ { @@ -4321,6 +4330,17 @@ } ], "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Describes a virtual machine scale set OS profile." @@ -4328,38 +4348,37 @@ "VirtualMachineScaleSetProperties": { "type": "object", "properties": { - "upgradePolicy": { + "overprovision": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, - "virtualMachineProfile": { + "platformFaultDomainCount": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "Fault Domain count for each placement group." }, - "overprovision": { + "proximityPlacementGroup": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + ] }, "singlePlacementGroup": { "oneOf": [ @@ -4372,27 +4391,38 @@ ], "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "zoneBalance": { + "upgradePolicy": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/UpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether to force stictly even Virtual Machine distribution cross x-zones in case there is zone outage." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "platformFaultDomainCount": { + "virtualMachineProfile": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count for each placement group." + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "zoneBalance": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -4412,7 +4442,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" } }, "required": [ @@ -4436,27 +4467,27 @@ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { "type": "object", "properties": { - "idleTimeoutInMinutes": { + "dnsSettings": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The idle timeout of the public IP address." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, - "dnsSettings": { + "idleTimeoutInMinutes": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the publicIP addresses ." + "description": "The idle timeout of the public IP address." }, "ipTags": { "oneOf": [ @@ -4480,30 +4511,66 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The PublicIPPrefix from which to allocate publicIP addresses." + ] } }, "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "virtualMachineScaleSets_extensions_childResource": { + "VirtualMachineScaleSetStorageProfile": { "type": "object", "properties": { - "name": { - "type": "string" + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2018-06-01" ] }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, "properties": { "oneOf": [ { @@ -4512,29 +4579,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, "virtualMachineScaleSets_virtualmachines_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -4545,19 +4610,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, "properties": { "oneOf": [ @@ -4567,106 +4633,94 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "virtualmachines" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, - "VirtualMachineScaleSetStorageProfile": { + "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "imageReference": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "osDisk": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "dataDisks": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." - } - }, - "description": "Describes a virtual machine scale set storage profile." - }, - "VirtualMachineScaleSetVMProfile": { - "type": "object", - "properties": { - "osProfile": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machines in the scale set." + "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview." }, - "storageProfile": { + "extensionProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Describes a virtual machine scale set extension profile." }, - "additionalCapabilities": { - "oneOf": [ - { - "$ref": "#/definitions/AdditionalCapabilities" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -4677,33 +4731,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." - }, - "diagnosticsProfile": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Describes a virtual machine scale set network profile." }, - "extensionProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Describes a virtual machine scale set OS profile." }, "priority": { "oneOf": [ @@ -4720,20 +4759,16 @@ ], "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." }, - "evictionPolicy": { + "storageProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "Deallocate", - "Delete" - ] + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview." + "description": "Describes a virtual machine scale set storage profile." } }, "description": "Describes a virtual machine scale set virtual machine profile." @@ -4741,49 +4776,52 @@ "VirtualMachineScaleSetVMProperties": { "type": "object", "properties": { - "hardwareProfile": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the hardware settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "storageProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "additionalCapabilities": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -4796,64 +4834,93 @@ ], "description": "Specifies the network interfaces of the virtual machine." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the operating system settings for the virtual machine." }, - "availabilitySet": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Specifies the storage settings for the virtual machine disks." } }, "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "WindowsConfiguration": { + "virtualMachines_extensions_childResource": { "type": "object", "properties": { - "provisionVMAgent": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Describes the properties of a Virtual Machine Extension." }, - "enableAutomaticUpdates": { + "tags": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine is enabled for automatic updates." + "description": "Resource tags" }, - "timeZone": { + "type": { "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" - }, + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { "additionalUnattendContent": { "oneOf": [ { @@ -4868,6 +4935,32 @@ ], "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine is enabled for automatic updates." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + }, "winRM": { "oneOf": [ { @@ -4877,7 +4970,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." + "description": "Describes Windows Remote Management configuration of the VM" } }, "description": "Specifies Windows operating system settings on the virtual machine." @@ -4905,6 +4998,10 @@ "WinRMListener": { "type": "object", "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, "protocol": { "oneOf": [ { @@ -4919,10 +5016,6 @@ } ], "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." - }, - "certificateUrl": { - "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" diff --git a/schemas/2018-06-01/Microsoft.DataFactory.json b/schemas/2018-06-01/Microsoft.DataFactory.json index f913d757f2..0335914c51 100644 --- a/schemas/2018-06-01/Microsoft.DataFactory.json +++ b/schemas/2018-06-01/Microsoft.DataFactory.json @@ -5908,6 +5908,16 @@ ], "description": "Cmdkey command custom setup type properties." }, + "CMKIdentityDefinition": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The resource id of the user assigned identity to authenticate to customer's key vault." + } + }, + "description": "Managed Identity used for CMK." + }, "CommonDataServiceForAppsEntityDataset": { "type": "object", "properties": { @@ -10376,6 +10386,39 @@ ], "description": "A copy activity Eloqua server source." }, + "EncryptionConfiguration": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/CMKIdentityDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed Identity used for CMK." + }, + "keyName": { + "type": "string", + "description": "The name of the key in Azure Key Vault to use as Customer Managed Key." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key used for CMK. If not provided, latest version will be used." + }, + "vaultBaseUrl": { + "type": "string", + "description": "The url of the Azure Key Vault used for CMK." + } + }, + "required": [ + "keyName", + "vaultBaseUrl" + ], + "description": "Definition of CMK for the factory." + }, "EntityReference": { "type": "object", "properties": { @@ -11490,7 +11533,23 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity type. Currently the only supported type is 'SystemAssigned'." + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of all user assigned identities for a factory." } }, "required": [ @@ -11501,6 +11560,17 @@ "FactoryProperties": { "type": "object", "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of CMK for the factory." + }, "globalParameters": { "oneOf": [ { diff --git a/schemas/2018-07-15-preview/Microsoft.DataMigration.json b/schemas/2018-07-15-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..3ded94060b --- /dev/null +++ b/schemas/2018-07-15-preview/Microsoft.DataMigration.json @@ -0,0 +1,4347 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Database Migration Service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_serviceTasks_childResource" + }, + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_childResource" + }, + { + "$ref": "#/definitions/services_projects_files_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_files": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the File" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for file properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/files" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/files" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "services_serviceTasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/serviceTasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/serviceTasks" + } + }, + "definitions": { + "AzureActiveDirectoryApp": { + "type": "object", + "properties": { + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + } + }, + "required": [ + "appKey", + "applicationId", + "tenantId" + ], + "description": "Azure Active Directory Application" + }, + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "CheckOCIDriverTaskInput": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "description": "Version of the source server to check against. Optional." + } + }, + "description": "Input for the service task to check for OCI drivers." + }, + "CheckOCIDriverTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/CheckOCIDriverTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the service task to check for OCI drivers." + }, + "taskType": { + "type": "string", + "enum": [ + "Service.Check.OCI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that checks for OCI drivers." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "#/definitions/MiSqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToMongoDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a connection to a MongoDB data source" + }, + "taskType": { + "type": "string", + "enum": [ + "Connect.MongoDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates the connection to and provides information about a MongoDB server" + }, + "ConnectToSourceMySqlTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlServer", + "AzureDbForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Platform for the migration." + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates MySQL database connection" + }, + "ConnectToSourceMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates MySQL database connection" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.MySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates MySQL database connection" + }, + "ConnectToSourceOracleSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to Oracle server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates Oracle database connection" + }, + "ConnectToSourceOracleSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceOracleSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates Oracle database connection" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.Oracle.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates Oracle database connection" + }, + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.PostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "collectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from source server." + }, + "collectDatabases": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect databases from source server." + }, + "collectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from source server." + }, + "collectTdeCertificateInfo": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect TDE Certificate names from source server." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validateSsisCatalogOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to validate SSIS catalog is reachable on the source server." + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForMySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration" + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source." + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source." + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "collectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from target SQL MI server." + }, + "collectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from target SQL MI server." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validateSsisCatalogOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to validate SSIS catalog is reachable on the target SQL MI server." + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "ConnectToTargetSqlSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualNicId": { + "type": "string", + "description": "The ID of the Microsoft.Network/networkInterfaces resource which the service have" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Database Migration Service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetTdeCertificatesSqlTaskInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SelectedCertificateInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate." + } + }, + "required": [ + "backupFileShare", + "connectionInfo", + "selectedCertificates" + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "GetTdeCertificatesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "taskType": { + "type": "string", + "enum": [ + "GetTDECertificates.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that gets TDE certificates in Base64 encoded format." + }, + "GetUserTablesOracleTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to Oracle server" + }, + "selectedSchemas": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Oracle schemas for which to collect tables" + } + }, + "required": [ + "connectionInfo", + "selectedSchemas" + ], + "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas." + }, + "GetUserTablesOracleTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesOracleTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas." + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTablesOracle" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of Oracle schemas" + }, + "GetUserTablesPostgreSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of PostgreSQL databases for which to collect tables" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases." + }, + "GetUserTablesPostgreSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesPostgreSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases." + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTablesPostgreSql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedSourceDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source database names to collect tables for" + }, + "selectedTargetDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of target database names to collect tables for" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedSourceDatabases", + "selectedTargetDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "InstallOCIDriverTaskInput": { + "type": "object", + "properties": { + "driverPackageName": { + "type": "string", + "description": "Name of the uploaded driver package to install." + } + }, + "description": "Input for the service task to install an OCI driver." + }, + "InstallOCIDriverTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/InstallOCIDriverTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the service task to install an OCI driver." + }, + "taskType": { + "type": "string", + "enum": [ + "Service.Install.OCI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that installs an OCI driver." + }, + "MigrateMongoDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbMigrationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how a MongoDB data migration should be performed" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.MongoDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates data between MongoDB data sources" + }, + "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.MySql.AzureDbForMySql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.Oracle.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations" + }, + "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput": { + "type": "object", + "properties": { + "caseManipulation": { + "type": "string", + "description": "How to handle object name casing: either Preserve or ToLower" + }, + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the migration pipeline" + }, + "schemaName": { + "type": "string", + "description": "Name of the source schema" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs" + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to Oracle server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "selectedTables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tables selected for migration" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the table to migrate" + } + }, + "description": "Selected tables for the migration" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigrateSchemaSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of source database" + }, + "schemaSetting": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaMigrationSetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for migrating schema from source to target" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database" + } + }, + "description": "Database input for migrate schema Sql Server to Azure SQL Server scenario" + }, + "MigrateSchemaSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases" + }, + "MigrateSchemaSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases" + }, + "taskType": { + "type": "string", + "enum": [ + "MigrateSchemaSqlServerSqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates Schema for SQL Server databases to Azure SQL databases" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbSyncDatabaseInput": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database" + }, + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of database" + }, + "schemaName": { + "type": "string", + "description": "Schema name to be migrated" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs" + }, + "MigrateSqlServerSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFilePaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of backup files to be used in case of existing backups." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "aadDomainName": { + "type": "string", + "description": "Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected" + }, + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases." + }, + "selectedAgentJobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Agent Jobs to migrate." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrateSsisTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "ssisMigrationInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SsisMigrationInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSIS migration info with SSIS store type, overwrite policy." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo", + "ssisMigrationInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance." + }, + "MigrateSsisTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSsisTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.Ssis" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "MiSqlConnectionInfo": { + "type": "object", + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "MiSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "managedInstanceResourceId", + "type" + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + }, + "MongoDbCollectionSettings": { + "type": "object", + "properties": { + "canDelete": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true." + }, + "shardKey": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbShardKeySetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a MongoDB shard key" + }, + "targetRUs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets." + } + }, + "description": "Describes how an individual MongoDB collection should be migrated" + }, + "MongoDbConnectionInfo": { + "type": "object", + "properties": { + "connectionString": { + "type": "string", + "description": "A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "MongoDbConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "connectionString", + "type" + ], + "description": "Describes a connection to a MongoDB data source" + }, + "MongoDbDatabaseSettings": { + "type": "object", + "properties": { + "collections": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbCollectionSettings" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collections on the source database to migrate to the target. The keys are the unqualified names of the collections." + }, + "targetRUs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets." + } + }, + "required": [ + "collections" + ], + "description": "Describes how an individual MongoDB database should be migrated" + }, + "MongoDbMigrationSettings": { + "type": "object", + "properties": { + "boostRUs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets." + }, + "databases": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbDatabaseSettings" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The databases on the source cluster to migrate to the target. The keys are the names of the databases." + }, + "replication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "OneTime", + "Continuous" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how changes will be replicated from the source to the target. The default is OneTime." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a connection to a MongoDB data source" + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a connection to a MongoDB data source" + }, + "throttling": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbThrottlingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies resource limits for the migration" + } + }, + "required": [ + "databases", + "source", + "target" + ], + "description": "Describes how a MongoDB data migration should be performed" + }, + "MongoDbShardKeyField": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the field" + }, + "order": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Forward", + "Reverse", + "Hashed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The field ordering." + } + }, + "required": [ + "name", + "order" + ], + "description": "Describes a field reference within a MongoDB shard key" + }, + "MongoDbShardKeySetting": { + "type": "object", + "properties": { + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbShardKeyField" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fields within the shard key" + }, + "isUnique": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the shard key is unique" + } + }, + "required": [ + "fields", + "isUnique" + ], + "description": "Describes a MongoDB shard key" + }, + "MongoDbThrottlingSettings": { + "type": "object", + "properties": { + "maxParallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of work items (e.g. collection copies) that will be processed in parallel" + }, + "minFreeCpu": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The percentage of CPU time that the migrator will try to avoid using, from 0 to 100" + }, + "minFreeMemoryMb": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of megabytes of RAM that the migrator will try to avoid using" + } + }, + "description": "Specifies resource limits for the migration" + }, + "MySqlConnectionInfo": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "type": { + "type": "string", + "enum": [ + "MySqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to MySQL server" + }, + "OracleConnectionInfo": { + "type": "object", + "properties": { + "dataSource": { + "type": "string", + "description": "EZConnect or TNSName connection string." + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "OracleConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to Oracle server" + }, + "PostgreSqlConnectionInfo": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "PostgreSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to PostgreSQL server" + }, + "ProjectFileProperties": { + "type": "object", + "properties": { + "extension": { + "type": "string", + "description": "Optional File extension. If submitted it should not have a leading period and must match the extension from filePath." + }, + "filePath": { + "type": "string", + "description": "Relative path of this file resource. This property can be set when creating or updating the file resource." + }, + "mediaType": { + "type": "string", + "description": "File content type. This property can be modified to reflect the file content type." + } + }, + "description": "Base class for file properties." + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "MySQL", + "PostgreSql", + "MongoDb", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "SQLMI", + "AzureDbForMySql", + "AzureDbForPostgreSql", + "MongoDb", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/CheckOCIDriverTaskProperties" + }, + { + "$ref": "#/definitions/UploadOCIDriverTaskProperties" + }, + { + "$ref": "#/definitions/InstallOCIDriverTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToMongoDbTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceOracleSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesOracleTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesPostgreSqlTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateMongoDbTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateOracleAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMongoDbTaskProperties" + }, + { + "$ref": "#/definitions/ValidateOracleAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSsisTaskProperties" + } + ], + "properties": { + "clientData": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key value pairs of client data to attach meta data information to task" + } + }, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "SchemaMigrationSetting": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "Resource Identifier of a file resource containing the uploaded schema file" + }, + "schemaOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ExtractFromSource", + "UseStorageFile" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Option on how to migrate the schema." + } + }, + "description": "Settings for migrating schema from source to target" + }, + "SelectedCertificateInput": { + "type": "object", + "properties": { + "certificateName": { + "type": "string", + "description": "Name of certificate to be exported." + }, + "password": { + "type": "string", + "description": "Password to use for encrypting the exported certificate." + } + }, + "required": [ + "certificateName", + "password" + ], + "description": "Info for certificate to be exported for TDE enabled databases." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific 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": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_files_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the File" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for file properties." + }, + "type": { + "type": "string", + "enum": [ + "files" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/files" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "services_serviceTasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "serviceTasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/serviceTasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "platform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlOnPrem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server platform type for connection." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "SsisMigrationInfo": { + "type": "object", + "properties": { + "environmentOverwriteOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Ignore", + "Overwrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The overwrite option for the SSIS environment migration." + }, + "projectOverwriteOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Ignore", + "Overwrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The overwrite option for the SSIS project migration." + }, + "ssisStoreType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SsisCatalog" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SSIS store type of source, only SSIS catalog is supported now in DMS." + } + }, + "description": "SSIS migration info with SSIS store type, overwrite policy." + }, + "UploadOCIDriverTaskInput": { + "type": "object", + "properties": { + "driverShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + } + }, + "description": "Input for the service task to upload an OCI driver." + }, + "UploadOCIDriverTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/UploadOCIDriverTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the service task to upload an OCI driver." + }, + "taskType": { + "type": "string", + "enum": [ + "Service.Upload.OCI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that uploads an OCI driver." + }, + "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL sync migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations" + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + }, + "ValidateMongoDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbMigrationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how a MongoDB data migration should be performed" + }, + "taskType": { + "type": "string", + "enum": [ + "Validate.MongoDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates a migration between MongoDB data sources" + }, + "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Validate.Oracle.AzureDbPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations" + }, + "ValidateSyncMigrationInputSqlServerTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL sync migrations" + } + } +} \ No newline at end of file diff --git a/schemas/2018-09-15-preview/Microsoft.EventGrid.json b/schemas/2018-09-15-preview/Microsoft.EventGrid.json index e63cf6b17a..3b7ba74bac 100644 --- a/schemas/2018-09-15-preview/Microsoft.EventGrid.json +++ b/schemas/2018-09-15-preview/Microsoft.EventGrid.json @@ -1129,4 +1129,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2018-09-30/Microsoft.Compute.json b/schemas/2018-09-30/Microsoft.Compute.json new file mode 100644 index 0000000000..706d33e9ac --- /dev/null +++ b/schemas/2018-09-30/Microsoft.Compute.json @@ -0,0 +1,573 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-09-30/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "disks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/DiskSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "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.Compute/disks" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logical zone list for Disk." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/disks" + }, + "snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "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.Compute/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/snapshots" + } + }, + "definitions": { + "CreationData": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This enumerates the possible sources of a disk's creation." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "DiskProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "DiskSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "EncryptionSettingsCollection": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of encryption settings, one for each disk volume." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + }, + "description": "Encryption settings for one disk volume." + }, + "ImageDiskReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "KeyVaultAndKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "SnapshotSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "SourceVault": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + } +} diff --git a/schemas/2018-10-01/Microsoft.Compute.json b/schemas/2018-10-01/Microsoft.Compute.json index 7425ab5a54..1051e69d21 100644 --- a/schemas/2018-10-01/Microsoft.Compute.json +++ b/schemas/2018-10-01/Microsoft.Compute.json @@ -7,15 +7,6 @@ "availabilitySets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -26,63 +17,66 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/AvailabilitySetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The instance view of a resource." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/availabilitySets" }, "images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -93,52 +87,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of an Image." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/images" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/images" }, - "virtualMachines": { + "proximityPlacementGroups": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -149,13 +146,29 @@ "type": "string", "description": "Resource location" }, + "name": { + "type": "string", + "description": "The name of the proximity placement group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProximityPlacementGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Proximity Placement Group." + }, "tags": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -163,6 +176,50 @@ ], "description": "Resource tags" }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/proximityPlacementGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/proximityPlacementGroups" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-10-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, "plan": { "oneOf": [ { @@ -182,18 +239,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine." }, - "identity": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] }, "zones": { "oneOf": [ @@ -208,56 +286,99 @@ } ], "description": "The virtual machine zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachines_extensions_childResource" - } - ] - } } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachines" }, "virtualMachineScaleSets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-10-01" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, "location": { "type": "string", "description": "Resource location" }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, "tags": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -265,98 +386,148 @@ ], "description": "Resource tags" }, - "sku": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set sku." + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachineScaleSets_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-10-01" + ] }, - "plan": { + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Describes the properties of a Virtual Machine Scale Set Extension." }, - "properties": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-10-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetProperties" + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "identity": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine scale set, if configured." + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set zones." + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" - }, - { - "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets" + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, - "virtualMachineScaleSets_virtualmachines": { + "virtualMachines_extensions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -367,50 +538,51 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the virtual machine extension." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Extension." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines/extensions" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + "description": "Microsoft.Compute/virtualMachines/extensions" } }, "definitions": { @@ -434,33 +606,37 @@ "AdditionalUnattendContent": { "type": "object", "properties": { - "passName": { + "componentName": { "oneOf": [ { "type": "string", "enum": [ - "OobeSystem" + "Microsoft-Windows-Shell-Setup" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is OobeSystem." + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." }, - "componentName": { + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { "oneOf": [ { "type": "string", "enum": [ - "Microsoft-Windows-Shell-Setup" + "OobeSystem" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "The pass name. Currently, the only allowable value is OobeSystem." }, "settingName": { "oneOf": [ @@ -476,10 +652,6 @@ } ], "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." - }, - "content": { - "type": "string", - "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." } }, "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." @@ -497,7 +669,7 @@ "AutomaticOSUpgradePolicy": { "type": "object", "properties": { - "enableAutomaticOSUpgrade": { + "disableAutomaticRollback": { "oneOf": [ { "type": "boolean" @@ -506,9 +678,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available. Default value is false." + "description": "Whether OS image rollback feature should be disabled. Default value is false." }, - "disableAutomaticRollback": { + "enableAutomaticOSUpgrade": { "oneOf": [ { "type": "boolean" @@ -517,25 +689,35 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether OS image rollback feature should be disabled. Default value is false." + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, recommendation is to set [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) to false." } }, "description": "The configuration parameters used for performing automatic OS upgrade." }, - "AvailabilitySetProperties": { + "AutomaticRepairsPolicy": { "type": "object", "properties": { - "platformUpdateDomainCount": { + "enabled": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Update Domain count." + "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." }, + "gracePeriod": { + "type": "string", + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." + } + }, + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { "platformFaultDomainCount": { "oneOf": [ { @@ -547,6 +729,27 @@ ], "description": "Fault Domain count." }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, "virtualMachines": { "oneOf": [ { @@ -588,112 +791,112 @@ "DataDisk": { "type": "object", "properties": { - "lun": { + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "vhd": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes the uri of a disk." }, - "writeAcceleratorEnabled": { + "lun": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "createOption": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "The parameters of a managed disk." }, - "diskSizeGB": { + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a data disk." }, @@ -746,29 +949,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret." + "description": "Describes a reference to Key Vault Secret" }, - "keyEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the key encryption key in Key Vault." + "description": "Specifies whether disk encryption should be enabled on the virtual machine." }, - "enabled": { + "keyEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "Describes a reference to Key Vault Key" } }, "description": "Describes a Encryption Settings for a Disk" @@ -961,69 +1164,67 @@ "ImageDataDisk": { "type": "object", "properties": { - "lun": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "caching": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + ] }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -1051,37 +1252,38 @@ "ImageOSDisk": { "type": "object", "properties": { - "osType": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "osState": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "Generalized", - "Specialized" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "snapshot": { + "managedDisk": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -1089,50 +1291,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The snapshot." + ] }, - "managedDisk": { + "osState": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "The OS State." }, - "caching": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -1153,8 +1352,8 @@ } }, "required": [ - "osType", - "osState" + "osState", + "osType" ], "description": "Describes an Operating System disk." }, @@ -1169,8 +1368,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source virtual machine from which Image is created." + ] }, "storageProfile": { "oneOf": [ @@ -1181,7 +1379,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Describes a storage profile." } }, "description": "Describes the properties of an Image." @@ -1193,14 +1391,14 @@ "type": "string", "description": "Resource Id" }, - "publisher": { - "type": "string", - "description": "The image publisher." - }, "offer": { "type": "string", "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, "sku": { "type": "string", "description": "The image SKU." @@ -1210,35 +1408,35 @@ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." } }, - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, "ImageStorageProfile": { "type": "object", "properties": { - "osDisk": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageOSDisk" + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ImageDataDisk" - } + "$ref": "#/definitions/ImageOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Describes an Operating System disk." }, "zoneResilient": { "oneOf": [ @@ -1261,6 +1459,10 @@ "type": "string", "description": "The status code." }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, "level": { "oneOf": [ { @@ -1277,10 +1479,6 @@ ], "description": "The level code." }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, "message": { "type": "string", "description": "The detailed status message, including for alerts and error messages." @@ -1308,8 +1506,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the key." + ] } }, "required": [ @@ -1333,8 +1530,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the secret." + ] } }, "required": [ @@ -1357,27 +1553,27 @@ ], "description": "Specifies whether password authentication should be disabled." }, - "ssh": { + "provisionVMAgent": { "oneOf": [ { - "$ref": "#/definitions/SshConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ssh key configuration for a Linux OS." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, - "provisionVMAgent": { + "ssh": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SshConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "SSH configuration for Linux based VMs running on Azure" } }, "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." @@ -1424,7 +1620,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a network interface reference properties." } }, "description": "Describes a network interface reference." @@ -1469,133 +1666,133 @@ "OSDisk": { "type": "object", "properties": { - "osType": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "vhd": { + "diffDiskSettings": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/DiffDiskSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "encryptionSettings": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes a Encryption Settings for a Disk" }, - "writeAcceleratorEnabled": { + "image": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Describes the uri of a disk." }, - "diffDiskSettings": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/DiffDiskSettings" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + "description": "The parameters of a managed disk." }, - "createOption": { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -1606,32 +1803,32 @@ "OSProfile": { "type": "object", "properties": { - "computerName": { - "type": "string", - "description": "Specifies the host OS name of the virtual machine.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." - }, - "adminUsername": { - "type": "string", - "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" - }, "adminPassword": { "type": "string", "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, - "customData": { + "adminUsername": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { + "allowExtensionOperations": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies Windows operating system settings on the virtual machine." + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, "linuxConfiguration": { "oneOf": [ @@ -1658,16 +1855,16 @@ ], "description": "Specifies set of certificates that should be installed onto the virtual machine." }, - "allowExtensionOperations": { + "windowsConfiguration": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Specifies the operating system settings for the virtual machine." @@ -1679,10 +1876,6 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." @@ -1690,10 +1883,35 @@ "promotionCode": { "type": "string", "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, + "ProximityPlacementGroupProperties": { + "type": "object", + "properties": { + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, "RollingUpgradePolicy": { "type": "object", "properties": { @@ -1746,14 +1964,6 @@ "Sku": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The sku name." - }, - "tier": { - "type": "string", - "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" - }, "capacity": { "oneOf": [ { @@ -1764,9 +1974,17 @@ } ], "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" } }, - "description": "Describes a virtual machine scale set sku." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, "SshConfiguration": { "type": "object", @@ -1791,13 +2009,13 @@ "SshPublicKey": { "type": "object", "properties": { - "path": { - "type": "string", - "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" - }, "keyData": { "type": "string", "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -1805,41 +2023,41 @@ "StorageProfile": { "type": "object", "properties": { - "imageReference": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "osDisk": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, "description": "Specifies the storage settings for the virtual machine disks." @@ -1856,6 +2074,17 @@ "UpgradePolicy": { "type": "object", "properties": { + "automaticOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, "mode": { "oneOf": [ { @@ -1882,31 +2111,24 @@ } ], "description": "The configuration parameters used while performing a rolling upgrade." - }, - "automaticOSUpgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/AutomaticOSUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Configuration parameters used for performing automatic OS Upgrade." } }, "description": "Describes an upgrade policy - automatic, manual, or rolling." }, + "UserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VaultCertificate": { "type": "object", "properties": { - "certificateUrl": { + "certificateStore": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." }, - "certificateStore": { + "certificateUrl": { "type": "string", - "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -1922,8 +2144,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + ] }, "vaultCertificates": { "oneOf": [ @@ -1959,15 +2180,7 @@ "type": "string", "description": "The virtual machine extension name." }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, - "substatuses": { + "statuses": { "oneOf": [ { "type": "array", @@ -1981,7 +2194,7 @@ ], "description": "The resource status information." }, - "statuses": { + "substatuses": { "oneOf": [ { "type": "array", @@ -1994,20 +2207,6 @@ } ], "description": "The resource status information." - } - }, - "description": "The instance view of a virtual machine extension." - }, - "VirtualMachineExtensionProperties": { - "type": "object", - "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." }, "type": { "type": "string", @@ -2016,7 +2215,13 @@ "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the script handler." - }, + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { "autoUpgradeMinorVersion": { "oneOf": [ { @@ -2028,11 +2233,9 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, "instanceView": { "oneOf": [ @@ -2043,7 +2246,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine extension instance view." + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Extension." @@ -2052,12 +2277,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." }, @@ -2066,8 +2298,9 @@ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/VirtualMachineIdentityUserAssignedIdentitiesValue" - } + "$ref": "#/definitions/UserAssignedIdentitiesValue" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2078,32 +2311,9 @@ }, "description": "Identity for the virtual machine." }, - "VirtualMachineIdentityUserAssignedIdentitiesValue": {}, "VirtualMachineProperties": { "type": "object", "properties": { - "hardwareProfile": { - "oneOf": [ - { - "$ref": "#/definitions/HardwareProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the hardware settings for the virtual machine." - }, - "storageProfile": { - "oneOf": [ - { - "$ref": "#/definitions/StorageProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the storage settings for the virtual machine disks." - }, "additionalCapabilities": { "oneOf": [ { @@ -2113,29 +2323,17 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine." - }, - "osProfile": { - "oneOf": [ - { - "$ref": "#/definitions/OSProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "networkProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/NetworkProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the network interfaces of the virtual machine." + ] }, "diagnosticsProfile": { "oneOf": [ @@ -2148,197 +2346,70 @@ ], "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "availabilitySet": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + "description": "Specifies the hardware settings for the virtual machine." }, "licenseType": { "type": "string", "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" - } - }, - "description": "Describes the properties of a Virtual Machine." - }, - "virtualMachines_extensions_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2018-10-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" }, - "tags": { + "networkProfile": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" - }, - "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" + "$ref": "#/definitions/NetworkProfile" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" + "$ref": "#/definitions/OSProfile" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine." + }, + "proximityPlacementGroup": { + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" + "$ref": "#/definitions/SubResource" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, - "VirtualMachineScaleSetDataDisk": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The disk name." }, - "lun": { + "storageProfile": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetDataDisk": { + "type": "object", + "properties": { "caching": { "oneOf": [ { @@ -2355,17 +2426,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -2393,6 +2453,17 @@ ], "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, "managedDisk": { "oneOf": [ { @@ -2402,12 +2473,27 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a virtual machine scale set data disk." }, @@ -2419,113 +2505,15 @@ "description": "The name of the extension." }, "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, "description": "Describes a Virtual Machine Scale Set Extension." @@ -2553,22 +2541,6 @@ "VirtualMachineScaleSetExtensionProperties": { "type": "object", "properties": { - "forceUpdateTag": { - "type": "string", - "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, "autoUpgradeMinorVersion": { "oneOf": [ { @@ -2580,10 +2552,13 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." }, "protectedSettings": { + "type": "object", + "properties": {}, "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." }, "provisionAfterExtensions": { @@ -2599,6 +2574,23 @@ } ], "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -2607,12 +2599,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." }, @@ -2622,7 +2621,8 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2633,7 +2633,10 @@ }, "description": "Identity for the virtual machine scale set." }, - "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": {}, + "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VirtualMachineScaleSetIPConfiguration": { "type": "object", "properties": { @@ -2653,7 +2656,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, "required": [ @@ -2664,109 +2668,109 @@ "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "subnet": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/ApiEntityReference" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the identifier of the subnet." + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." }, - "primary": { + "applicationSecurityGroups": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Specifies an array of references to application security group." }, - "publicIPAddressConfiguration": { + "loadBalancerBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The publicIPAddressConfiguration." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." }, - "privateIPAddressVersion": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" }, - "applicationGatewayBackendAddressPools": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "primary": { + "oneOf": [ + { + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "applicationSecurityGroups": { + "privateIPAddressVersion": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to application security group." + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." }, - "loadBalancerBackendAddressPools": { + "publicIPAddressConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "loadBalancerInboundNatPools": { + "subnet": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + "description": "The API entity reference." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -2827,7 +2831,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." } }, "required": [ @@ -2858,16 +2863,16 @@ "VirtualMachineScaleSetNetworkConfigurationProperties": { "type": "object", "properties": { - "primary": { + "dnsSettings": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, "enableAcceleratedNetworking": { "oneOf": [ @@ -2880,43 +2885,42 @@ ], "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "networkSecurityGroup": { + "enableIPForwarding": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network security group." + "description": "Whether IP forwarding enabled on this NIC." }, - "dnsSettings": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the network interfaces." + "description": "Specifies the IP configurations of the network interface." }, - "ipConfigurations": { + "networkSecurityGroup": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" - } + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the IP configurations of the network interface." + ] }, - "enableIPForwarding": { + "primary": { "oneOf": [ { "type": "boolean" @@ -2925,7 +2929,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether IP forwarding enabled on this NIC." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." } }, "required": [ @@ -2945,7 +2949,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + "description": "The API entity reference." }, "networkInterfaceConfigurations": { "oneOf": [ @@ -2967,10 +2971,6 @@ "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, "caching": { "oneOf": [ { @@ -2987,17 +2987,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -3023,7 +3012,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, "diskSizeGB": { "oneOf": [ @@ -3036,31 +3025,46 @@ ], "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "osType": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Describes the uri of a disk." }, - "image": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the unmanaged user image to base the scale set on." + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, "vhdContainers": { "oneOf": [ @@ -3076,16 +3080,16 @@ ], "description": "Specifies the container urls that are used to store operating system disks for the scale set." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -3096,33 +3100,22 @@ "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "computerNamePrefix": { + "adminPassword": { "type": "string", - "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerNamePrefix": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies Windows operating system settings on the virtual machine." - }, "linuxConfiguration": { "oneOf": [ { @@ -3147,6 +3140,17 @@ } ], "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Describes a virtual machine scale set OS profile." @@ -3154,27 +3158,27 @@ "VirtualMachineScaleSetProperties": { "type": "object", "properties": { - "upgradePolicy": { + "automaticRepairsPolicy": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "$ref": "#/definitions/AutomaticRepairsPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." }, - "virtualMachineProfile": { + "doNotRunExtensionsOnOverprovisionedVMs": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." }, "overprovision": { "oneOf": [ @@ -3187,6 +3191,27 @@ ], "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, "singlePlacementGroup": { "oneOf": [ { @@ -3198,27 +3223,38 @@ ], "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "zoneBalance": { + "upgradePolicy": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/UpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "platformFaultDomainCount": { + "virtualMachineProfile": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count for each placement group." + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "zoneBalance": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -3238,7 +3274,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" } }, "required": [ @@ -3262,27 +3299,27 @@ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { "type": "object", "properties": { - "idleTimeoutInMinutes": { + "dnsSettings": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The idle timeout of the public IP address." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, - "dnsSettings": { + "idleTimeoutInMinutes": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the publicIP addresses ." + "description": "The idle timeout of the public IP address." }, "ipTags": { "oneOf": [ @@ -3306,30 +3343,66 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The PublicIPPrefix from which to allocate publicIP addresses." + ] } }, "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "virtualMachineScaleSets_extensions_childResource": { + "VirtualMachineScaleSetStorageProfile": { "type": "object", "properties": { - "name": { - "type": "string" + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2018-10-01" ] }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, "properties": { "oneOf": [ { @@ -3338,29 +3411,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, "virtualMachineScaleSets_virtualmachines_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -3371,19 +3442,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, "properties": { "oneOf": [ @@ -3393,106 +3465,94 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "virtualmachines" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, - "VirtualMachineScaleSetStorageProfile": { + "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "imageReference": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "osDisk": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "dataDisks": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." - } - }, - "description": "Describes a virtual machine scale set storage profile." - }, - "VirtualMachineScaleSetVMProfile": { - "type": "object", - "properties": { - "osProfile": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machines in the scale set." + "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview." }, - "storageProfile": { + "extensionProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Describes a virtual machine scale set extension profile." }, - "additionalCapabilities": { - "oneOf": [ - { - "$ref": "#/definitions/AdditionalCapabilities" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -3503,33 +3563,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." - }, - "diagnosticsProfile": { - "oneOf": [ - { - "$ref": "#/definitions/DiagnosticsProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Describes a virtual machine scale set network profile." }, - "extensionProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Describes a virtual machine scale set OS profile." }, "priority": { "oneOf": [ @@ -3546,20 +3591,16 @@ ], "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." }, - "evictionPolicy": { + "storageProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "Deallocate", - "Delete" - ] + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview." + "description": "Describes a virtual machine scale set storage profile." } }, "description": "Describes a virtual machine scale set virtual machine profile." @@ -3567,49 +3608,52 @@ "VirtualMachineScaleSetVMProperties": { "type": "object", "properties": { - "hardwareProfile": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the hardware settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "storageProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "additionalCapabilities": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -3622,64 +3666,93 @@ ], "description": "Specifies the network interfaces of the virtual machine." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the operating system settings for the virtual machine." }, - "availabilitySet": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Specifies the storage settings for the virtual machine disks." } }, "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "WindowsConfiguration": { + "virtualMachines_extensions_childResource": { "type": "object", "properties": { - "provisionVMAgent": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-10-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Describes the properties of a Virtual Machine Extension." }, - "enableAutomaticUpdates": { + "tags": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine is enabled for automatic updates." + "description": "Resource tags" }, - "timeZone": { + "type": { "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" - }, + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { "additionalUnattendContent": { "oneOf": [ { @@ -3694,6 +3767,32 @@ ], "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine is enabled for automatic Windows updates. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + }, "winRM": { "oneOf": [ { @@ -3703,7 +3802,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." + "description": "Describes Windows Remote Management configuration of the VM" } }, "description": "Specifies Windows operating system settings on the virtual machine." @@ -3731,6 +3830,10 @@ "WinRMListener": { "type": "object", "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, "protocol": { "oneOf": [ { @@ -3745,10 +3848,6 @@ } ], "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." - }, - "certificateUrl": { - "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" diff --git a/schemas/2018-10-15/Microsoft.LabServices.json b/schemas/2018-10-15/Microsoft.LabServices.json index f95695a4fb..61cc9db928 100644 --- a/schemas/2018-10-15/Microsoft.LabServices.json +++ b/schemas/2018-10-15/Microsoft.LabServices.json @@ -959,4 +959,4 @@ "description": "Lab User properties" } } -} \ No newline at end of file +} diff --git a/schemas/2019-01-01/Microsoft.EventGrid.json b/schemas/2019-01-01/Microsoft.EventGrid.json index b2a5b6eee3..ba47d3edd0 100644 --- a/schemas/2019-01-01/Microsoft.EventGrid.json +++ b/schemas/2019-01-01/Microsoft.EventGrid.json @@ -461,4 +461,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2019-02-01-preview/Microsoft.EventGrid.json b/schemas/2019-02-01-preview/Microsoft.EventGrid.json index c488d74284..6454a9b00b 100644 --- a/schemas/2019-02-01-preview/Microsoft.EventGrid.json +++ b/schemas/2019-02-01-preview/Microsoft.EventGrid.json @@ -1232,4 +1232,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2019-03-01/Microsoft.Compute.json b/schemas/2019-03-01/Microsoft.Compute.json index 5cdd58de3d..bf294ae518 100644 --- a/schemas/2019-03-01/Microsoft.Compute.json +++ b/schemas/2019-03-01/Microsoft.Compute.json @@ -7,15 +7,6 @@ "availabilitySets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -26,63 +17,66 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/AvailabilitySetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The instance view of a resource." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/availabilitySets" }, - "hostGroups": { + "disks": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/hostGroups" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -93,28 +87,51 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DiskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Disk resource properties." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/DedicatedHostGroupProperties" + "$ref": "#/definitions/DiskSku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "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.Compute/disks" ] }, "zones": { @@ -129,40 +146,21 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/hostGroups_hosts_childResource" - } - ] - } + "description": "The Logical zone list for Disk." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/hostGroups" + "description": "Microsoft.Compute/disks" }, - "hostGroups_hosts": { + "galleries": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/hostGroups/hosts" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -173,64 +171,68 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/DedicatedHostProperties" + "$ref": "#/definitions/GalleryProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Shared Image Gallery." }, - "sku": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_images_childResource" + }, + { + "$ref": "#/definitions/galleries_applications_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/galleries" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", + "name", "properties", - "sku" + "type" ], - "description": "Microsoft.Compute/hostGroups/hosts" + "description": "Microsoft.Compute/galleries" }, - "images": { + "galleries_applications": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -241,52 +243,65 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryApplicationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Application Definition." }, - "properties": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_applications_versions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/galleries/applications" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/images" + "description": "Microsoft.Compute/galleries/applications" }, - "proximityPlacementGroups": { + "galleries_applications_versions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/proximityPlacementGroups" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -297,53 +312,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryApplicationVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ProximityPlacementGroupProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the properties of a Proximity Placement Group." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/galleries/applications/versions" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/proximityPlacementGroups" + "description": "Microsoft.Compute/galleries/applications/versions" }, - "virtualMachines": { + "galleries_images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -354,98 +371,124 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Definition." }, - "plan": { - "oneOf": [ - { - "$ref": "#/definitions/Plan" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_images_versions_childResource" + } + ] + } }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineProperties" + "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.Compute/galleries/images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images" + }, + "galleries_images_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" ] }, - "identity": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineIdentity" + "$ref": "#/definitions/GalleryImageVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine, if configured." + "description": "Describes the properties of a gallery Image Version." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine zones." + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachines_extensions_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/galleries/images/versions" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachines" + "description": "Microsoft.Compute/galleries/images/versions" }, - "virtualMachineScaleSets": { + "hostGroups": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -456,112 +499,150 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the dedicated host group." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DedicatedHostGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Dedicated Host Group Properties." }, - "sku": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/hostGroups_hosts_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set sku." + "description": "Resource tags" }, - "plan": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/hostGroups" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/hostGroups" + }, + "hostGroups_hosts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host ." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetProperties" + "$ref": "#/definitions/DedicatedHostProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Properties of the dedicated host." }, - "identity": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine scale set, if configured." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set zones." + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" - }, - { - "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/hostGroups/hosts" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "sku", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets" + "description": "Microsoft.Compute/hostGroups/hosts" }, - "virtualMachineScaleSets_virtualmachines": { + "images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -572,57 +653,1265 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the image." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of an Image." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/images" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" - } - }, - "definitions": { - "AdditionalCapabilities": { + "description": "Microsoft.Compute/images" + }, + "proximityPlacementGroups": { "type": "object", "properties": { - "ultraSSDEnabled": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the proximity placement group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProximityPlacementGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Proximity Placement Group." + }, + "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.Compute/proximityPlacementGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/proximityPlacementGroups" + }, + "snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "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.Compute/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/snapshots" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_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.Compute/virtualMachines" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine zones." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" + }, + "virtualMachineScaleSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/virtualMachineScaleSets" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachineScaleSets_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "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.Compute/virtualMachineScaleSets/virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { + "AdditionalCapabilities": { + "type": "object", + "properties": { + "ultraSSDEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled." + } + }, + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OobeSystem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pass name. Currently, the only allowable value is OobeSystem." + }, + "settingName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AutomaticOSUpgradePolicy": { + "type": "object", + "properties": { + "disableAutomaticRollback": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS image rollback feature should be disabled. Default value is false." + }, + "enableAutomaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." + } + }, + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "AutomaticRepairsPolicy": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." + }, + "gracePeriod": { + "type": "string", + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." + } + }, + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "virtualMachines": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references to all virtual machines in the availability set." + } + }, + "description": "The instance view of a resource." + }, + "BillingProfile": { + "type": "object", + "properties": { + "maxPrice": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

    This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

    The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

    Possible values are:

    - Any decimal value greater than zero. Example: 0.01538

    -1 – indicates default price to be up-to on-demand.

    You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

    Minimum api-version: 2019-03-01." + } + }, + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "BootDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "CreationData": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This enumerates the possible sources of a disk's creation." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + }, + "uploadSizeBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "DataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "toBeDetached": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a data disk." + }, + "DedicatedHostGroupProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 3 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of fault domains that the host group can span." + } + }, + "required": [ + "platformFaultDomainCount" + ], + "description": "Dedicated Host Group Properties." + }, + "DedicatedHostProperties": { + "type": "object", + "properties": { + "autoReplaceOnFailure": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided." + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Windows_Server_Hybrid", + "Windows_Server_Perpetual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

    Possible values are:

    **None**

    **Windows_Server_Hybrid**

    **Windows_Server_Perpetual**

    Default: **None**." + }, + "platformFaultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault domain of the dedicated host within a dedicated host group." + } + }, + "description": "Properties of the dedicated host." + }, + "DiagnosticsProfile": { + "type": "object", + "properties": { + "bootDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/BootDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "DiffDiskSettings": { + "type": "object", + "properties": { + "option": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Local" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the ephemeral disk settings for operating system disk." + } + }, + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "Disallowed": { + "type": "object", + "properties": { + "diskTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Secret" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Key" + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "DiskProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "DiskSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "EncryptionSettingsCollection": { + "type": "object", + "properties": { + "enabled": { "oneOf": [ { "type": "boolean" @@ -631,106 +1920,369 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled." + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." } }, - "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" }, - "AdditionalUnattendContent": { + "EncryptionSettingsElement": { "type": "object", "properties": { - "passName": { + "diskEncryptionKey": { "oneOf": [ { - "type": "string", - "enum": [ - "OobeSystem" - ] + "$ref": "#/definitions/KeyVaultAndSecretReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is OobeSystem." + "description": "Key Vault Secret Url and vault id of the encryption key " }, - "componentName": { + "keyEncryptionKey": { "oneOf": [ { - "type": "string", - "enum": [ - "Microsoft-Windows-Shell-Setup" - ] + "$ref": "#/definitions/KeyVaultAndKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + }, + "description": "Encryption settings for one disk volume." + }, + "galleries_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] }, - "settingName": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "string", - "enum": [ - "AutoLogon", - "FirstLogonCommands" - ] + "$ref": "#/definitions/GalleryApplicationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + "description": "Describes the properties of a gallery Application Definition." }, - "content": { + "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", - "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + "enum": [ + "applications" + ] } }, - "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications" }, - "ApiEntityReference": { + "galleries_applications_versions_childResource": { "type": "object", "properties": { - "id": { + "apiVersion": { "type": "string", - "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Version." + }, + "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": [ + "versions" + ] } }, - "description": "The API entity reference." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications/versions" + }, + "galleries_images_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Definition." + }, + "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": [ + "images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images" + }, + "galleries_images_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Version." + }, + "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": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images/versions" }, - "AutomaticOSUpgradePolicy": { + "GalleryApplicationProperties": { "type": "object", "properties": { - "enableAutomaticOSUpgrade": { + "description": { + "type": "string", + "description": "The description of this gallery Application Definition resource. This property is updatable." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Application Definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "supportedOSType": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." - }, - "disableAutomaticRollback": { + "description": "This property allows you to specify the supported type of the OS that application is built for.

    Possible values are:

    **Windows**

    **Linux**." + } + }, + "required": [ + "supportedOSType" + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "GalleryApplicationVersionProperties": { + "type": "object", + "properties": { + "publishingProfile": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether OS image rollback feature should be disabled. Default value is false." + "description": "The publishing profile of a gallery Image Version." } }, - "description": "The configuration parameters used for performing automatic OS upgrade." + "required": [ + "publishingProfile" + ], + "description": "Describes the properties of a gallery Image Version." }, - "AutomaticRepairsPolicy": { + "GalleryApplicationVersionPublishingProfile": { "type": "object", "properties": { - "enabled": { + "contentType": { + "type": "string", + "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc." + }, + "enableHealthCheck": { "oneOf": [ { "type": "boolean" @@ -739,30 +2291,25 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." + "description": "Optional. Whether or not this application reports health." }, - "gracePeriod": { + "endOfLifeDate": { "type": "string", - "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M)." + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." }, - "maxInstanceRepairsPercent": { + "excludeFromLatest": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%." - } - }, - "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." - }, - "AvailabilitySetProperties": { - "type": "object", - "properties": { - "platformUpdateDomainCount": { + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "replicaCount": { "oneOf": [ { "type": "integer" @@ -771,247 +2318,237 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Update Domain count." + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." }, - "platformFaultDomainCount": { + "source": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/UserArtifactSource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count." + "description": "The source image from which the Image Version is going to be created." }, - "virtualMachines": { + "storageAccountType": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A list of references to all virtual machines in the availability set." + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." }, - "proximityPlacementGroup": { + "targetRegions": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the proximity placement group that the availability set should be assigned to.

    Minimum api-version: 2018-04-01." + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." } }, - "description": "The instance view of a resource." + "required": [ + "source" + ], + "description": "The publishing profile of a gallery Image Version." }, - "BillingProfile": { + "GalleryArtifactSource": { "type": "object", "properties": { - "maxPrice": { + "managedImage": { "oneOf": [ { - "type": "number" + "$ref": "#/definitions/ManagedArtifact" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

    This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

    The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

    Possible values are:

    - Any decimal value greater than zero. Example: 0.01538

    -1 – indicates default price to be up-to on-demand.

    You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

    Minimum api-version: 2019-03-01." + "description": "The managed artifact." } }, - "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + "required": [ + "managedImage" + ], + "description": "The source image from which the Image Version is going to be created." }, - "BootDiagnostics": { + "GalleryIdentifier": { + "type": "object", + "properties": {}, + "description": "Describes the gallery unique name." + }, + "GalleryImageIdentifier": { "type": "object", "properties": { - "enabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + "offer": { + "type": "string", + "description": "The name of the gallery Image Definition offer." }, - "storageUri": { + "publisher": { "type": "string", - "description": "Uri of the storage account to use for placing the console output and screenshot." + "description": "The name of the gallery Image Definition publisher." + }, + "sku": { + "type": "string", + "description": "The name of the gallery Image Definition SKU." } }, - "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + "required": [ + "offer", + "publisher", + "sku" + ], + "description": "This is the gallery Image Definition identifier." }, - "DataDisk": { + "GalleryImageProperties": { "type": "object", "properties": { - "lun": { + "description": { + "type": "string", + "description": "The description of this gallery Image Definition resource. This property is updatable." + }, + "disallowed": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/Disallowed" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Describes the disallowed disk types." }, - "name": { + "endOfLifeDate": { "type": "string", - "description": "The disk name." + "format": "date-time", + "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable." }, - "vhd": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualHardDisk" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The virtual hard disk." + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Image Definition." }, - "image": { + "identifier": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/GalleryImageIdentifier" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "This is the gallery Image Definition identifier." }, - "caching": { + "osState": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Generalized", + "Specialized" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." - }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'." }, - "createOption": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." }, - "managedDisk": { + "purchasePlan": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "$ref": "#/definitions/ImagePurchasePlan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." }, - "toBeDetached": { + "recommended": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/RecommendedMachineConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." } }, "required": [ - "lun", - "createOption" + "identifier", + "osState", + "osType" ], - "description": "Describes a data disk." + "description": "Describes the properties of a gallery Image Definition." }, - "DedicatedHostGroupProperties": { + "GalleryImageVersionProperties": { "type": "object", "properties": { - "platformFaultDomainCount": { + "publishingProfile": { "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 3 + "$ref": "#/definitions/GalleryImageVersionPublishingProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Number of fault domains that the host group can span." + "description": "The publishing profile of a gallery Image Version." } }, "required": [ - "platformFaultDomainCount" + "publishingProfile" ], - "description": "Dedicated Host Group Properties." + "description": "Describes the properties of a gallery Image Version." }, - "DedicatedHostProperties": { + "GalleryImageVersionPublishingProfile": { "type": "object", "properties": { - "platformFaultDomain": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 2 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Fault domain of the dedicated host within a dedicated host group." + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." }, - "autoReplaceOnFailure": { + "excludeFromLatest": { "oneOf": [ { "type": "boolean" @@ -1020,102 +2557,85 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided." + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." }, - "licenseType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "Windows_Server_Hybrid", - "Windows_Server_Perpetual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

    Possible values are:

    **None**

    **Windows_Server_Hybrid**

    **Windows_Server_Perpetual**

    Default: **None**." - } - }, - "description": "Properties of the dedicated host." - }, - "DiagnosticsProfile": { - "type": "object", - "properties": { - "bootDiagnostics": { + "replicaCount": { "oneOf": [ { - "$ref": "#/definitions/BootDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." - } - }, - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." - }, - "DiffDiskSettings": { - "type": "object", - "properties": { - "option": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Local" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral disk settings for operating system disk." - } - }, - "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." - }, - "DiskEncryptionSettings": { - "type": "object", - "properties": { - "diskEncryptionKey": { + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "source": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultSecretReference" + "$ref": "#/definitions/GalleryArtifactSource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret." + "description": "The source image from which the Image Version is going to be created." }, - "keyEncryptionKey": { + "storageAccountType": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the key encryption key in Key Vault." + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." }, - "enabled": { + "targetRegions": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." } }, - "description": "Describes a Encryption Settings for a Disk" + "required": [ + "source" + ], + "description": "The publishing profile of a gallery Image Version." + }, + "GalleryProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this Shared Image Gallery resource. This property is updatable." + }, + "identifier": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryIdentifier" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the gallery unique name." + } + }, + "description": "Describes the properties of a Shared Image Gallery." }, "HardwareProfile": { "type": "object", @@ -1305,15 +2825,6 @@ "hostGroups_hosts_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "hosts" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -1324,118 +2835,128 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DedicatedHostProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Properties of the dedicated host." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/DedicatedHostProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "hosts" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", + "name", "properties", - "sku" + "sku", + "type" ], "description": "Microsoft.Compute/hostGroups/hosts" }, "ImageDataDisk": { "type": "object", "properties": { - "lun": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "caching": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + ] }, - "diskSizeGB": { + "snapshot": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + ] }, "storageAccountType": { "oneOf": [ @@ -1460,49 +2981,63 @@ ], "description": "Describes a data disk." }, - "ImageOSDisk": { + "ImageDiskReference": { "type": "object", "properties": { - "osType": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "ImageOSDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." }, - "osState": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Generalized", - "Specialized" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "snapshot": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, "managedDisk": { "oneOf": [ @@ -1512,39 +3047,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." + ] }, - "caching": { + "osState": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "Generalized", + "Specialized" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "The OS State." }, - "diskSizeGB": { + "osType": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, "storageAccountType": { "oneOf": [ @@ -1565,69 +3108,86 @@ } }, "required": [ - "osType", - "osState" + "osState", + "osType" ], "description": "Describes an Operating System disk." }, "ImageProperties": { "type": "object", "properties": { - "sourceVirtualMachine": { + "hyperVGeneration": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "V1", + "V2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source virtual machine from which Image is created." + "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image." }, - "storageProfile": { + "sourceVirtualMachine": { "oneOf": [ { - "$ref": "#/definitions/ImageStorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "hyperVGeneration": { + "storageProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "V1", - "V2" - ] + "$ref": "#/definitions/ImageStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image." + "description": "Describes a storage profile." } }, "description": "Describes the properties of an Image." }, - "ImageReference": { + "ImagePurchasePlan": { "type": "object", "properties": { - "id": { + "name": { "type": "string", - "description": "Resource Id" + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "The product ID." }, "publisher": { "type": "string", - "description": "The image publisher." + "description": "The publisher ID." + } + }, + "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" }, "offer": { "type": "string", "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, "sku": { "type": "string", "description": "The image SKU." @@ -1637,22 +3197,11 @@ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." } }, - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "ImageStorageProfile": { - "type": "object", - "properties": { - "osDisk": { - "oneOf": [ - { - "$ref": "#/definitions/ImageOSDisk" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." - }, + "ImageStorageProfile": { + "type": "object", + "properties": { "dataDisks": { "oneOf": [ { @@ -1667,6 +3216,17 @@ ], "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ImageOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an Operating System disk." + }, "zoneResilient": { "oneOf": [ { @@ -1688,6 +3248,10 @@ "type": "string", "description": "The status code." }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, "level": { "oneOf": [ { @@ -1704,10 +3268,6 @@ ], "description": "The level code." }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, "message": { "type": "string", "description": "The detailed status message, including for alerts and error messages." @@ -1720,6 +3280,56 @@ }, "description": "Instance view status." }, + "KeyVaultAndKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, "KeyVaultKeyReference": { "type": "object", "properties": { @@ -1735,8 +3345,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the key." + ] } }, "required": [ @@ -1760,8 +3369,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the secret." + ] } }, "required": [ @@ -1784,31 +3392,44 @@ ], "description": "Specifies whether password authentication should be disabled." }, - "ssh": { + "provisionVMAgent": { "oneOf": [ { - "$ref": "#/definitions/SshConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ssh key configuration for a Linux OS." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, - "provisionVMAgent": { + "ssh": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SshConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "SSH configuration for Linux based VMs running on Azure" } }, "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, + "ManagedArtifact": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The managed artifact id." + } + }, + "required": [ + "id" + ], + "description": "The managed artifact." + }, "ManagedDiskParameters": { "type": "object", "properties": { @@ -1851,7 +3472,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a network interface reference properties." } }, "description": "Describes a network interface reference." @@ -1896,133 +3518,133 @@ "OSDisk": { "type": "object", "properties": { - "osType": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "vhd": { + "diffDiskSettings": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/DiffDiskSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "encryptionSettings": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes a Encryption Settings for a Disk" }, - "writeAcceleratorEnabled": { + "image": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Describes the uri of a disk." }, - "diffDiskSettings": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/DiffDiskSettings" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + "description": "The parameters of a managed disk." }, - "createOption": { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -2033,43 +3655,54 @@ "OSProfile": { "type": "object", "properties": { - "computerName": { + "adminPassword": { "type": "string", - "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "allowExtensionOperations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "computerName": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { + "linuxConfiguration": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "$ref": "#/definitions/LinuxConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies Windows operating system settings on the virtual machine." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "linuxConfiguration": { + "requireGuestProvisionSignal": { "oneOf": [ { - "$ref": "#/definitions/LinuxConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + "description": "Specifies whether the guest provision signal is required from the virtual machine." }, "secrets": { "oneOf": [ @@ -2085,27 +3718,16 @@ ], "description": "Specifies set of certificates that should be installed onto the virtual machine." }, - "allowExtensionOperations": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." - }, - "requireGuestProvisionSignal": { + "windowsConfiguration": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the guest provision signal is required from the virtual machine." + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Specifies the operating system settings for the virtual machine." @@ -2117,10 +3739,6 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." @@ -2128,6 +3746,10 @@ "promotionCode": { "type": "string", "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." @@ -2135,23 +3757,79 @@ "ProximityPlacementGroupProperties": { "type": "object", "properties": { - "proximityPlacementGroupType": { + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "RecommendedMachineConfiguration": { + "type": "object", + "properties": { + "memory": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the resource range." + }, + "vCPUs": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the resource range." + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "type": "object", + "properties": { + "max": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard", - "Ultra" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + "description": "The maximum number of the resource." + }, + "min": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum number of the resource." } }, - "description": "Describes the properties of a Proximity Placement Group." + "description": "Describes the resource range." }, "RollingUpgradePolicy": { "type": "object", @@ -2238,14 +3916,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies Terminate Scheduled Event related configurations." + ] } } }, "Sku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of virtual machines in the scale set." + }, "name": { "type": "string", "description": "The sku name." @@ -2253,8 +3941,25 @@ "tier": { "type": "string", "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." }, - "capacity": { + "diskSizeGB": { "oneOf": [ { "type": "integer" @@ -2263,10 +3968,97 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the number of virtual machines in the scale set." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "incremental": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "SnapshotSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." } }, - "description": "Describes a virtual machine scale set sku." + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "SourceVault": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" }, "SshConfiguration": { "type": "object", @@ -2291,13 +4083,13 @@ "SshPublicKey": { "type": "object", "properties": { - "path": { - "type": "string", - "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" - }, "keyData": { "type": "string", "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -2305,41 +4097,41 @@ "StorageProfile": { "type": "object", "properties": { - "imageReference": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "osDisk": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, "description": "Specifies the storage settings for the virtual machine disks." @@ -2353,13 +4145,48 @@ } } }, - "TerminateNotificationProfile": { + "TargetRegion": { "type": "object", "properties": { - "notBeforeTimeout": { + "name": { "type": "string", - "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" + "description": "The name of the region." + }, + "regionalReplicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "TerminateNotificationProfile": { + "type": "object", + "properties": { "enable": { "oneOf": [ { @@ -2370,12 +4197,27 @@ } ], "description": "Specifies whether the Terminate Scheduled event is enabled or disabled." + }, + "notBeforeTimeout": { + "type": "string", + "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" } } }, "UpgradePolicy": { "type": "object", "properties": { + "automaticOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, "mode": { "oneOf": [ { @@ -2402,31 +4244,42 @@ } ], "description": "The configuration parameters used while performing a rolling upgrade." - }, - "automaticOSUpgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/AutomaticOSUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Configuration parameters used for performing automatic OS Upgrade." } }, "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "VaultCertificate": { + "UserArtifactSource": { "type": "object", "properties": { - "certificateUrl": { + "fileName": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + "description": "Required. The fileName of the artifact." }, + "mediaLink": { + "type": "string", + "description": "Required. The mediaLink of the artifact, must be a readable storage blob." + } + }, + "required": [ + "fileName", + "mediaLink" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "UserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { "certificateStore": { "type": "string", "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -2442,8 +4295,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + ] }, "vaultCertificates": { "oneOf": [ @@ -2479,15 +4331,7 @@ "type": "string", "description": "The virtual machine extension name." }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, - "substatuses": { + "statuses": { "oneOf": [ { "type": "array", @@ -2501,7 +4345,7 @@ ], "description": "The resource status information." }, - "statuses": { + "substatuses": { "oneOf": [ { "type": "array", @@ -2514,20 +4358,6 @@ } ], "description": "The resource status information." - } - }, - "description": "The instance view of a virtual machine extension." - }, - "VirtualMachineExtensionProperties": { - "type": "object", - "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." }, "type": { "type": "string", @@ -2536,7 +4366,13 @@ "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the script handler." - }, + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { "autoUpgradeMinorVersion": { "oneOf": [ { @@ -2548,11 +4384,9 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, "instanceView": { "oneOf": [ @@ -2563,7 +4397,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine extension instance view." + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Extension." @@ -2572,12 +4428,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." }, @@ -2586,8 +4449,9 @@ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/VirtualMachineIdentityUserAssignedIdentitiesValue" - } + "$ref": "#/definitions/UserAssignedIdentitiesValue" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2598,77 +4462,79 @@ }, "description": "Identity for the virtual machine." }, - "VirtualMachineIdentityUserAssignedIdentitiesValue": {}, "VirtualMachineProperties": { "type": "object", "properties": { - "hardwareProfile": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the hardware settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "storageProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "additionalCapabilities": { + "billingProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/BillingProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine." + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." }, - "osProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "networkProfile": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/NetworkProfile" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the network interfaces of the virtual machine." + "description": "Specifies the eviction policy for the Azure Spot virtual machine. Only supported value is 'Deallocate'.

    Minimum api-version: 2019-03-01." }, - "diagnosticsProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the hardware settings for the virtual machine." }, - "availabilitySet": { + "host": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -2676,30 +4542,33 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.

    This property cannot exist along with a non-null properties.virtualMachineScaleSet reference." + ] }, - "virtualMachineScaleSet": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/NetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

    This property cannot exist along with a non-null properties.availabilitySet reference.

    Minimum api‐version: 2019‐03‐01" + "description": "Specifies the network interfaces of the virtual machine." }, - "proximityPlacementGroup": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.

    Minimum api-version: 2018-04-01." + "description": "Specifies the operating system settings for the virtual machine." }, "priority": { "oneOf": [ @@ -2717,33 +4586,7 @@ ], "description": "Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01." }, - "evictionPolicy": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Deallocate", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the eviction policy for the Azure Spot virtual machine. Only supported value is 'Deallocate'.

    Minimum api-version: 2019-03-01." - }, - "billingProfile": { - "oneOf": [ - { - "$ref": "#/definitions/BillingProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the billing related details of a Azure Spot virtual machine.

    Minimum api-version: 2019-03-01." - }, - "host": { + "proximityPlacementGroup": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -2751,189 +4594,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies information about the dedicated host that the virtual machine resides in.

    Minimum api-version: 2018-10-01." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" - } - }, - "description": "Describes the properties of a Virtual Machine." - }, - "virtualMachines_extensions_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "storageProfile": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" - }, - "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" - } - ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" - }, - "VirtualMachineScaleSetDataDisk": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies the storage settings for the virtual machine disks." }, - "lun": { + "virtualMachineScaleSet": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, + ] + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetDataDisk": { + "type": "object", + "properties": { "caching": { "oneOf": [ { @@ -2950,17 +4639,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -2988,6 +4666,17 @@ ], "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, "managedDisk": { "oneOf": [ { @@ -2997,12 +4686,27 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a virtual machine scale set data disk." }, @@ -3014,113 +4718,15 @@ "description": "The name of the extension." }, "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, "description": "Describes a Virtual Machine Scale Set Extension." @@ -3148,22 +4754,6 @@ "VirtualMachineScaleSetExtensionProperties": { "type": "object", "properties": { - "forceUpdateTag": { - "type": "string", - "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, "autoUpgradeMinorVersion": { "oneOf": [ { @@ -3175,10 +4765,13 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." }, "protectedSettings": { + "type": "object", + "properties": {}, "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." }, "provisionAfterExtensions": { @@ -3194,6 +4787,23 @@ } ], "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -3202,12 +4812,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." }, @@ -3217,7 +4834,8 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3228,7 +4846,10 @@ }, "description": "Identity for the virtual machine scale set." }, - "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": {}, + "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VirtualMachineScaleSetIPConfiguration": { "type": "object", "properties": { @@ -3248,7 +4869,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, "required": [ @@ -3259,109 +4881,109 @@ "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "subnet": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/ApiEntityReference" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the identifier of the subnet." + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." }, - "primary": { + "applicationSecurityGroups": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Specifies an array of references to application security group." }, - "publicIPAddressConfiguration": { + "loadBalancerBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The publicIPAddressConfiguration." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." }, - "privateIPAddressVersion": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" }, - "applicationGatewayBackendAddressPools": { + "primary": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "applicationSecurityGroups": { + "privateIPAddressVersion": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to application security group." + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." }, - "loadBalancerBackendAddressPools": { + "publicIPAddressConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "loadBalancerInboundNatPools": { + "subnet": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + "description": "The API entity reference." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -3422,7 +5044,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." } }, "required": [ @@ -3453,16 +5076,16 @@ "VirtualMachineScaleSetNetworkConfigurationProperties": { "type": "object", "properties": { - "primary": { + "dnsSettings": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, "enableAcceleratedNetworking": { "oneOf": [ @@ -3475,43 +5098,42 @@ ], "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "networkSecurityGroup": { + "enableIPForwarding": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network security group." + "description": "Whether IP forwarding enabled on this NIC." }, - "dnsSettings": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the network interfaces." + "description": "Specifies the IP configurations of the network interface." }, - "ipConfigurations": { + "networkSecurityGroup": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" - } + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the IP configurations of the network interface." + ] }, - "enableIPForwarding": { + "primary": { "oneOf": [ { "type": "boolean" @@ -3520,7 +5142,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether IP forwarding enabled on this NIC." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." } }, "required": [ @@ -3540,7 +5162,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + "description": "The API entity reference." }, "networkInterfaceConfigurations": { "oneOf": [ @@ -3562,10 +5184,6 @@ "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, "caching": { "oneOf": [ { @@ -3582,17 +5200,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -3618,7 +5225,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, "diskSizeGB": { "oneOf": [ @@ -3631,31 +5238,46 @@ ], "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "osType": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Describes the uri of a disk." }, - "image": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the unmanaged user image to base the scale set on." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, "vhdContainers": { "oneOf": [ @@ -3671,16 +5293,16 @@ ], "description": "Specifies the container urls that are used to store operating system disks for the scale set." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -3691,33 +5313,22 @@ "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "computerNamePrefix": { + "adminPassword": { "type": "string", - "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerNamePrefix": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies Windows operating system settings on the virtual machine." - }, "linuxConfiguration": { "oneOf": [ { @@ -3742,6 +5353,17 @@ } ], "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Describes a virtual machine scale set OS profile." @@ -3749,16 +5371,16 @@ "VirtualMachineScaleSetProperties": { "type": "object", "properties": { - "upgradePolicy": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, "automaticRepairsPolicy": { "oneOf": [ @@ -3769,18 +5391,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Policy for automatic repairs." + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." }, - "virtualMachineProfile": { + "doNotRunExtensionsOnOverprovisionedVMs": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." }, "overprovision": { "oneOf": [ @@ -3793,82 +5415,81 @@ ], "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, - "doNotRunExtensionsOnOverprovisionedVMs": { + "platformFaultDomainCount": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + "description": "Fault Domain count for each placement group." }, - "singlePlacementGroup": { + "proximityPlacementGroup": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + ] }, - "zoneBalance": { + "scaleInPolicy": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/ScaleInPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + "description": "Describes a scale-in policy for a virtual machine scale set." }, - "platformFaultDomainCount": { + "singlePlacementGroup": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count for each placement group." + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "proximityPlacementGroup": { + "upgradePolicy": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/UpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

    Minimum api-version: 2018-04-01." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "additionalCapabilities": { + "virtualMachineProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "description": "Describes a virtual machine scale set virtual machine profile." }, - "scaleInPolicy": { + "zoneBalance": { "oneOf": [ { - "$ref": "#/definitions/ScaleInPolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in." + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -3888,7 +5509,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" } }, "required": [ @@ -3912,27 +5534,27 @@ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { "type": "object", "properties": { - "idleTimeoutInMinutes": { + "dnsSettings": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The idle timeout of the public IP address." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, - "dnsSettings": { + "idleTimeoutInMinutes": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the publicIP addresses ." + "description": "The idle timeout of the public IP address." }, "ipTags": { "oneOf": [ @@ -3956,157 +5578,161 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The PublicIPPrefix from which to allocate publicIP addresses." + ] } }, "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "virtualMachineScaleSets_extensions_childResource": { + "VirtualMachineScaleSetStorageProfile": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "properties": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" - }, - "virtualMachineScaleSets_virtualmachines_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "virtualmachines" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-03-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "tags": { + "imageReference": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, - "properties": { + "osDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" ] }, - "plan": { + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, - "VirtualMachineScaleSetStorageProfile": { + "virtualMachineScaleSets_virtualmachines_childResource": { "type": "object", "properties": { - "imageReference": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "osDisk": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "dataDisks": { + "tags": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "virtualmachines" + ] } }, - "description": "Describes a virtual machine scale set storage profile." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, "VirtualMachineScaleSetVMNetworkProfileConfiguration": { "type": "object", @@ -4131,117 +5757,116 @@ "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "osProfile": { + "billingProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "$ref": "#/definitions/BillingProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machines in the scale set." + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." }, - "storageProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "networkProfile": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." + "description": "Specifies the eviction policy for virtual machines in a Azure Spot scale set.

    Minimum api-version: 2017-10-30-preview." }, - "diagnosticsProfile": { + "extensionProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Describes a virtual machine scale set extension profile." }, - "extensionProfile": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Describes a virtual machine scale set network profile." }, - "priority": { + "osProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "Regular", - "Low", - "Spot" - ] + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." + "description": "Describes a virtual machine scale set OS profile." }, - "evictionPolicy": { + "priority": { "oneOf": [ { "type": "string", "enum": [ - "Deallocate", - "Delete" + "Regular", + "Low", + "Spot" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the eviction policy for virtual machines in a Azure Spot scale set.

    Minimum api-version: 2017-10-30-preview." + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." }, - "billingProfile": { + "scheduledEventsProfile": { "oneOf": [ { - "$ref": "#/definitions/BillingProfile" + "$ref": "#/definitions/ScheduledEventsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the billing related details of a Azure Spot VMSS.

    Minimum api-version: 2019-03-01." + ] }, - "scheduledEventsProfile": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/ScheduledEventsProfile" + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies Scheduled Event related configurations." + "description": "Describes a virtual machine scale set storage profile." } }, "description": "Describes a virtual machine scale set virtual machine profile." @@ -4249,49 +5874,52 @@ "VirtualMachineScaleSetVMProperties": { "type": "object", "properties": { - "hardwareProfile": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the hardware settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "storageProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "additionalCapabilities": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -4313,44 +5941,40 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the network profile configuration of the virtual machine." + "description": "Describes a virtual machine scale set VM network profile." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the operating system settings for the virtual machine." }, - "availabilitySet": { + "protectionPolicy": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "The protection policy of a virtual machine scale set VM." }, - "protectionPolicy": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the protection policy of the virtual machine." + "description": "Specifies the storage settings for the virtual machine disks." } }, "description": "Describes the properties of a virtual machine scale set virtual machine." @@ -4383,35 +6007,68 @@ }, "description": "The protection policy of a virtual machine scale set VM." }, - "WindowsConfiguration": { + "virtualMachines_extensions_childResource": { "type": "object", "properties": { - "provisionVMAgent": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Describes the properties of a Virtual Machine Extension." }, - "enableAutomaticUpdates": { + "tags": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + "description": "Resource tags" }, - "timeZone": { + "type": { "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" - }, + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { "additionalUnattendContent": { "oneOf": [ { @@ -4426,6 +6083,32 @@ ], "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + }, "winRM": { "oneOf": [ { @@ -4435,7 +6118,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." + "description": "Describes Windows Remote Management configuration of the VM" } }, "description": "Specifies Windows operating system settings on the virtual machine." @@ -4463,6 +6146,10 @@ "WinRMListener": { "type": "object", "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, "protocol": { "oneOf": [ { @@ -4477,10 +6164,6 @@ } ], "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." - }, - "certificateUrl": { - "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" diff --git a/schemas/2019-04-01/Microsoft.Capacity.json b/schemas/2019-04-01/Microsoft.Capacity.json index ebc7524c10..fa23b49aaf 100644 --- a/schemas/2019-04-01/Microsoft.Capacity.json +++ b/schemas/2019-04-01/Microsoft.Capacity.json @@ -223,4 +223,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/2019-04-01/deploymentTemplate.json b/schemas/2019-04-01/deploymentTemplate.json index 3e7359c0a8..5bd136a795 100644 --- a/schemas/2019-04-01/deploymentTemplate.json +++ b/schemas/2019-04-01/deploymentTemplate.json @@ -150,6 +150,13 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" }, { "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.Insights.json#/resourceDefinitions/dataCollectionRules" }, @@ -1456,7 +1463,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-04-19/Microsoft.Advisor.json#/resourceDefinitions/recommendations_suppressions" }, { "$ref": "https://schema.management.azure.com/schemas/2017-04-19/Microsoft.Advisor.json#/resourceDefinitions/configurations" }, { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/recommendations_suppressions" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/configurations" } + { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/configurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#/resourceDefinitions/cloudServices" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#/resourceDefinitions/cloudServices_updateDomains" } ] } ] diff --git a/schemas/2019-04-15/Microsoft.Cdn.json b/schemas/2019-04-15/Microsoft.Cdn.json index 21b9c9dfb0..c252403d24 100644 --- a/schemas/2019-04-15/Microsoft.Cdn.json +++ b/schemas/2019-04-15/Microsoft.Cdn.json @@ -2716,4 +2716,4 @@ "description": "Defines the parameters for the url rewrite action." } } -} \ No newline at end of file +} diff --git a/schemas/2019-05-01-preview/Microsoft.AppPlatform.json b/schemas/2019-05-01-preview/Microsoft.AppPlatform.json index 7d55877ade..a736963e1a 100644 --- a/schemas/2019-05-01-preview/Microsoft.AppPlatform.json +++ b/schemas/2019-05-01-preview/Microsoft.AppPlatform.json @@ -219,6 +219,17 @@ ], "description": "Deployment resource properties payload" }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Cloud" + }, "type": { "type": "string", "enum": [ @@ -1021,6 +1032,17 @@ ], "description": "Deployment resource properties payload" }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Cloud" + }, "type": { "type": "string", "enum": [ diff --git a/schemas/2019-06-01-preview/Microsoft.Synapse.json b/schemas/2019-06-01-preview/Microsoft.Synapse.json index 71a7213267..3413c90b51 100644 --- a/schemas/2019-06-01-preview/Microsoft.Synapse.json +++ b/schemas/2019-06-01-preview/Microsoft.Synapse.json @@ -4857,4 +4857,4 @@ "description": "Microsoft.Synapse/workspaces/vulnerabilityAssessments" } } -} \ No newline at end of file +} diff --git a/schemas/2019-06-01/Microsoft.EventGrid.json b/schemas/2019-06-01/Microsoft.EventGrid.json index d1a7980264..5fd65913e3 100644 --- a/schemas/2019-06-01/Microsoft.EventGrid.json +++ b/schemas/2019-06-01/Microsoft.EventGrid.json @@ -1028,4 +1028,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2019-06-15-preview/Microsoft.Cdn.json b/schemas/2019-06-15-preview/Microsoft.Cdn.json index eea8a37b5b..f0731126ab 100644 --- a/schemas/2019-06-15-preview/Microsoft.Cdn.json +++ b/schemas/2019-06-15-preview/Microsoft.Cdn.json @@ -3413,4 +3413,4 @@ "description": "Defines the parameters for the url rewrite action." } } -} \ No newline at end of file +} diff --git a/schemas/2019-06-15/Microsoft.Cdn.json b/schemas/2019-06-15/Microsoft.Cdn.json index f788606481..bbc43ed89b 100644 --- a/schemas/2019-06-15/Microsoft.Cdn.json +++ b/schemas/2019-06-15/Microsoft.Cdn.json @@ -3396,4 +3396,4 @@ "description": "Defines the parameters for the url rewrite action." } } -} \ No newline at end of file +} diff --git a/schemas/2019-07-01/Microsoft.Compute.json b/schemas/2019-07-01/Microsoft.Compute.json index e88fe5e1be..934fddb0ec 100644 --- a/schemas/2019-07-01/Microsoft.Compute.json +++ b/schemas/2019-07-01/Microsoft.Compute.json @@ -7,15 +7,6 @@ "availabilitySets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/availabilitySets" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -26,131 +17,135 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/AvailabilitySetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The instance view of a resource." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/availabilitySets" }, "diskEncryptionSets": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/diskEncryptionSets" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-07-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/EncryptionSetIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." }, - "identity": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSetIdentity" + "$ref": "#/definitions/EncryptionSetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSetProperties" + "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.Compute/diskEncryptionSets" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/diskEncryptionSets" }, "disks": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/disks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -161,19 +156,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DiskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Disk resource properties." }, "sku": { "oneOf": [ @@ -183,54 +179,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Logical zone list for Disk." + "description": "Resource tags" }, - "properties": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/disks" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/DiskProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The Logical zone list for Disk." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/disks" }, "galleries": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -241,19 +240,9 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." }, "properties": { "oneOf": [ @@ -263,43 +252,56 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Shared Image Gallery." }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/galleries_applications_childResource" + "$ref": "#/definitions/galleries_images_childResource" }, { - "$ref": "#/definitions/galleries_images_childResource" + "$ref": "#/definitions/galleries_applications_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.Compute/galleries" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries" }, "galleries_applications": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries/applications" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -310,19 +312,9 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." }, "properties": { "oneOf": [ @@ -332,7 +324,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a gallery Application Definition." }, "resources": { "type": "array", @@ -343,30 +336,42 @@ } ] } + }, + "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.Compute/galleries/applications" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/applications" }, "galleries_applications_versions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries/applications/versions" - ] - }, - "apiVersion": { + "apiVersion": { "type": "string", "enum": [ "2019-07-01" @@ -376,52 +381,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryApplicationVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryApplicationVersionProperties" + "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.Compute/galleries/applications/versions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/applications/versions" }, "galleries_images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -432,19 +440,9 @@ "type": "string", "description": "Resource location" }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." }, "properties": { "oneOf": [ @@ -454,7 +452,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a gallery Image Definition." }, "resources": { "type": "array", @@ -465,29 +464,41 @@ } ] } + }, + "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.Compute/galleries/images" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images" }, "galleries_images_versions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/galleries/images/versions" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -498,52 +509,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageVersionProperties" + "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.Compute/galleries/images/versions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images/versions" }, "hostGroups": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/hostGroups" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -554,28 +568,50 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the dedicated host group." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DedicatedHostGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Dedicated Host Group Properties." }, - "properties": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/hostGroups_hosts_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/DedicatedHostGroupProperties" + "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.Compute/hostGroups" ] }, "zones": { @@ -591,39 +627,20 @@ } ], "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/hostGroups_hosts_childResource" - } - ] - } } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/hostGroups" }, "hostGroups_hosts": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/hostGroups/hosts" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -634,64 +651,67 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DedicatedHostProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Properties of the dedicated host." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/DedicatedHostProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/hostGroups/hosts" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", + "name", "properties", - "sku" + "sku", + "type" ], "description": "Microsoft.Compute/hostGroups/hosts" }, "images": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -702,52 +722,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of an Image." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ImageProperties" + "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.Compute/images" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" - ], - "description": "Microsoft.Compute/images" + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/images" }, "proximityPlacementGroups": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/proximityPlacementGroups" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -758,54 +781,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the proximity placement group." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ProximityPlacementGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a Proximity Placement Group." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ProximityPlacementGroupProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Describes the properties of a Proximity Placement Group." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/proximityPlacementGroups" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/proximityPlacementGroups" }, "snapshots": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/snapshots" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -816,19 +840,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/SnapshotProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Snapshot resource properties." }, "sku": { "oneOf": [ @@ -838,63 +863,67 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/SnapshotProperties" + "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.Compute/snapshots" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/snapshots" }, "virtualMachines": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachines" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-07-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." }, "plan": { "oneOf": [ @@ -915,18 +944,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine." }, - "identity": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] }, "zones": { "oneOf": [ @@ -941,105 +991,111 @@ } ], "description": "The virtual machine zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachines_extensions_childResource" - } - ] - } } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachines" }, "virtualMachineScaleSets": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-07-01" ] }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Identity for the virtual machine scale set." }, - "sku": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set sku." + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, - "plan": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "$ref": "#/definitions/VirtualMachineScaleSetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Describes the properties of a Virtual Machine Scale Set." }, - "properties": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "identity": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity of the virtual machine scale set, if configured." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets" + ] }, "zones": { "oneOf": [ @@ -1053,66 +1109,84 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine scale set zones." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" - }, - { - "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" - } - ] - } + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set." } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets" }, - "virtualMachineScaleSets_virtualmachines": { + "virtualMachineScaleSets_extensions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-07-01" ] }, - "location": { + "name": { "type": "string", - "description": "Resource location" + "description": "The name of the VM scale set extension." }, - "tags": { + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, "properties": { "oneOf": [ @@ -1122,41 +1196,53 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "plan": { + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualMachines_extensions_childResource" + } + ] + } + }, + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, "virtualMachineScaleSets_virtualMachines_extensions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -1167,13 +1253,29 @@ "type": "string", "description": "Resource location" }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, "tags": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1181,6 +1283,39 @@ ], "description": "Resource tags" }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, "properties": { "oneOf": [ { @@ -1189,17 +1324,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + "description": "Microsoft.Compute/virtualMachines/extensions" } }, "definitions": { @@ -1223,33 +1380,37 @@ "AdditionalUnattendContent": { "type": "object", "properties": { - "passName": { + "componentName": { "oneOf": [ { "type": "string", "enum": [ - "OobeSystem" + "Microsoft-Windows-Shell-Setup" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The pass name. Currently, the only allowable value is OobeSystem." + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." }, - "componentName": { + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { "oneOf": [ { "type": "string", "enum": [ - "Microsoft-Windows-Shell-Setup" + "OobeSystem" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + "description": "The pass name. Currently, the only allowable value is OobeSystem." }, "settingName": { "oneOf": [ @@ -1265,10 +1426,6 @@ } ], "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." - }, - "content": { - "type": "string", - "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." } }, "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." @@ -1286,7 +1443,7 @@ "AutomaticOSUpgradePolicy": { "type": "object", "properties": { - "enableAutomaticOSUpgrade": { + "disableAutomaticRollback": { "oneOf": [ { "type": "boolean" @@ -1295,9 +1452,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." + "description": "Whether OS image rollback feature should be disabled. Default value is false." }, - "disableAutomaticRollback": { + "enableAutomaticOSUpgrade": { "oneOf": [ { "type": "boolean" @@ -1306,7 +1463,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether OS image rollback feature should be disabled. Default value is false." + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." } }, "description": "The configuration parameters used for performing automatic OS upgrade." @@ -1327,18 +1484,7 @@ }, "gracePeriod": { "type": "string", - "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M)." - }, - "maxInstanceRepairsPercent": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%." + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." } }, "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." @@ -1346,7 +1492,7 @@ "AvailabilitySetProperties": { "type": "object", "properties": { - "platformUpdateDomainCount": { + "platformFaultDomainCount": { "oneOf": [ { "type": "integer" @@ -1355,9 +1501,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Update Domain count." + "description": "Fault Domain count." }, - "platformFaultDomainCount": { + "platformUpdateDomainCount": { "oneOf": [ { "type": "integer" @@ -1366,32 +1512,31 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count." + "description": "Update Domain count." }, - "virtualMachines": { + "proximityPlacementGroup": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of references to all virtual machines in the availability set." + ] }, - "proximityPlacementGroup": { + "virtualMachines": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the proximity placement group that the availability set should be assigned to.

    Minimum api-version: 2018-04-01." + "description": "A list of references to all virtual machines in the availability set." } }, "description": "The instance view of a resource." @@ -1457,10 +1602,6 @@ ], "description": "This enumerates the possible sources of a disk's creation." }, - "storageAccountId": { - "type": "string", - "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." - }, "imageReference": { "oneOf": [ { @@ -1470,15 +1611,19 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information." + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." }, "sourceUri": { "type": "string", "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." }, - "sourceResourceId": { + "storageAccountId": { "type": "string", - "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." }, "uploadSizeBytes": { "oneOf": [ @@ -1500,109 +1645,109 @@ "DataDisk": { "type": "object", "properties": { - "lun": { + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "vhd": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes the uri of a disk." }, - "writeAcceleratorEnabled": { + "lun": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "createOption": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "The parameters of a managed disk." }, - "diskSizeGB": { + "name": { + "type": "string", + "description": "The disk name." + }, + "toBeDetached": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" }, - "managedDisk": { + "vhd": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Describes the uri of a disk." }, - "toBeDetached": { + "writeAcceleratorEnabled": { "oneOf": [ { "type": "boolean" @@ -1611,12 +1756,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a data disk." }, @@ -1645,19 +1790,6 @@ "DedicatedHostProperties": { "type": "object", "properties": { - "platformFaultDomain": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 2 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Fault domain of the dedicated host within a dedicated host group." - }, "autoReplaceOnFailure": { "oneOf": [ { @@ -1684,6 +1816,19 @@ } ], "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

    Possible values are:

    **None**

    **Windows_Server_Hybrid**

    **Windows_Server_Perpetual**

    Default: **None**." + }, + "platformFaultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault domain of the dedicated host within a dedicated host group." } }, "description": "Properties of the dedicated host." @@ -1767,29 +1912,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret." + "description": "Describes a reference to Key Vault Secret" }, - "keyEncryptionKey": { + "enabled": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultKeyReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the location of the key encryption key in Key Vault." + "description": "Specifies whether disk encryption should be enabled on the virtual machine." }, - "enabled": { + "keyEncryptionKey": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultKeyReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether disk encryption should be enabled on the virtual machine." + "description": "Describes a reference to Key Vault Key" } }, "description": "Describes a Encryption Settings for a Disk" @@ -1797,46 +1942,38 @@ "DiskProperties": { "type": "object", "properties": { - "osType": { + "creationData": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/CreationData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Data used when creating a disk." }, - "hyperVGeneration": { + "diskIOPSReadWrite": { "oneOf": [ { - "type": "string", - "enum": [ - "V1", - "V2" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." }, - "creationData": { + "diskMBpsReadWrite": { "oneOf": [ { - "$ref": "#/definitions/CreationData" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." }, "diskSizeGB": { "oneOf": [ @@ -1849,49 +1986,57 @@ ], "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, - "encryptionSettingsCollection": { + "encryption": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSettingsCollection" + "$ref": "#/definitions/Encryption" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + "description": "Encryption at rest settings for disk or snapshot" }, - "diskIOPSReadWrite": { + "encryptionSettingsCollection": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/EncryptionSettingsCollection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + "description": "Encryption settings for disk or snapshot" }, - "diskMBpsReadWrite": { + "hyperVGeneration": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "V1", + "V2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." }, - "encryption": { + "osType": { "oneOf": [ { - "$ref": "#/definitions/Encryption" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + "description": "The Operating System type." } }, "required": [ @@ -1930,10 +2075,17 @@ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." }, "type": { - "type": "string", - "enum": [ - "EncryptionAtRestWithPlatformKey", - "EncryptionAtRestWithCustomerKey" + "oneOf": [ + { + "type": "string", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of key used to encrypt the data of the disk." } @@ -1947,9 +2099,16 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported." } @@ -1968,7 +2127,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The key vault key which is currently used by this disk encryption set." + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" } } }, @@ -2022,7 +2181,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Secret Url and vault id of the disk encryption key" + "description": "Key Vault Secret Url and vault id of the encryption key " }, "keyEncryptionKey": { "oneOf": [ @@ -2033,7 +2192,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key." + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" } }, "description": "Encryption settings for one disk volume." @@ -2041,15 +2200,6 @@ "galleries_applications_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "applications" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -2060,62 +2210,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryApplicationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Application Definition." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryApplicationProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/galleries_applications_versions_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "applications" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/applications" }, "galleries_applications_versions_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -2126,52 +2269,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryApplicationVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryApplicationVersionProperties" + "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": [ + "versions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/applications/versions" }, "galleries_images_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "images" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -2182,62 +2328,55 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Definition." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Resource tags" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/galleries_images_versions_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "images" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images" }, "galleries_images_versions_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "versions" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -2248,37 +2387,49 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/GalleryImageVersionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Describes the properties of a gallery Image Version." }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageVersionProperties" + "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": [ + "versions" ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/galleries/images/versions" }, @@ -2289,6 +2440,11 @@ "type": "string", "description": "The description of this gallery Application Definition resource. This property is updatable." }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, "eula": { "type": "string", "description": "The Eula agreement for the gallery Application Definition." @@ -2301,11 +2457,6 @@ "type": "string", "description": "The release note uri." }, - "endOfLifeDate": { - "type": "string", - "format": "date-time", - "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." - }, "supportedOSType": { "oneOf": [ { @@ -2338,7 +2489,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The publishing profile of a gallery Image Version." } }, "required": [ @@ -2349,19 +2501,36 @@ "GalleryApplicationVersionPublishingProfile": { "type": "object", "properties": { - "targetRegions": { + "contentType": { + "type": "string", + "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc." + }, + "enableHealthCheck": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/TargetRegion" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + "description": "Optional. Whether or not this application reports health." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." }, "replicaCount": { "oneOf": [ @@ -2374,21 +2543,16 @@ ], "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." }, - "excludeFromLatest": { + "source": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/UserArtifactSource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." - }, - "endOfLifeDate": { - "type": "string", - "format": "date-time", - "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + "description": "The source image from which the Image Version is going to be created." }, "storageAccountType": { "oneOf": [ @@ -2405,30 +2569,19 @@ ], "description": "Specifies the storage account type to be used to store the image. This property is not updatable." }, - "source": { - "oneOf": [ - { - "$ref": "#/definitions/UserArtifactSource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "contentType": { - "type": "string", - "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc." - }, - "enableHealthCheck": { + "targetRegions": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Optional. Whether or not this application reports health." + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." } }, "required": [ @@ -2444,9 +2597,6 @@ "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, or user image." } }, - "required": [ - "id" - ], "description": "The gallery artifact version source." }, "GalleryDataDiskImage": { @@ -2468,26 +2618,27 @@ ], "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'." }, - "source": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/GalleryArtifactVersionSource" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." }, - "lun": { + "source": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/GalleryArtifactVersionSource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + "description": "The gallery artifact version source." } }, "required": [ @@ -2496,27 +2647,29 @@ "description": "This is the data disk image." }, "GalleryIdentifier": { + "type": "object", + "properties": {}, "description": "Describes the gallery unique name." }, "GalleryImageIdentifier": { "type": "object", "properties": { - "publisher": { - "type": "string", - "description": "The name of the gallery Image Definition publisher." - }, "offer": { "type": "string", "description": "The name of the gallery Image Definition offer." }, + "publisher": { + "type": "string", + "description": "The name of the gallery Image Definition publisher." + }, "sku": { "type": "string", "description": "The name of the gallery Image Definition SKU." } }, "required": [ - "publisher", "offer", + "publisher", "sku" ], "description": "This is the gallery Image Definition identifier." @@ -2528,32 +2681,51 @@ "type": "string", "description": "The description of this gallery Image Definition resource. This property is updatable." }, - "eula": { - "type": "string", - "description": "The Eula agreement for the gallery Image Definition." + "disallowed": { + "oneOf": [ + { + "$ref": "#/definitions/Disallowed" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the disallowed disk types." }, - "privacyStatementUri": { + "endOfLifeDate": { "type": "string", - "description": "The privacy statement uri." + "format": "date-time", + "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable." }, - "releaseNoteUri": { + "eula": { "type": "string", - "description": "The release note uri." + "description": "The Eula agreement for the gallery Image Definition." }, - "osType": { + "hyperVGeneration": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "V1", + "V2" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "identifier": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the gallery Image Definition identifier." }, "osState": { "oneOf": [ @@ -2570,35 +2742,35 @@ ], "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'." }, - "hyperVGeneration": { + "osType": { "oneOf": [ { "type": "string", "enum": [ - "V1", - "V2" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." }, - "endOfLifeDate": { + "privacyStatementUri": { "type": "string", - "format": "date-time", - "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable." + "description": "The privacy statement uri." }, - "identifier": { + "purchasePlan": { "oneOf": [ { - "$ref": "#/definitions/GalleryImageIdentifier" + "$ref": "#/definitions/ImagePurchasePlan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." }, "recommended": { "oneOf": [ @@ -2608,33 +2780,18 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - }, - "disallowed": { - "oneOf": [ - { - "$ref": "#/definitions/Disallowed" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + ], + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." }, - "purchasePlan": { - "oneOf": [ - { - "$ref": "#/definitions/ImagePurchasePlan" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." } }, "required": [ - "osType", + "identifier", "osState", - "identifier" + "osType" ], "description": "Describes the properties of a gallery Image Definition." }, @@ -2649,7 +2806,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The publishing profile of a gallery Image Version." }, "storageProfile": { "oneOf": [ @@ -2659,7 +2817,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "This is the storage profile of a Gallery Image Version." } }, "required": [ @@ -2670,19 +2829,21 @@ "GalleryImageVersionPublishingProfile": { "type": "object", "properties": { - "targetRegions": { + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/TargetRegion" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." }, "replicaCount": { "oneOf": [ @@ -2695,36 +2856,34 @@ ], "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." }, - "excludeFromLatest": { + "storageAccountType": { "oneOf": [ { - "type": "boolean" + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." - }, - "endOfLifeDate": { - "type": "string", - "format": "date-time", - "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." }, - "storageAccountType": { + "targetRegions": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Standard_ZRS" - ] + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." } }, "description": "The publishing profile of a gallery Image Version." @@ -2732,15 +2891,19 @@ "GalleryImageVersionStorageProfile": { "type": "object", "properties": { - "source": { + "dataDiskImages": { "oneOf": [ { - "$ref": "#/definitions/GalleryArtifactVersionSource" + "type": "array", + "items": { + "$ref": "#/definitions/GalleryDataDiskImage" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "A list of data disk images." }, "osDiskImage": { "oneOf": [ @@ -2750,21 +2913,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "This is the OS disk image." }, - "dataDiskImages": { + "source": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/GalleryDataDiskImage" - } + "$ref": "#/definitions/GalleryArtifactVersionSource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A list of data disk images." + "description": "The gallery artifact version source." } }, "description": "This is the storage profile of a Gallery Image Version." @@ -2796,7 +2957,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The gallery artifact version source." } }, "description": "This is the OS disk image." @@ -2816,7 +2978,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the gallery unique name." } }, "description": "Describes the properties of a Shared Image Gallery." @@ -3009,15 +3172,6 @@ "hostGroups_hosts_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "hosts" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -3028,98 +3182,110 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/DedicatedHostProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Properties of the dedicated host." }, - "properties": { + "sku": { "oneOf": [ { - "$ref": "#/definitions/DedicatedHostProperties" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, - "sku": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "hosts" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", + "name", "properties", - "sku" + "sku", + "type" ], "description": "Microsoft.Compute/hostGroups/hosts" }, "ImageDataDisk": { "type": "object", "properties": { - "snapshot": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The snapshot." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "managedDisk": { + "diskEncryptionSet": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/DiskEncryptionSetParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managedDisk." + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." - }, - "caching": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "diskSizeGB": { + "lun": { "oneOf": [ { "type": "integer" @@ -3128,46 +3294,44 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "storageAccountType": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS", - "StandardSSD_LRS", - "UltraSSD_LRS" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + ] }, - "diskEncryptionSet": { + "snapshot": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSetParameters" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the customer managed disk encryption set resource id for the managed image disk." + ] }, - "lun": { + "storageAccountType": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." } }, "required": [ @@ -3202,28 +3366,6 @@ "ImageOSDisk": { "type": "object", "properties": { - "snapshot": { - "oneOf": [ - { - "$ref": "#/definitions/SubResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The snapshot." - }, - "managedDisk": { - "oneOf": [ - { - "$ref": "#/definitions/SubResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The managedDisk." - }, "blobUri": { "type": "string", "description": "The Virtual Hard Disk." @@ -3244,6 +3386,17 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, "diskSizeGB": { "oneOf": [ { @@ -3255,33 +3408,30 @@ ], "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "storageAccountType": { + "managedDisk": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard_LRS", - "Premium_LRS", - "StandardSSD_LRS", - "UltraSSD_LRS" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + ] }, - "diskEncryptionSet": { + "osState": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSetParameters" + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the customer managed disk encryption set resource id for the managed image disk." + "description": "The OS State." }, "osType": { "oneOf": [ @@ -3298,67 +3448,78 @@ ], "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." }, - "osState": { + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { "oneOf": [ { "type": "string", "enum": [ - "Generalized", - "Specialized" + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The OS State." + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." } }, "required": [ - "osType", - "osState" + "osState", + "osType" ], "description": "Describes an Operating System disk." }, "ImageProperties": { "type": "object", "properties": { - "sourceVirtualMachine": { + "hyperVGeneration": { "oneOf": [ { - "$ref": "#/definitions/SubResource" - }, - { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source virtual machine from which Image is created." + "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image." }, - "storageProfile": { + "sourceVirtualMachine": { "oneOf": [ { - "$ref": "#/definitions/ImageStorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "hyperVGeneration": { + "storageProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "V1", - "V2" - ] + "$ref": "#/definitions/ImageStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image." + "description": "Describes a storage profile." } }, "description": "Describes the properties of an Image." @@ -3370,13 +3531,13 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "The product ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." @@ -3388,14 +3549,14 @@ "type": "string", "description": "Resource Id" }, - "publisher": { - "type": "string", - "description": "The image publisher." - }, "offer": { "type": "string", "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, "sku": { "type": "string", "description": "The image SKU." @@ -3405,35 +3566,35 @@ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." } }, - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set" }, "ImageStorageProfile": { "type": "object", "properties": { - "osDisk": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageOSDisk" + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ImageDataDisk" - } + "$ref": "#/definitions/ImageOSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Describes an Operating System disk." }, "zoneResilient": { "oneOf": [ @@ -3456,6 +3617,10 @@ "type": "string", "description": "The status code." }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, "level": { "oneOf": [ { @@ -3472,10 +3637,6 @@ ], "description": "The level code." }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, "message": { "type": "string", "description": "The detailed status message, including for alerts and error messages." @@ -3491,6 +3652,10 @@ "KeyVaultAndKeyReference": { "type": "object", "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, "sourceVault": { "oneOf": [ { @@ -3500,22 +3665,22 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "keyUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, "required": [ - "sourceVault", - "keyUrl" + "keyUrl", + "sourceVault" ], "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" }, "KeyVaultAndSecretReference": { "type": "object", "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, "sourceVault": { "oneOf": [ { @@ -3525,16 +3690,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource id of the KeyVault containing the key or secret" - }, - "secretUrl": { - "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" } }, "required": [ - "sourceVault", - "secretUrl" + "secretUrl", + "sourceVault" ], "description": "Key Vault Secret Url and vault id of the encryption key " }, @@ -3553,8 +3714,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the key." + ] } }, "required": [ @@ -3578,8 +3738,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing the secret." + ] } }, "required": [ @@ -3602,27 +3761,27 @@ ], "description": "Specifies whether password authentication should be disabled." }, - "ssh": { + "provisionVMAgent": { "oneOf": [ { - "$ref": "#/definitions/SshConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ssh key configuration for a Linux OS." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, - "provisionVMAgent": { + "ssh": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SshConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "SSH configuration for Linux based VMs running on Azure" } }, "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." @@ -3630,6 +3789,17 @@ "ManagedDiskParameters": { "type": "object", "properties": { + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, "id": { "type": "string", "description": "Resource Id" @@ -3650,17 +3820,6 @@ } ], "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." - }, - "diskEncryptionSet": { - "oneOf": [ - { - "$ref": "#/definitions/DiskEncryptionSetParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the customer managed disk encryption set resource id for the managed disk." } }, "description": "The parameters of a managed disk." @@ -3680,7 +3839,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a network interface reference properties." } }, "description": "Describes a network interface reference." @@ -3725,133 +3885,133 @@ "OSDisk": { "type": "object", "properties": { - "osType": { + "caching": { "oneOf": [ { "type": "string", "enum": [ - "Windows", - "Linux" + "None", + "ReadOnly", + "ReadWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "encryptionSettings": { + "createOption": { "oneOf": [ { - "$ref": "#/definitions/DiskEncryptionSettings" + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" - }, - "name": { - "type": "string", - "description": "The disk name." + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, - "vhd": { + "diffDiskSettings": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/DiffDiskSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual hard disk." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, - "image": { + "diskSizeGB": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "caching": { + "encryptionSettings": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ] + "$ref": "#/definitions/DiskEncryptionSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "Describes a Encryption Settings for a Disk" }, - "writeAcceleratorEnabled": { + "image": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Describes the uri of a disk." }, - "diffDiskSettings": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/DiffDiskSettings" + "$ref": "#/definitions/ManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + "description": "The parameters of a managed disk." }, - "createOption": { + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { "oneOf": [ { "type": "string", "enum": [ - "FromImage", - "Empty", - "Attach" + "Windows", + "Linux" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, - "diskSizeGB": { + "vhd": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + "description": "Describes the uri of a disk." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/ManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -3862,32 +4022,32 @@ "OSProfile": { "type": "object", "properties": { - "computerName": { - "type": "string", - "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." - }, - "adminUsername": { - "type": "string", - "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" - }, "adminPassword": { "type": "string", "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, - "customData": { + "adminUsername": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specifies the name of the administrator account.

    This property cannot be updated after the VM is created.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { + "allowExtensionOperations": { "oneOf": [ { - "$ref": "#/definitions/WindowsConfiguration" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies Windows operating system settings on the virtual machine." + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    **Note: Do not pass any secrets or passwords in customData property**

    This property cannot be updated after the VM is created.

    customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://docs.microsoft.com/azure/virtual-machines/custom-data)

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, "linuxConfiguration": { "oneOf": [ @@ -3900,44 +4060,44 @@ ], "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." }, - "secrets": { + "requireGuestProvisionSignal": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VaultSecretGroup" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies set of certificates that should be installed onto the virtual machine." + "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine." }, - "allowExtensionOperations": { + "secrets": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + "description": "Specifies set of certificates that should be installed onto the virtual machine." }, - "requireGuestProvisionSignal": { + "windowsConfiguration": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/WindowsConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether the guest provision signal is required from the virtual machine." + "description": "Specifies Windows operating system settings on the virtual machine." } }, - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." }, "Plan": { "type": "object", @@ -3946,10 +4106,6 @@ "type": "string", "description": "The plan ID." }, - "publisher": { - "type": "string", - "description": "The publisher ID." - }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." @@ -3957,6 +4113,10 @@ "promotionCode": { "type": "string", "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." } }, "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." @@ -3964,20 +4124,31 @@ "ProximityPlacementGroupProperties": { "type": "object", "properties": { - "proximityPlacementGroupType": { + "colocationStatus": { "oneOf": [ { - "type": "string", - "enum": [ - "Standard", - "Ultra" - ] + "$ref": "#/definitions/InstanceViewStatus" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + "description": "Instance view status." + }, + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." } }, "description": "Describes the properties of a Proximity Placement Group." @@ -3985,7 +4156,7 @@ "RecommendedMachineConfiguration": { "type": "object", "properties": { - "vCPUs": { + "memory": { "oneOf": [ { "$ref": "#/definitions/ResourceRange" @@ -3993,9 +4164,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the resource range." }, - "memory": { + "vCPUs": { "oneOf": [ { "$ref": "#/definitions/ResourceRange" @@ -4003,7 +4175,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the resource range." } }, "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." @@ -4011,7 +4184,7 @@ "ResourceRange": { "type": "object", "properties": { - "min": { + "max": { "oneOf": [ { "type": "integer" @@ -4020,9 +4193,9 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The minimum number of the resource." + "description": "The maximum number of the resource." }, - "max": { + "min": { "oneOf": [ { "type": "integer" @@ -4031,7 +4204,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The maximum number of the resource." + "description": "The minimum number of the resource." } }, "description": "Describes the resource range." @@ -4121,22 +4294,13 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies Terminate Scheduled Event related configurations." + ] } } }, "Sku": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The sku name." - }, - "tier": { - "type": "string", - "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" - }, "capacity": { "oneOf": [ { @@ -4147,75 +4311,79 @@ } ], "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" } }, - "description": "Describes a virtual machine scale set sku." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, "SnapshotProperties": { "type": "object", "properties": { - "osType": { + "creationData": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/CreationData" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Operating System type." + "description": "Data used when creating a disk." }, - "hyperVGeneration": { + "diskSizeGB": { "oneOf": [ { - "type": "string", - "enum": [ - "V1", - "V2" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, - "creationData": { + "encryption": { "oneOf": [ { - "$ref": "#/definitions/CreationData" + "$ref": "#/definitions/Encryption" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + "description": "Encryption at rest settings for disk or snapshot" }, - "diskSizeGB": { + "encryptionSettingsCollection": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/EncryptionSettingsCollection" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "Encryption settings for disk or snapshot" }, - "encryptionSettingsCollection": { + "hyperVGeneration": { "oneOf": [ { - "$ref": "#/definitions/EncryptionSettingsCollection" + "type": "string", + "enum": [ + "V1", + "V2" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." }, "incremental": { "oneOf": [ @@ -4228,16 +4396,20 @@ ], "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." }, - "encryption": { + "osType": { "oneOf": [ { - "$ref": "#/definitions/Encryption" + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + "description": "The Operating System type." } }, "required": [ @@ -4300,13 +4472,13 @@ "SshPublicKey": { "type": "object", "properties": { - "path": { - "type": "string", - "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" - }, "keyData": { "type": "string", "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -4314,41 +4486,41 @@ "StorageProfile": { "type": "object", "properties": { - "imageReference": { + "dataDisks": { "oneOf": [ { - "$ref": "#/definitions/ImageReference" + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "osDisk": { + "imageReference": { "oneOf": [ { - "$ref": "#/definitions/OSDisk" + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set" }, - "dataDisks": { + "osDisk": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DataDisk" - } + "$ref": "#/definitions/OSDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." } }, "description": "Specifies the storage settings for the virtual machine disks." @@ -4404,10 +4576,6 @@ "TerminateNotificationProfile": { "type": "object", "properties": { - "notBeforeTimeout": { - "type": "string", - "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" - }, "enable": { "oneOf": [ { @@ -4418,12 +4586,27 @@ } ], "description": "Specifies whether the Terminate Scheduled event is enabled or disabled." + }, + "notBeforeTimeout": { + "type": "string", + "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" } } }, "UpgradePolicy": { "type": "object", "properties": { + "automaticOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, "mode": { "oneOf": [ { @@ -4450,17 +4633,6 @@ } ], "description": "The configuration parameters used while performing a rolling upgrade." - }, - "automaticOSUpgradePolicy": { - "oneOf": [ - { - "$ref": "#/definitions/AutomaticOSUpgradePolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Configuration parameters used for performing automatic OS Upgrade." } }, "description": "Describes an upgrade policy - automatic, manual, or rolling." @@ -4483,16 +4655,20 @@ ], "description": "The source image from which the Image Version is going to be created." }, + "UserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VaultCertificate": { "type": "object", "properties": { - "certificateUrl": { - "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" - }, "certificateStore": { "type": "string", "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -4508,8 +4684,7 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + ] }, "vaultCertificates": { "oneOf": [ @@ -4545,15 +4720,7 @@ "type": "string", "description": "The virtual machine extension name." }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, - "substatuses": { + "statuses": { "oneOf": [ { "type": "array", @@ -4567,7 +4734,7 @@ ], "description": "The resource status information." }, - "statuses": { + "substatuses": { "oneOf": [ { "type": "array", @@ -4580,20 +4747,6 @@ } ], "description": "The resource status information." - } - }, - "description": "The instance view of a virtual machine extension." - }, - "VirtualMachineExtensionProperties": { - "type": "object", - "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." }, "type": { "type": "string", @@ -4602,7 +4755,13 @@ "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the script handler." - }, + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { "autoUpgradeMinorVersion": { "oneOf": [ { @@ -4614,11 +4773,9 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." - }, - "protectedSettings": { - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, "instanceView": { "oneOf": [ @@ -4629,7 +4786,29 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine extension instance view." + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Extension." @@ -4638,12 +4817,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." }, @@ -4652,8 +4838,9 @@ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/VirtualMachineIdentityUserAssignedIdentitiesValue" - } + "$ref": "#/definitions/UserAssignedIdentitiesValue" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4664,77 +4851,79 @@ }, "description": "Identity for the virtual machine." }, - "VirtualMachineIdentityUserAssignedIdentitiesValue": {}, "VirtualMachineProperties": { "type": "object", "properties": { - "hardwareProfile": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the hardware settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "storageProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "additionalCapabilities": { + "billingProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/BillingProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine." + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." }, - "osProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "networkProfile": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/NetworkProfile" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the network interfaces of the virtual machine." + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, the only supported value is 'Deallocate' and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." }, - "diagnosticsProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the hardware settings for the virtual machine." }, - "availabilitySet": { + "host": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -4742,30 +4931,33 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.

    This property cannot exist along with a non-null properties.virtualMachineScaleSet reference." + ] }, - "virtualMachineScaleSet": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/NetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

    This property cannot exist along with a non-null properties.availabilitySet reference.

    Minimum api‐version: 2019‐03‐01" + "description": "Specifies the network interfaces of the virtual machine." }, - "proximityPlacementGroup": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.

    Minimum api-version: 2018-04-01." + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." }, "priority": { "oneOf": [ @@ -4783,33 +4975,28 @@ ], "description": "Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01." }, - "evictionPolicy": { + "proximityPlacementGroup": { "oneOf": [ { - "type": "string", - "enum": [ - "Deallocate", - "Delete" - ] + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the eviction policy for the Azure Spot virtual machine. Only supported value is 'Deallocate'.

    Minimum api-version: 2019-03-01." + ] }, - "billingProfile": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/BillingProfile" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the billing related details of a Azure Spot virtual machine.

    Minimum api-version: 2019-03-01." + "description": "Specifies the storage settings for the virtual machine disks." }, - "host": { + "virtualMachineScaleSet": { "oneOf": [ { "$ref": "#/definitions/SubResource" @@ -4817,231 +5004,67 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies information about the dedicated host that the virtual machine resides in.

    Minimum api-version: 2018-10-01." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" - } - }, - "description": "Describes the properties of a Virtual Machine." - }, - "virtualMachines_extensions_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-07-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags" - }, - "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" - } ] } }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "properties" - ], - "description": "Microsoft.Compute/virtualMachines/extensions" + "description": "Describes the properties of a Virtual Machine." }, "VirtualMachineScaleSetDataDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, - "lun": { + "caching": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "caching": { + "createOption": { "oneOf": [ { "type": "string", "enum": [ - "None", - "ReadOnly", - "ReadWrite" + "FromImage", + "Empty", + "Attach" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + "description": "The create option." }, - "writeAcceleratorEnabled": { + "diskIOPSReadWrite": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." }, - "createOption": { + "diskMBpsReadWrite": { "oneOf": [ { - "type": "string", - "enum": [ - "FromImage", - "Empty", - "Attach" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The create option." + "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." }, "diskSizeGB": { "oneOf": [ @@ -5054,43 +5077,47 @@ ], "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "managedDisk": { + "lun": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." }, - "diskIOPSReadWrite": { + "managedDisk": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + "description": "Describes the parameters of a ScaleSet managed disk." }, - "diskMBpsReadWrite": { + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ - "lun", - "createOption" + "createOption", + "lun" ], "description": "Describes a virtual machine scale set data disk." }, @@ -5102,113 +5129,15 @@ "description": "The name of the extension." }, "properties": { - "anyOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/genericExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/iaaSDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/iaaSAntimalware" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/customScriptExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/customScriptForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/linuxDiagnostic" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/bgInfo" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/vmAccessAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dscExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackupLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/acronisBackup" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/linuxChefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/chefClient" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/datadogLinuxAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/datadogWindowsAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dockerExtension" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/dynatraceWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/eset" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/hpeSecurityApplicationDefender" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/puppetAgent" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/site24x7LinuxServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/site24x7WindowsServerExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/site24x7ApmInsightExtn" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSALinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/trendMicroDSA" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/bmcCtmAgentWindows" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/OSPatchingForLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshot" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/VMSnapshotLinux" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/customScript" - }, + "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentWindows" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Compute.Extensions.json#/definitions/networkWatcherAgentLinux" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." } }, "description": "Describes a Virtual Machine Scale Set Extension." @@ -5236,22 +5165,6 @@ "VirtualMachineScaleSetExtensionProperties": { "type": "object", "properties": { - "forceUpdateTag": { - "type": "string", - "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." - }, - "publisher": { - "type": "string", - "description": "The name of the extension handler publisher." - }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." - }, "autoUpgradeMinorVersion": { "oneOf": [ { @@ -5263,10 +5176,13 @@ ], "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, - "settings": { - "description": "Json formatted public settings for the extension." + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." }, "protectedSettings": { + "type": "object", + "properties": {}, "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." }, "provisionAfterExtensions": { @@ -5282,6 +5198,23 @@ } ], "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -5290,12 +5223,19 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." }, @@ -5305,7 +5245,8 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5316,7 +5257,10 @@ }, "description": "Identity for the virtual machine scale set." }, - "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": {}, + "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, "VirtualMachineScaleSetIPConfiguration": { "type": "object", "properties": { @@ -5336,7 +5280,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." } }, "required": [ @@ -5347,109 +5292,109 @@ "VirtualMachineScaleSetIPConfigurationProperties": { "type": "object", "properties": { - "subnet": { + "applicationGatewayBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/ApiEntityReference" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the identifier of the subnet." + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." }, - "primary": { + "applicationSecurityGroups": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Specifies an array of references to application security group." }, - "publicIPAddressConfiguration": { + "loadBalancerBackendAddressPools": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The publicIPAddressConfiguration." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." }, - "privateIPAddressVersion": { + "loadBalancerInboundNatPools": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" }, - "applicationGatewayBackendAddressPools": { + "primary": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "applicationSecurityGroups": { + "privateIPAddressVersion": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to application security group." + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." }, - "loadBalancerBackendAddressPools": { + "publicIPAddressConfiguration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" }, - "loadBalancerInboundNatPools": { + "subnet": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - } + "$ref": "#/definitions/ApiEntityReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + "description": "The API entity reference." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -5471,6 +5416,17 @@ "VirtualMachineScaleSetManagedDiskParameters": { "type": "object", "properties": { + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, "storageAccountType": { "oneOf": [ { @@ -5487,17 +5443,6 @@ } ], "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." - }, - "diskEncryptionSet": { - "oneOf": [ - { - "$ref": "#/definitions/DiskEncryptionSetParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies the customer managed disk encryption set resource id for the managed disk." } }, "description": "Describes the parameters of a ScaleSet managed disk." @@ -5521,7 +5466,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." } }, "required": [ @@ -5552,16 +5498,16 @@ "VirtualMachineScaleSetNetworkConfigurationProperties": { "type": "object", "properties": { - "primary": { + "dnsSettings": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, "enableAcceleratedNetworking": { "oneOf": [ @@ -5574,43 +5520,42 @@ ], "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "networkSecurityGroup": { + "enableIPForwarding": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The network security group." + "description": "Whether IP forwarding enabled on this NIC." }, - "dnsSettings": { + "ipConfigurations": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the network interfaces." + "description": "Specifies the IP configurations of the network interface." }, - "ipConfigurations": { + "networkSecurityGroup": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" - } + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the IP configurations of the network interface." + ] }, - "enableIPForwarding": { + "primary": { "oneOf": [ { "type": "boolean" @@ -5619,7 +5564,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether IP forwarding enabled on this NIC." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." } }, "required": [ @@ -5639,7 +5584,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + "description": "The API entity reference." }, "networkInterfaceConfigurations": { "oneOf": [ @@ -5661,10 +5606,6 @@ "VirtualMachineScaleSetOSDisk": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The disk name." - }, "caching": { "oneOf": [ { @@ -5681,17 +5622,6 @@ ], "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." }, - "writeAcceleratorEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." - }, "createOption": { "oneOf": [ { @@ -5717,7 +5647,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." }, "diskSizeGB": { "oneOf": [ @@ -5730,31 +5660,46 @@ ], "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" }, - "osType": { + "image": { "oneOf": [ { - "type": "string", - "enum": [ - "Windows", - "Linux" - ] + "$ref": "#/definitions/VirtualHardDisk" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + "description": "Describes the uri of a disk." }, - "image": { + "managedDisk": { "oneOf": [ { - "$ref": "#/definitions/VirtualHardDisk" + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the unmanaged user image to base the scale set on." + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." }, "vhdContainers": { "oneOf": [ @@ -5770,16 +5715,16 @@ ], "description": "Specifies the container urls that are used to store operating system disks for the scale set." }, - "managedDisk": { + "writeAcceleratorEnabled": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed disk parameters." + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." } }, "required": [ @@ -5790,33 +5735,22 @@ "VirtualMachineScaleSetOSProfile": { "type": "object", "properties": { - "computerNamePrefix": { + "adminPassword": { "type": "string", - "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" }, "adminUsername": { "type": "string", "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "adminPassword": { + "computerNamePrefix": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." }, "customData": { "type": "string", "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" }, - "windowsConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/WindowsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies Windows operating system settings on the virtual machine." - }, "linuxConfiguration": { "oneOf": [ { @@ -5841,6 +5775,17 @@ } ], "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." } }, "description": "Describes a virtual machine scale set OS profile." @@ -5848,16 +5793,16 @@ "VirtualMachineScaleSetProperties": { "type": "object", "properties": { - "upgradePolicy": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/UpgradePolicy" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The upgrade policy." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, "automaticRepairsPolicy": { "oneOf": [ @@ -5868,18 +5813,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Policy for automatic repairs." + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." }, - "virtualMachineProfile": { + "doNotRunExtensionsOnOverprovisionedVMs": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The virtual machine profile." + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." }, "overprovision": { "oneOf": [ @@ -5892,82 +5837,81 @@ ], "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, - "doNotRunExtensionsOnOverprovisionedVMs": { + "platformFaultDomainCount": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + "description": "Fault Domain count for each placement group." }, - "singlePlacementGroup": { + "proximityPlacementGroup": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + ] }, - "zoneBalance": { + "scaleInPolicy": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/ScaleInPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + "description": "Describes a scale-in policy for a virtual machine scale set." }, - "platformFaultDomainCount": { + "singlePlacementGroup": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fault Domain count for each placement group." + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." }, - "proximityPlacementGroup": { + "upgradePolicy": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/UpgradePolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

    Minimum api-version: 2018-04-01." + "description": "Describes an upgrade policy - automatic, manual, or rolling." }, - "additionalCapabilities": { + "virtualMachineProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "description": "Describes a virtual machine scale set virtual machine profile." }, - "scaleInPolicy": { + "zoneBalance": { "oneOf": [ { - "$ref": "#/definitions/ScaleInPolicy" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in." + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -5987,7 +5931,8 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" } }, "required": [ @@ -6011,27 +5956,27 @@ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { "type": "object", "properties": { - "idleTimeoutInMinutes": { + "dnsSettings": { "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The idle timeout of the public IP address." + "description": "Describes a virtual machines scale sets network configuration's DNS settings." }, - "dnsSettings": { + "idleTimeoutInMinutes": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The dns settings to be applied on the publicIP addresses ." + "description": "The idle timeout of the public IP address." }, "ipTags": { "oneOf": [ @@ -6047,6 +5992,21 @@ ], "description": "The list of IP tags associated with the public IP address." }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + }, "publicIPPrefix": { "oneOf": [ { @@ -6055,45 +6015,66 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "The PublicIPPrefix from which to allocate publicIP addresses." + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "publicIPAddressVersion": { + "imageReference": { "oneOf": [ { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] + "$ref": "#/definitions/ImageReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set" + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." } }, - "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + "description": "Describes a virtual machine scale set storage profile." }, "virtualMachineScaleSets_extensions_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "extensions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-07-01" ] }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, "properties": { "oneOf": [ { @@ -6102,29 +6083,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" }, "virtualMachineScaleSets_virtualmachines_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "virtualmachines" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -6135,19 +6114,20 @@ "type": "string", "description": "Resource location" }, - "tags": { + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Plan" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags" + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." }, "properties": { "oneOf": [ @@ -6157,70 +6137,98 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." }, - "plan": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/Plan" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "virtualmachines" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" }, - "VirtualMachineScaleSetStorageProfile": { + "virtualMachineScaleSets_virtualMachines_extensions_childResource": { "type": "object", "properties": { - "imageReference": { - "oneOf": [ - { - "$ref": "#/definitions/ImageReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] }, - "osDisk": { + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Describes the properties of a Virtual Machine Extension." }, - "dataDisks": { + "tags": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" - } + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] } }, - "description": "Describes a virtual machine scale set storage profile." + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" }, "VirtualMachineScaleSetVMNetworkProfileConfiguration": { "type": "object", @@ -6245,117 +6253,116 @@ "VirtualMachineScaleSetVMProfile": { "type": "object", "properties": { - "osProfile": { + "billingProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + "$ref": "#/definitions/BillingProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machines in the scale set." + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." }, - "storageProfile": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "networkProfile": { + "evictionPolicy": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, the only supported value is 'Deallocate' and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." }, - "diagnosticsProfile": { + "extensionProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Describes a virtual machine scale set extension profile." }, - "extensionProfile": { + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Describes a virtual machine scale set network profile." }, - "priority": { + "osProfile": { "oneOf": [ { - "type": "string", - "enum": [ - "Regular", - "Low", - "Spot" - ] + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." + "description": "Describes a virtual machine scale set OS profile." }, - "evictionPolicy": { + "priority": { "oneOf": [ { "type": "string", "enum": [ - "Deallocate", - "Delete" + "Regular", + "Low", + "Spot" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the eviction policy for virtual machines in a Azure Spot scale set.

    Minimum api-version: 2017-10-30-preview." + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." }, - "billingProfile": { + "scheduledEventsProfile": { "oneOf": [ { - "$ref": "#/definitions/BillingProfile" + "$ref": "#/definitions/ScheduledEventsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the billing related details of a Azure Spot VMSS.

    Minimum api-version: 2019-03-01." + ] }, - "scheduledEventsProfile": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/ScheduledEventsProfile" + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies Scheduled Event related configurations." + "description": "Describes a virtual machine scale set storage profile." } }, "description": "Describes a virtual machine scale set virtual machine profile." @@ -6363,49 +6370,52 @@ "VirtualMachineScaleSetVMProperties": { "type": "object", "properties": { - "hardwareProfile": { + "additionalCapabilities": { "oneOf": [ { - "$ref": "#/definitions/HardwareProfile" + "$ref": "#/definitions/AdditionalCapabilities" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the hardware settings for the virtual machine." + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." }, - "storageProfile": { + "availabilitySet": { "oneOf": [ { - "$ref": "#/definitions/StorageProfile" + "$ref": "#/definitions/SubResource" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies the storage settings for the virtual machine disks." + ] }, - "additionalCapabilities": { + "diagnosticsProfile": { "oneOf": [ { - "$ref": "#/definitions/AdditionalCapabilities" + "$ref": "#/definitions/DiagnosticsProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, - "osProfile": { + "hardwareProfile": { "oneOf": [ { - "$ref": "#/definitions/OSProfile" + "$ref": "#/definitions/HardwareProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" }, "networkProfile": { "oneOf": [ @@ -6427,44 +6437,40 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the network profile configuration of the virtual machine." + "description": "Describes a virtual machine scale set VM network profile." }, - "diagnosticsProfile": { + "osProfile": { "oneOf": [ { - "$ref": "#/definitions/DiagnosticsProfile" + "$ref": "#/definitions/OSProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." }, - "availabilitySet": { + "protectionPolicy": { "oneOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." - }, - "licenseType": { - "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "The protection policy of a virtual machine scale set VM." }, - "protectionPolicy": { + "storageProfile": { "oneOf": [ { - "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy" + "$ref": "#/definitions/StorageProfile" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the protection policy of the virtual machine." + "description": "Specifies the storage settings for the virtual machine disks." } }, "description": "Describes the properties of a virtual machine scale set virtual machine." @@ -6497,35 +6503,68 @@ }, "description": "The protection policy of a virtual machine scale set VM." }, - "WindowsConfiguration": { + "virtualMachines_extensions_childResource": { "type": "object", "properties": { - "provisionVMAgent": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/VirtualMachineExtensionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Describes the properties of a Virtual Machine Extension." }, - "enableAutomaticUpdates": { + "tags": { "oneOf": [ { - "type": "boolean" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + "description": "Resource tags" }, - "timeZone": { + "type": { "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" - }, + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { "additionalUnattendContent": { "oneOf": [ { @@ -6540,6 +6579,32 @@ ], "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".

    Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)." + }, "winRM": { "oneOf": [ { @@ -6549,7 +6614,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." + "description": "Describes Windows Remote Management configuration of the VM" } }, "description": "Specifies Windows operating system settings on the virtual machine." @@ -6577,6 +6642,10 @@ "WinRMListener": { "type": "object", "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, "protocol": { "oneOf": [ { @@ -6590,11 +6659,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies the protocol of listener.

    Possible values are:
    **http**

    **https**." - }, - "certificateUrl": { - "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + "description": "Specifies the protocol of WinRM listener.

    Possible values are:
    **http**

    **https**." } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" diff --git a/schemas/2019-07-19-preview/Microsoft.Capacity.json b/schemas/2019-07-19-preview/Microsoft.Capacity.json index 34c853eab9..a634dafa80 100644 --- a/schemas/2019-07-19-preview/Microsoft.Capacity.json +++ b/schemas/2019-07-19-preview/Microsoft.Capacity.json @@ -302,4 +302,4 @@ "description": "The SupportRequest action." } } -} \ No newline at end of file +} diff --git a/schemas/2019-10-01-preview/Microsoft.Migrate.json b/schemas/2019-10-01-preview/Microsoft.Migrate.json new file mode 100644 index 0000000000..4a1e94fd5e --- /dev/null +++ b/schemas/2019-10-01-preview/Microsoft.Migrate.json @@ -0,0 +1,939 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Migrate", + "description": "Microsoft Migrate Resource Types", + "resourceDefinitions": { + "moveCollections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the MSI properties of the Move Collection." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives." + }, + "name": { + "type": "string", + "description": "The Move Collection Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveCollectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move collection properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/moveCollections_moveResources_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.Migrate/moveCollections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections" + }, + "moveCollections_moveResources": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The Move Resource Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move resource properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Migrate/moveCollections/moveResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections/moveResources" + } + }, + "definitions": { + "AvailabilitySetResourceSettings": { + "type": "object", + "properties": { + "faultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target fault domain." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] + }, + "updateDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 20 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target update domain." + } + }, + "required": [ + "resourceType" + ], + "description": "Gets or sets the availability set resource settings." + }, + "Identity": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "Gets or sets the principal id." + }, + "tenantId": { + "type": "string", + "description": "Gets or sets the tenant id." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Defines the MSI properties of the Move Collection." + }, + "LBBackendAddressPoolResourceSettings": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the backend address pool name." + } + }, + "description": "Defines load balancer backend address pool properties." + }, + "LBFrontendIPConfigurationResourceSettings": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the frontend IP configuration name." + }, + "privateIpAddress": { + "type": "string", + "description": "Gets or sets the IP address of the Load Balancer.This is only specified if a specific\r\nprivate IP address shall be allocated from the subnet specified in subnetRef." + }, + "privateIpAllocationMethod": { + "type": "string", + "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to subnet." + }, + "zones": { + "type": "string", + "description": "Gets or sets the csv list of zones." + } + }, + "description": "Defines load balancer frontend IP configuration properties." + }, + "LoadBalancerBackendAddressPoolReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to load balancer backend address pools." + }, + "LoadBalancerResourceSettings": { + "type": "object", + "properties": { + "backendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LBBackendAddressPoolResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the backend address pools of the load balancer." + }, + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LBFrontendIPConfigurationResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the frontend IP configurations of the load balancer." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/loadBalancers" + ] + }, + "sku": { + "type": "string", + "description": "Gets or sets load balancer sku (Basic/Standard)." + }, + "zones": { + "type": "string", + "description": "Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given\r\n precedence only if frontend IP configurations settings are not present." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the load balancer resource settings." + }, + "MoveCollectionProperties": { + "type": "object", + "properties": { + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourceRegion": { + "type": "string", + "description": "Gets or sets the source region." + }, + "targetRegion": { + "type": "string", + "description": "Gets or sets the target region." + } + }, + "required": [ + "sourceRegion", + "targetRegion" + ], + "description": "Defines the move collection properties." + }, + "moveCollections_moveResources_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The Move Resource Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move resource properties." + }, + "type": { + "type": "string", + "enum": [ + "moveResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections/moveResources" + }, + "MoveResourceDependencyOverride": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the ARM ID of the dependent resource." + }, + "targetId": { + "type": "string", + "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource." + } + }, + "description": "Defines the dependency override of the move resource." + }, + "MoveResourceProperties": { + "type": "object", + "properties": { + "dependsOnOverrides": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MoveResourceDependencyOverride" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the move resource dependencies overrides." + }, + "existingTargetId": { + "type": "string", + "description": "Gets or sets the existing target ARM Id of the resource." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the resource settings." + }, + "sourceId": { + "type": "string", + "description": "Gets or sets the Source ARM Id of the resource." + } + }, + "required": [ + "sourceId" + ], + "description": "Defines the move resource properties." + }, + "NetworkInterfaceResourceSettings": { + "type": "object", + "properties": { + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether accelerated networking is enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NicIpConfigurationResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the IP configurations of the NIC." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/networkInterfaces" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the network interface resource settings." + }, + "NetworkSecurityGroupResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/networkSecurityGroups" + ] + }, + "securityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NsgSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets Security rules of network security group." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the NSG resource settings." + }, + "NicIpConfigurationResourceSettings": { + "type": "object", + "properties": { + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the references of the load balancer backend address pools." + }, + "name": { + "type": "string", + "description": "Gets or sets the IP configuration name." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether this IP configuration is the primary." + }, + "privateIpAddress": { + "type": "string", + "description": "Gets or sets the private IP address of the network interface IP Configuration." + }, + "privateIpAllocationMethod": { + "type": "string", + "description": "Gets or sets the private IP address allocation method." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to subnet." + } + }, + "description": "Defines NIC IP configuration properties." + }, + "NsgSecurityRule": { + "type": "object", + "properties": { + "access": { + "type": "string", + "description": "Gets or sets whether network traffic is allowed or denied.\r\nPossible values are “Allow” and “Deny”." + }, + "description": { + "type": "string", + "description": "Gets or sets a description for this rule. Restricted to 140 chars." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "Gets or sets destination address prefix. CIDR or source IP range.\r\n A “*” can also be used to match all source IPs. Default tags such\r\nas ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used." + }, + "destinationPortRange": { + "type": "string", + "description": "Gets or sets Destination Port or Range. Integer or range between\r\n0 and 65535. A “*” can also be used to match all ports." + }, + "direction": { + "type": "string", + "description": "Gets or sets the direction of the rule.InBound or Outbound. The\r\ndirection specifies if rule will be evaluated on incoming or outgoing traffic." + }, + "name": { + "type": "string", + "description": "Gets or sets the Security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the priority of the rule. The value can be between\r\n100 and 4096. The priority number must be unique for each rule in the collection.\r\nThe lower the priority number, the higher the priority of the rule." + }, + "protocol": { + "type": "string", + "description": "Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*)." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "Gets or sets source address prefix. CIDR or source IP range. A\r\n“*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’,\r\n‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress\r\nrule, specifies where network traffic originates from." + }, + "sourcePortRange": { + "type": "string", + "description": "Gets or sets Source Port or Range. Integer or range between 0 and\r\n65535. A “*” can also be used to match all ports." + } + }, + "description": "Security Rule data model for Network Security Groups." + }, + "PublicIPAddressResourceSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "Gets or sets the domain name label." + }, + "fQDN": { + "type": "string", + "description": "Gets or sets the fully qualified domain name." + }, + "publicIpAllocationMethod": { + "type": "string", + "description": "Gets or sets public IP allocation method." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/publicIPAddresses" + ] + }, + "sku": { + "type": "string", + "description": "Gets or sets public IP sku." + }, + "zones": { + "type": "string", + "description": "Gets or sets public IP zones." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the public IP address resource settings." + }, + "ResourceGroupResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "resourceGroups" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the resource group resource settings." + }, + "ResourceSettings": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineResourceSettings" + }, + { + "$ref": "#/definitions/AvailabilitySetResourceSettings" + }, + { + "$ref": "#/definitions/VirtualNetworkResourceSettings" + }, + { + "$ref": "#/definitions/NetworkInterfaceResourceSettings" + }, + { + "$ref": "#/definitions/NetworkSecurityGroupResourceSettings" + }, + { + "$ref": "#/definitions/LoadBalancerResourceSettings" + }, + { + "$ref": "#/definitions/SqlServerResourceSettings" + }, + { + "$ref": "#/definitions/SqlElasticPoolResourceSettings" + }, + { + "$ref": "#/definitions/SqlDatabaseResourceSettings" + }, + { + "$ref": "#/definitions/ResourceGroupResourceSettings" + }, + { + "$ref": "#/definitions/PublicIPAddressResourceSettings" + } + ], + "properties": { + "targetResourceName": { + "type": "string", + "description": "Gets or sets the target Resource name." + } + }, + "required": [ + "targetResourceName" + ], + "description": "Gets or sets the resource settings." + }, + "SqlDatabaseResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the Sql Database resource settings." + }, + "SqlElasticPoolResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/elasticPools" + ] + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the Sql ElasticPool resource settings." + }, + "SqlServerResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the SQL Server resource settings." + }, + "SubnetReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to subnet." + }, + "SubnetResourceSettings": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Gets or sets address prefix for the subnet." + }, + "name": { + "type": "string", + "description": "Gets or sets the Subnet name." + } + }, + "description": "Defines the virtual network subnets resource settings." + }, + "VirtualMachineResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "Gets or sets the target availability set id for virtual machines not in an availability set at source." + }, + "targetAvailabilityZone": { + "oneOf": [ + { + "type": "string", + "enum": [ + "1", + "2", + "3", + "NA" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target availability zone." + }, + "targetVmSize": { + "type": "string", + "description": "Gets or sets the target virtual machine size." + } + }, + "required": [ + "resourceType" + ], + "description": "Gets or sets the virtual machine resource settings." + }, + "VirtualNetworkResourceSettings": { + "type": "object", + "properties": { + "addressSpace": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the address prefixes for the virtual network." + }, + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets DHCPOptions that contains an array of DNS servers available to VMs\r\ndeployed in the virtual network." + }, + "enableDdosProtection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether gets or sets whether the\r\nDDOS protection should be switched on." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualNetworks" + ] + }, + "subnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubnetResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets List of subnets in a VirtualNetwork." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the virtual network resource settings." + } + } +} \ No newline at end of file diff --git a/schemas/2019-11-01/Microsoft.Compute.json b/schemas/2019-11-01/Microsoft.Compute.json new file mode 100644 index 0000000000..8baa546e00 --- /dev/null +++ b/schemas/2019-11-01/Microsoft.Compute.json @@ -0,0 +1,795 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-11-01/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "diskEncryptionSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-11-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.Compute/diskEncryptionSets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/diskEncryptionSets" + }, + "disks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-11-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/DiskSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "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.Compute/disks" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logical zone list for Disk." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/disks" + }, + "snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-11-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "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.Compute/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/snapshots" + } + }, + "definitions": { + "CreationData": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This enumerates the possible sources of a disk's creation." + }, + "galleryImageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." + }, + "uploadSizeBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "DiskProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskIOPSReadOnly": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption at rest settings for disk or snapshot" + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "maxShares": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "DiskSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "Encryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of key used to encrypt the data of the disk." + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "EncryptionSetIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported." + } + }, + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "EncryptionSetProperties": { + "type": "object", + "properties": { + "activeKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + } + }, + "EncryptionSettingsCollection": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + }, + "description": "Encryption settings for one disk volume." + }, + "ImageDiskReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "KeyVaultAndKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption at rest settings for disk or snapshot" + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "incremental": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "SnapshotSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "SourceVault": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + } +} diff --git a/schemas/2019-12-01/Microsoft.Compute.json b/schemas/2019-12-01/Microsoft.Compute.json new file mode 100644 index 0000000000..c1db2a1110 --- /dev/null +++ b/schemas/2019-12-01/Microsoft.Compute.json @@ -0,0 +1,6087 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-12-01/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "availabilitySets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilitySetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a resource." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/availabilitySets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/availabilitySets" + }, + "galleries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Shared Image Gallery." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_images_childResource" + }, + { + "$ref": "#/definitions/galleries_applications_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.Compute/galleries" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries" + }, + "galleries_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_applications_versions_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.Compute/galleries/applications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications" + }, + "galleries_applications_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Version." + }, + "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.Compute/galleries/applications/versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications/versions" + }, + "galleries_images": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_images_versions_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.Compute/galleries/images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images" + }, + "galleries_images_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Version." + }, + "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.Compute/galleries/images/versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images/versions" + }, + "hostGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DedicatedHostGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dedicated Host Group Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/hostGroups_hosts_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.Compute/hostGroups" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/hostGroups" + }, + "hostGroups_hosts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DedicatedHostProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the dedicated host." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/hostGroups/hosts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Compute/hostGroups/hosts" + }, + "images": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of an Image." + }, + "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.Compute/images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/images" + }, + "proximityPlacementGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the proximity placement group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProximityPlacementGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Proximity Placement Group." + }, + "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.Compute/proximityPlacementGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/proximityPlacementGroups" + }, + "sshPublicKeys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the SSH public key." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SshPublicKeyResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the SSH public key." + }, + "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.Compute/sshPublicKeys" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/sshPublicKeys" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_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.Compute/virtualMachines" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine zones." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" + }, + "virtualMachineScaleSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/virtualMachineScaleSets" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set" + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachineScaleSets_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualMachines_extensions_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.Compute/virtualMachineScaleSets/virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachineScaleSets_virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachineScaleSets/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + } + }, + "definitions": { + "AdditionalCapabilities": { + "type": "object", + "properties": { + "ultraSSDEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled." + } + }, + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OobeSystem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pass name. Currently, the only allowable value is OobeSystem." + }, + "settingName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AutomaticOSUpgradePolicy": { + "type": "object", + "properties": { + "disableAutomaticRollback": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS image rollback feature should be disabled. Default value is false." + }, + "enableAutomaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." + } + }, + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "AutomaticRepairsPolicy": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." + }, + "gracePeriod": { + "type": "string", + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." + } + }, + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "virtualMachines": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references to all virtual machines in the availability set." + } + }, + "description": "The instance view of a resource." + }, + "BillingProfile": { + "type": "object", + "properties": { + "maxPrice": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

    This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

    The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

    Possible values are:

    - Any decimal value greater than zero. Example: 0.01538

    -1 – indicates default price to be up-to on-demand.

    You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

    Minimum api-version: 2019-03-01." + } + }, + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "BootDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "DataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "toBeDetached": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a data disk." + }, + "DataDiskImageEncryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "required": [ + "lun" + ], + "description": "Contains encryption settings for a data disk image." + }, + "DedicatedHostGroupProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 3 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of fault domains that the host group can span." + } + }, + "required": [ + "platformFaultDomainCount" + ], + "description": "Dedicated Host Group Properties." + }, + "DedicatedHostProperties": { + "type": "object", + "properties": { + "autoReplaceOnFailure": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided." + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Windows_Server_Hybrid", + "Windows_Server_Perpetual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

    Possible values are:

    **None**

    **Windows_Server_Hybrid**

    **Windows_Server_Perpetual**

    Default: **None**." + }, + "platformFaultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault domain of the dedicated host within a dedicated host group." + } + }, + "description": "Properties of the dedicated host." + }, + "DiagnosticsProfile": { + "type": "object", + "properties": { + "bootDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/BootDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "DiffDiskSettings": { + "type": "object", + "properties": { + "option": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Local" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the ephemeral disk settings for operating system disk." + }, + "placement": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CacheDisk", + "ResourceDisk" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the ephemeral disk placement for operating system disk.

    Possible values are:

    **CacheDisk**

    **ResourceDisk**

    Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used.

    Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk." + } + }, + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "Disallowed": { + "type": "object", + "properties": { + "diskTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "DiskEncryptionSetParameters": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Secret" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Key" + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "EncryptionImages": { + "type": "object", + "properties": { + "dataDiskImages": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImageEncryption" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of encryption specifications for data disk images." + }, + "osDiskImage": { + "oneOf": [ + { + "$ref": "#/definitions/OSDiskImageEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains encryption settings for an OS disk image." + } + }, + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "galleries_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "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": [ + "applications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications" + }, + "galleries_applications_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Version." + }, + "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": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications/versions" + }, + "galleries_images_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Definition." + }, + "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": [ + "images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images" + }, + "galleries_images_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Image Version." + }, + "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": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images/versions" + }, + "GalleryApplicationProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery Application Definition resource. This property is updatable." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Application Definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "supportedOSType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the supported type of the OS that application is built for.

    Possible values are:

    **Windows**

    **Linux**." + } + }, + "required": [ + "supportedOSType" + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "GalleryApplicationVersionProperties": { + "type": "object", + "properties": { + "publishingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The publishing profile of a gallery Image Version." + } + }, + "required": [ + "publishingProfile" + ], + "description": "Describes the properties of a gallery Image Version." + }, + "GalleryApplicationVersionPublishingProfile": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc." + }, + "enableHealthCheck": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Whether or not this application reports health." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "replicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/UserArtifactSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image from which the Image Version is going to be created." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + }, + "targetRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + } + }, + "required": [ + "source" + ], + "description": "The publishing profile of a gallery Image Version." + }, + "GalleryArtifactVersionSource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, or user image." + } + }, + "description": "The gallery artifact version source." + }, + "GalleryDataDiskImage": { + "type": "object", + "properties": { + "hostCaching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The gallery artifact version source." + } + }, + "required": [ + "lun" + ], + "description": "This is the data disk image." + }, + "GalleryIdentifier": { + "type": "object", + "properties": {}, + "description": "Describes the gallery unique name." + }, + "GalleryImageIdentifier": { + "type": "object", + "properties": { + "offer": { + "type": "string", + "description": "The name of the gallery Image Definition offer." + }, + "publisher": { + "type": "string", + "description": "The name of the gallery Image Definition publisher." + }, + "sku": { + "type": "string", + "description": "The name of the gallery Image Definition SKU." + } + }, + "required": [ + "offer", + "publisher", + "sku" + ], + "description": "This is the gallery Image Definition identifier." + }, + "GalleryImageProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery Image Definition resource. This property is updatable." + }, + "disallowed": { + "oneOf": [ + { + "$ref": "#/definitions/Disallowed" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the disallowed disk types." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Image Definition." + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "identifier": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the gallery Image Definition identifier." + }, + "osState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "purchasePlan": { + "oneOf": [ + { + "$ref": "#/definitions/ImagePurchasePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." + }, + "recommended": { + "oneOf": [ + { + "$ref": "#/definitions/RecommendedMachineConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + } + }, + "required": [ + "identifier", + "osState", + "osType" + ], + "description": "Describes the properties of a gallery Image Definition." + }, + "GalleryImageVersionProperties": { + "type": "object", + "properties": { + "publishingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionPublishingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The publishing profile of a gallery Image Version." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the storage profile of a Gallery Image Version." + } + }, + "required": [ + "storageProfile" + ], + "description": "Describes the properties of a gallery Image Version." + }, + "GalleryImageVersionPublishingProfile": { + "type": "object", + "properties": { + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Image Version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "replicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + }, + "targetRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + } + }, + "description": "The publishing profile of a gallery Image Version." + }, + "GalleryImageVersionStorageProfile": { + "type": "object", + "properties": { + "dataDiskImages": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryDataDiskImage" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of data disk images." + }, + "osDiskImage": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryOSDiskImage" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the OS disk image." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The gallery artifact version source." + } + }, + "description": "This is the storage profile of a Gallery Image Version." + }, + "GalleryOSDiskImage": { + "type": "object", + "properties": { + "hostCaching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The gallery artifact version source." + } + }, + "description": "This is the OS disk image." + }, + "GalleryProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this Shared Image Gallery resource. This property is updatable." + }, + "identifier": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryIdentifier" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the gallery unique name." + } + }, + "description": "Describes the properties of a Shared Image Gallery." + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_B1s", + "Standard_B1ms", + "Standard_B2s", + "Standard_B2ms", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D2_v3", + "Standard_D4_v3", + "Standard_D8_v3", + "Standard_D16_v3", + "Standard_D32_v3", + "Standard_D64_v3", + "Standard_D2s_v3", + "Standard_D4s_v3", + "Standard_D8s_v3", + "Standard_D16s_v3", + "Standard_D32s_v3", + "Standard_D64s_v3", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_DS13-4_v2", + "Standard_DS13-2_v2", + "Standard_DS14-8_v2", + "Standard_DS14-4_v2", + "Standard_E2_v3", + "Standard_E4_v3", + "Standard_E8_v3", + "Standard_E16_v3", + "Standard_E32_v3", + "Standard_E64_v3", + "Standard_E2s_v3", + "Standard_E4s_v3", + "Standard_E8s_v3", + "Standard_E16s_v3", + "Standard_E32s_v3", + "Standard_E64s_v3", + "Standard_E32-16_v3", + "Standard_E32-8s_v3", + "Standard_E64-32s_v3", + "Standard_E64-16s_v3", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_F2s_v2", + "Standard_F4s_v2", + "Standard_F8s_v2", + "Standard_F16s_v2", + "Standard_F32s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_GS4-8", + "Standard_GS4-4", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s", + "Standard_M64s", + "Standard_M64ms", + "Standard_M128s", + "Standard_M128ms", + "Standard_M64-32ms", + "Standard_M64-16ms", + "Standard_M128-64ms", + "Standard_M128-32ms", + "Standard_NC6", + "Standard_NC12", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC6s_v2", + "Standard_NC12s_v2", + "Standard_NC24s_v2", + "Standard_NC24rs_v2", + "Standard_NC6s_v3", + "Standard_NC12s_v3", + "Standard_NC24s_v3", + "Standard_NC24rs_v3", + "Standard_ND6s", + "Standard_ND12s", + "Standard_ND24s", + "Standard_ND24rs", + "Standard_NV6", + "Standard_NV12", + "Standard_NV24" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

    [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

    [List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

    [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)." + } + }, + "description": "Specifies the hardware settings for the virtual machine." + }, + "hostGroups_hosts_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DedicatedHostProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the dedicated host." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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": [ + "hosts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Compute/hostGroups/hosts" + }, + "ImageDataDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "required": [ + "lun" + ], + "description": "Describes a data disk." + }, + "ImageOSDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OS State." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "required": [ + "osState", + "osType" + ], + "description": "Describes an Operating System disk." + }, + "ImageProperties": { + "type": "object", + "properties": { + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image." + }, + "sourceVirtualMachine": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ImageStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a storage profile." + } + }, + "description": "Describes the properties of an Image." + }, + "ImagePurchasePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "The product ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Describes the gallery Image Definition purchase plan. This is used by marketplace images." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "ImageStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ImageOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an Operating System disk." + }, + "zoneResilient": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)." + } + }, + "description": "Describes a storage profile." + }, + "InstanceViewStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Info", + "Warning", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The level code." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "KeyVaultKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" + }, + "KeyVaultSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "disablePasswordAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether password authentication should be disabled." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "ManagedDiskParameters": { + "type": "object", + "properties": { + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "id": { + "type": "string", + "description": "Resource Id" + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "description": "The parameters of a managed disk." + }, + "NetworkInterfaceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a network interface reference properties." + } + }, + "description": "Describes a network interface reference." + }, + "NetworkInterfaceReferenceProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + } + }, + "description": "Specifies the network interfaces of the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None** for Standard storage. **ReadOnly** for Premium storage." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diffDiskSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiffDiskSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "encryptionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a Encryption Settings for a Disk" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OSDiskImageEncryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + } + }, + "description": "Contains encryption settings for an OS disk image." + }, + "OSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    This property cannot be updated after the VM is created.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "allowExtensionOperations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    **Note: Do not pass any secrets or passwords in customData property**

    This property cannot be updated after the VM is created.

    customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "requireGuestProvisionSignal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "ProximityPlacementGroupProperties": { + "type": "object", + "properties": { + "colocationStatus": { + "oneOf": [ + { + "$ref": "#/definitions/InstanceViewStatus" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instance view status." + }, + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "RecommendedMachineConfiguration": { + "type": "object", + "properties": { + "memory": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the resource range." + }, + "vCPUs": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the resource range." + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "type": "object", + "properties": { + "max": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of the resource." + }, + "min": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum number of the resource." + } + }, + "description": "Describes the resource range." + }, + "RollingUpgradePolicy": { + "type": "object", + "properties": { + "maxBatchInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%." + }, + "maxUnhealthyInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%." + }, + "maxUnhealthyUpgradedInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." + }, + "pauseTimeBetweenBatches": { + "type": "string", + "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + } + }, + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "ScaleInPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Default", + "OldestVM", + "NewestVM" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rules to be followed when scaling-in a virtual machine scale set.

    Possible values are:

    **Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

    **OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

    **NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

    " + } + }, + "description": "Describes a scale-in policy for a virtual machine scale set." + }, + "ScheduledEventsProfile": { + "type": "object", + "properties": { + "terminateNotificationProfile": { + "oneOf": [ + { + "$ref": "#/definitions/TerminateNotificationProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "SshPublicKeyResourceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format." + } + }, + "description": "Properties of the SSH public key." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + }, + "TargetRegion": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionImages" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "name": { + "type": "string", + "description": "The name of the region." + }, + "regionalReplicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "TerminateNotificationProfile": { + "type": "object", + "properties": { + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Terminate Scheduled event is enabled or disabled." + }, + "notBeforeTimeout": { + "type": "string", + "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" + } + } + }, + "UpgradePolicy": { + "type": "object", + "properties": { + "automaticOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual", + "Rolling" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + }, + "rollingUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used while performing a rolling upgrade." + } + }, + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "UserArtifactSource": { + "type": "object", + "properties": { + "fileName": { + "type": "string", + "description": "Required. The fileName of the artifact." + }, + "mediaLink": { + "type": "string", + "description": "Required. The mediaLink of the artifact, must be a readable storage blob." + } + }, + "required": [ + "fileName", + "mediaLink" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "UserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "VirtualMachineExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The virtual machine extension name." + }, + "statuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "substatuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "instanceView": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentitiesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the virtual machine." + }, + "VirtualMachineProperties": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "billingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/BillingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "host": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "priority": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regular", + "Low", + "Spot" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + }, + "virtualMachineScaleSet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineScaleSetDataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The create option." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a virtual machine scale set data disk." + }, + "VirtualMachineScaleSetExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set child extension resources." + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisionAfterExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the virtual machine scale set." + }, + "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, + "VirtualMachineScaleSetIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetIPConfigurationProperties": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + }, + "applicationSecurityGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to application security group." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + } + }, + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetIpTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "IP tag associated with the public IP. Example: SQL, Storage etc." + } + }, + "description": "Contains the IP tag associated with the public IP address." + }, + "VirtualMachineScaleSetManagedDiskParameters": { + "type": "object", + "properties": { + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationDnsSettings": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DNS servers IP addresses" + } + }, + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "type": "object", + "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableIPForwarding": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether IP forwarding enabled on this NIC." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "networkSecurityGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetNetworkProfile": { + "type": "object", + "properties": { + "healthProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + }, + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetOSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diffDiskSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiffDiskSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhdContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the container urls that are used to store operating system disks for the scale set." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption" + ], + "description": "Describes a virtual machine scale set operating system disk." + }, + "VirtualMachineScaleSetOSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerNamePrefix": { + "type": "string", + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetProperties": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "automaticRepairsPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticRepairsPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "doNotRunExtensionsOnOverprovisionedVMs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + }, + "overprovision": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "scaleInPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ScaleInPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a scale-in policy for a virtual machine scale set." + }, + "singlePlacementGroup": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true." + }, + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "zoneBalance": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The publicIP address configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created" + } + }, + "required": [ + "domainNameLabel" + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { + "type": "object", + "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The idle timeout of the public IP address." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIpTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of IP tags associated with the public IP address." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + }, + "publicIPPrefix": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "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": [ + "virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachineScaleSets_virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + }, + "VirtualMachineScaleSetVMNetworkProfileConfiguration": { + "type": "object", + "properties": { + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set VM network profile." + }, + "VirtualMachineScaleSetVMProfile": { + "type": "object", + "properties": { + "billingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/BillingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set extension profile." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set OS profile." + }, + "priority": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regular", + "Low", + "Spot" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." + }, + "scheduledEventsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduledEventsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set storage profile." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "VirtualMachineScaleSetVMProperties": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "networkProfileConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set VM network profile." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "protectionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protection policy of a virtual machine scale set VM." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "VirtualMachineScaleSetVMProtectionPolicy": { + "type": "object", + "properties": { + "protectFromScaleIn": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation." + }, + "protectFromScaleSetActions": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM." + } + }, + "description": "The protection policy of a virtual machine scale set VM." + }, + "virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { + "additionalUnattendContent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".

    Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)." + }, + "winRM": { + "oneOf": [ + { + "$ref": "#/definitions/WinRMConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes Windows Remote Management configuration of the VM" + } + }, + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "WinRMConfiguration": { + "type": "object", + "properties": { + "listeners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WinRMListener" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Windows Remote Management listeners" + } + }, + "description": "Describes Windows Remote Management configuration of the VM" + }, + "WinRMListener": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the protocol of WinRM listener.

    Possible values are:
    **http**

    **https**." + } + }, + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" + } + } +} diff --git a/schemas/2019-12-31/Microsoft.Cdn.json b/schemas/2019-12-31/Microsoft.Cdn.json index 7682054947..970d3d2126 100644 --- a/schemas/2019-12-31/Microsoft.Cdn.json +++ b/schemas/2019-12-31/Microsoft.Cdn.json @@ -3368,4 +3368,4 @@ "description": "Defines the parameters for the url rewrite action." } } -} \ No newline at end of file +} diff --git a/schemas/2020-01-01-preview/Microsoft.EventGrid.json b/schemas/2020-01-01-preview/Microsoft.EventGrid.json index 06feacb20e..3c3efe2a74 100644 --- a/schemas/2020-01-01-preview/Microsoft.EventGrid.json +++ b/schemas/2020-01-01-preview/Microsoft.EventGrid.json @@ -1362,4 +1362,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json b/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json new file mode 100644 index 0000000000..bbaec91627 --- /dev/null +++ b/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json @@ -0,0 +1,1145 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.HybridNetwork", + "description": "Microsoft HybridNetwork Resource Types", + "resourceDefinitions": { + "devices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Resource name for the device resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevicePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Device 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.HybridNetwork/devices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/devices" + }, + "networkFunctions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Resource name for the network function resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkFunctionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network function 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.HybridNetwork/networkFunctions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/networkFunctions" + } + }, + "subscription_resourceDefinitions": { + "locations_vendors_networkFunctions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the vendor network function." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorNetworkFunctionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vendor network function properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/locations/vendors/networkFunctions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/locations/vendors/networkFunctions" + }, + "vendors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the vendor." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vendor properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vendors_vendorSkus_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/vendors" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors" + }, + "vendors_vendorSkus": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sku." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorSkuPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vendors_vendorSkus_previewSubscriptions_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/vendors/vendorSkus" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus" + }, + "vendors_vendorSkus_previewSubscriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Preview subscription ID." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions" + } + }, + "definitions": { + "CustomProfile": { + "type": "object", + "properties": { + "metadataConfigurationPath": { + "type": "string", + "description": "Path for metadata configuration." + } + }, + "description": "Specifies the custom settings for the virtual machine." + }, + "DataDisk": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Empty" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image." + }, + "name": { + "type": "string", + "description": "The name of data disk." + } + }, + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "DevicePropertiesFormat": { + "type": "object", + "properties": { + "azureStackEdge": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another sub resource." + } + }, + "description": "Device properties." + }, + "ImageReference": { + "type": "object", + "properties": { + "exactVersion": { + "type": "string", + "description": "Specifies in decimal numbers, the exact version of image used to create the virtual machine." + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "The image reference properties." + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine." + }, + "NetworkFunctionPropertiesFormat": { + "type": "object", + "properties": { + "device": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another sub resource." + }, + "managedApplicationParameters": { + "type": "object", + "properties": {}, + "description": "The parameters for the managed application." + }, + "networkFunctionUserConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionUserConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network function configurations from the user." + }, + "skuName": { + "type": "string", + "description": "The sku name for the network function." + }, + "vendorName": { + "type": "string", + "description": "The vendor name for the network function." + } + }, + "description": "Network function properties." + }, + "NetworkFunctionRoleConfiguration": { + "type": "object", + "properties": { + "customProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CustomProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the custom settings for the virtual machine." + }, + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network interface configurations." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the role instance." + }, + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "roleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "VirtualMachine" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Role type." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + }, + "userDataParameters": { + "type": "object", + "properties": {}, + "description": "The user data parameters." + }, + "userDataTemplate": { + "type": "object", + "properties": {}, + "description": "The user data template." + }, + "virtualMachineSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The size of the virtual machine." + } + }, + "description": "Network function role configuration." + }, + "NetworkFunctionTemplate": { + "type": "object", + "properties": { + "networkFunctionRoleConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionRoleConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of network function role definitions." + } + }, + "description": "The network function template." + }, + "NetworkFunctionUserConfiguration": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network interface configuration." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkFunctionUserConfigurationOsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the role instance." + }, + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "userDataParameters": { + "type": "object", + "properties": {}, + "description": "The user data parameters." + } + }, + "description": "The network function user configuration." + }, + "NetworkFunctionUserConfigurationOsProfile": { + "type": "object", + "properties": { + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

    **Note: Do not pass any secrets or passwords in customData property**

    This property cannot be updated after the VM is created.

    customData is passed to the VM to be saved as a file. For more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "NetworkFunctionVendorConfiguration": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network interface configurations." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the role instance." + }, + "roleName": { + "type": "string", + "description": "The name of the vendor network function role." + } + }, + "description": "Network function vendor configuration." + }, + "NetworkInterface": { + "type": "object", + "properties": { + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of IP configurations of the network interface." + }, + "macAddress": { + "type": "string", + "description": "The MAC address of the network interface." + }, + "networkInterfaceName": { + "type": "string", + "description": "The name of the network interface." + }, + "vmSwitchType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Management", + "Wan", + "Lan" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the VM switch." + } + }, + "description": "Network interface properties." + }, + "NetworkInterfaceIPConfiguration": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of DNS servers IP addresses." + }, + "gateway": { + "type": "string", + "description": "The value of the gateway." + }, + "ipAddress": { + "type": "string", + "description": "The value of the IP address." + }, + "ipAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP address allocation method." + }, + "ipVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "IPv4" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP address version." + }, + "subnet": { + "type": "string", + "description": "The value of the subnet." + } + }, + "description": "Network interface IP configuration properties." + }, + "OsDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri." + }, + "name": { + "type": "string", + "description": "The VHD name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OS type." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + } + }, + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OsProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

    **Note: Do not pass any secrets or passwords in customData property**

    This property cannot be updated after the VM is created.

    customData is passed to the VM to be saved as a file. For more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "customDataRequired": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if custom data is required to deploy this role." + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image reference properties." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OsDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another sub resource." + }, + "VendorNetworkFunctionPropertiesFormat": { + "type": "object", + "properties": { + "networkFunctionVendorConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionVendorConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of network function vendor configurations." + }, + "vendorProvisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioned", + "UserDataValidationFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vendor controlled provisioning state of the vendor network function." + } + }, + "description": "Vendor network function properties." + }, + "VendorPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "Vendor properties." + }, + "VendorSkuPropertiesFormat": { + "type": "object", + "properties": { + "deploymentMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Azure", + "PrivateEdgeZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku deployment mode." + }, + "managedApplicationParameters": { + "type": "object", + "properties": {}, + "description": "The parameters for the managed application." + }, + "managedApplicationTemplate": { + "type": "object", + "properties": {}, + "description": "The template for the managed application deployment." + }, + "networkFunctionTemplate": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkFunctionTemplate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network function template." + }, + "preview": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the vendor sku is in preview mode." + }, + "skuType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "EvolvedPacketCore", + "SDWAN", + "Firewall" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku type." + } + }, + "description": "Sku properties" + }, + "vendors_vendorSkus_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sku." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorSkuPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku properties" + }, + "type": { + "type": "string", + "enum": [ + "vendorSkus" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus" + }, + "vendors_vendorSkus_previewSubscriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Preview subscription ID." + }, + "type": { + "type": "string", + "enum": [ + "previewSubscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions" + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + } + } +} \ No newline at end of file diff --git a/schemas/2020-01-01-preview/Microsoft.Kubernetes.json b/schemas/2020-01-01-preview/Microsoft.Kubernetes.json new file mode 100644 index 0000000000..52d3d57598 --- /dev/null +++ b/schemas/2020-01-01-preview/Microsoft.Kubernetes.json @@ -0,0 +1,198 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Kubernetes.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kubernetes", + "description": "Microsoft Kubernetes Resource Types", + "resourceDefinitions": { + "connectedClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedClusterIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the connected cluster." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Kubernetes cluster on which get is called." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the connected cluster." + }, + "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.Kubernetes/connectedClusters" + ] + } + }, + "required": [ + "apiVersion", + "identity", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kubernetes/connectedClusters" + } + }, + "definitions": { + "ConnectedClusterAADProfile": { + "type": "object", + "properties": { + "clientAppId": { + "type": "string", + "description": "The client app id configured on target K8 cluster " + }, + "serverAppId": { + "type": "string", + "description": "The server app id to access AD server" + }, + "tenantId": { + "type": "string", + "description": "The aad tenant id which is configured on target K8s cluster" + } + }, + "required": [ + "clientAppId", + "serverAppId", + "tenantId" + ], + "description": "AAD profile of the connected cluster" + }, + "ConnectedClusterIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no identity is assigned to the connected cluster." + } + }, + "required": [ + "type" + ], + "description": "Identity for the connected cluster." + }, + "ConnectedClusterProperties": { + "type": "object", + "properties": { + "aadProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedClusterAADProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AAD profile of the connected cluster" + }, + "agentPublicKeyCertificate": { + "type": "string", + "description": "Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure." + }, + "connectivityStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Connecting", + "Connected", + "Offline", + "Expired" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the connectivity status of the connected cluster." + }, + "distribution": { + "type": "string", + "description": "The Kubernetes distribution running on this connected cluster." + }, + "infrastructure": { + "type": "string", + "description": "The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the connected cluster resource." + } + }, + "required": [ + "aadProfile", + "agentPublicKeyCertificate" + ], + "description": "Properties of the connected cluster." + } + } +} \ No newline at end of file diff --git a/schemas/2020-01-01/Microsoft.AAD.json b/schemas/2020-01-01/Microsoft.AAD.json index 7728f65760..bde6d5be0d 100644 --- a/schemas/2020-01-01/Microsoft.AAD.json +++ b/schemas/2020-01-01/Microsoft.AAD.json @@ -246,6 +246,17 @@ ], "description": "Secure LDAP Settings" }, + "migrationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Properties" + }, "notificationSettings": { "oneOf": [ { @@ -398,6 +409,52 @@ }, "description": "Secure LDAP Settings" }, + "MigrationProgress": { + "type": "object", + "properties": { + "completionPercentage": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Completion Percentage" + }, + "progressMessage": { + "type": "string", + "description": "Progress Message" + } + }, + "description": "Migration Progress" + }, + "MigrationProperties": { + "type": "object", + "properties": { + "migrationProgress": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProgress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Progress" + }, + "oldSubnetId": { + "type": "string", + "description": "Old Subnet Id" + }, + "oldVnetSiteId": { + "type": "string", + "description": "Old Vnet Site Id" + } + }, + "description": "Migration Properties" + }, "NotificationSettings": { "type": "object", "properties": { diff --git a/schemas/2020-01-01/Microsoft.Marketplace.json b/schemas/2020-01-01/Microsoft.Marketplace.json index afc631b453..7e095e0bc8 100644 --- a/schemas/2020-01-01/Microsoft.Marketplace.json +++ b/schemas/2020-01-01/Microsoft.Marketplace.json @@ -144,7 +144,11 @@ "iconFileUris": { "oneOf": [ { - "$ref": "#/definitions/OfferPropertiesIconFileUris" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -193,34 +197,6 @@ } } }, - "OfferPropertiesIconFileUris": { - "type": "object", - "properties": { - "iconKind": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Small", - "Medium", - "Large", - "Wide", - "Hero" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Icon size." - }, - "uri": { - "type": "string", - "description": "Icon uri" - } - }, - "description": "Icon File Uris" - }, "Plan": { "type": "object", "properties": { diff --git a/schemas/2020-02-01-preview/Microsoft.Datadog.json b/schemas/2020-02-01-preview/Microsoft.Datadog.json new file mode 100644 index 0000000000..554f613d3d --- /dev/null +++ b/schemas/2020-02-01-preview/Microsoft.Datadog.json @@ -0,0 +1,669 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Datadog", + "description": "Microsoft Datadog Resource Types", + "resourceDefinitions": { + "monitors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Monitor resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the monitor resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/monitors_tagRules_childResource" + }, + { + "$ref": "#/definitions/monitors_singleSignOnConfigurations_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors" + }, + "monitors_singleSignOnConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Configuration name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors/singleSignOnConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/singleSignOnConfigurations" + }, + "monitors_tagRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Rule set name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringTagRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of the properties for a TagRules resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors/tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/tagRules" + } + }, + "subscription_resourceDefinitions": { + "agreements": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogAgreementProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/agreements" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/agreements" + } + }, + "definitions": { + "DatadogAgreementProperties": { + "type": "object", + "properties": { + "accepted": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If any version of the terms have been accepted, otherwise false." + }, + "licenseTextLink": { + "type": "string", + "description": "Link to HTML with Microsoft and Publisher terms." + }, + "plan": { + "type": "string", + "description": "Plan identifier string." + }, + "privacyPolicyLink": { + "type": "string", + "description": "Link to the privacy policy of the publisher." + }, + "product": { + "type": "string", + "description": "Product identifier string." + }, + "publisher": { + "type": "string", + "description": "Publisher identifier string." + }, + "retrieveDatetime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false." + }, + "signature": { + "type": "string", + "description": "Terms signature." + } + }, + "description": "Terms properties." + }, + "DatadogOrganizationProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign on." + }, + "linkingAuthCode": { + "type": "string", + "description": "The auth code used to linking to an existing datadog organization." + }, + "linkingClientId": { + "type": "string", + "description": "The client_id from an existing in exchange for an auth token to link organization." + } + }, + "description": "Datadog organization properties" + }, + "DatadogSingleSignOnProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign-on." + }, + "singleSignOnState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Initial", + "Enable", + "Disable", + "Existing" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "singleSignOnUrl": { + "type": "string", + "description": "The login URL specific to this Datadog Organization." + } + } + }, + "FilteringTag": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include", + "Exclude" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "type": "string", + "description": "The name (also known as the key) of the tag." + }, + "value": { + "type": "string", + "description": "The value of the tag." + } + }, + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "LogRules": { + "type": "object", + "properties": { + "filteringTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags." + }, + "sendAadLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if AAD logs should be sent for the Monitor resource." + }, + "sendResourceLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if Azure resource logs should be sent for the Monitor resource." + }, + "sendSubscriptionLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if Azure subscription logs should be sent for the Monitor resource." + } + }, + "description": "Set of rules for sending logs for the Monitor resource." + }, + "MetricRules": { + "type": "object", + "properties": { + "filteringTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags." + } + }, + "description": "Set of rules for sending metrics for the Monitor resource." + }, + "MonitoringTagRulesProperties": { + "type": "object", + "properties": { + "logRules": { + "oneOf": [ + { + "$ref": "#/definitions/LogRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of rules for sending logs for the Monitor resource." + }, + "metricRules": { + "oneOf": [ + { + "$ref": "#/definitions/MetricRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of rules for sending metrics for the Monitor resource." + } + }, + "description": "Definition of the properties for a TagRules resource." + }, + "MonitorProperties": { + "type": "object", + "properties": { + "datadogOrganizationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogOrganizationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Datadog organization properties" + }, + "liftrResourceCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "MonitorLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "marketplaceSubscriptionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Active", + "Suspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "monitoringStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userInfo": { + "oneOf": [ + { + "$ref": "#/definitions/UserInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User info" + } + }, + "description": "Properties specific to the monitor resource." + }, + "monitors_singleSignOnConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Configuration name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "singleSignOnConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/singleSignOnConfigurations" + }, + "monitors_tagRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Rule set name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringTagRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of the properties for a TagRules resource." + }, + "type": { + "type": "string", + "enum": [ + "tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/tagRules" + }, + "ResourceSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the SKU." + } + }, + "required": [ + "name" + ] + }, + "UserInfo": { + "type": "object", + "properties": { + "emailAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email of the user used by Datadog for contacting them if needed" + }, + "name": { + "type": "string", + "maxLength": 50, + "description": "Name of the user" + }, + "phoneNumber": { + "type": "string", + "maxLength": 40, + "description": "Phone number of the user used by Datadog for contacting them if needed" + } + }, + "description": "User info" + } + } +} \ No newline at end of file diff --git a/schemas/2020-03-01-preview/Microsoft.Confluent.json b/schemas/2020-03-01-preview/Microsoft.Confluent.json new file mode 100644 index 0000000000..fcf37c97c1 --- /dev/null +++ b/schemas/2020-03-01-preview/Microsoft.Confluent.json @@ -0,0 +1,289 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Confluent", + "description": "Microsoft Confluent Resource Types", + "resourceDefinitions": { + "organizations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of Organization resource" + }, + "name": { + "type": "string", + "description": "Organization resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationResourcePropertiesModel" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Organization resource properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Organization resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Confluent/organizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Confluent/organizations" + } + }, + "subscription_resourceDefinitions": { + "agreements": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfluentAgreementProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms properties for Marketplace and Confluent." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Confluent/agreements" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Confluent/agreements" + } + }, + "definitions": { + "ConfluentAgreementProperties": { + "type": "object", + "properties": { + "accepted": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If any version of the terms have been accepted, otherwise false." + }, + "licenseTextLink": { + "type": "string", + "description": "Link to HTML with Microsoft and Publisher terms." + }, + "plan": { + "type": "string", + "description": "Plan identifier string." + }, + "privacyPolicyLink": { + "type": "string", + "description": "Link to the privacy policy of the publisher." + }, + "product": { + "type": "string", + "description": "Product identifier string." + }, + "publisher": { + "type": "string", + "description": "Publisher identifier string." + }, + "retrieveDatetime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false." + }, + "signature": { + "type": "string", + "description": "Terms signature." + } + }, + "description": "Terms properties for Marketplace and Confluent." + }, + "OrganizationResourcePropertiesModel": { + "type": "object", + "properties": { + "offerDetail": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationResourcePropertiesOfferDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Confluent offer detail" + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provision states for confluent RP." + }, + "userDetail": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationResourcePropertiesUserDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscriber detail" + } + }, + "description": "Organization resource properties" + }, + "OrganizationResourcePropertiesOfferDetail": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 50, + "description": "Offer Id" + }, + "planId": { + "type": "string", + "maxLength": 50, + "description": "Offer Plan Id" + }, + "planName": { + "type": "string", + "maxLength": 50, + "description": "Offer Plan Name" + }, + "publisherId": { + "type": "string", + "maxLength": 50, + "description": "Publisher Id" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Started", + "PendingFulfillmentStart", + "InProgress", + "Subscribed", + "Suspended", + "Reinstated", + "Succeeded", + "Failed", + "Unsubscribed", + "Updating" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SaaS Offer Status." + }, + "termUnit": { + "type": "string", + "maxLength": 25, + "description": "Offer Plan Term unit" + } + }, + "description": "Confluent offer detail" + }, + "OrganizationResourcePropertiesUserDetail": { + "type": "object", + "properties": { + "emailAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^\\S+@\\S+\\.\\S+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email address" + }, + "firstName": { + "type": "string", + "maxLength": 50, + "description": "First name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Last name" + } + }, + "description": "Subscriber detail" + } + } +} \ No newline at end of file diff --git a/schemas/2020-04-01-preview/Microsoft.EventGrid.json b/schemas/2020-04-01-preview/Microsoft.EventGrid.json index 5cedc29465..d1ab04d357 100644 --- a/schemas/2020-04-01-preview/Microsoft.EventGrid.json +++ b/schemas/2020-04-01-preview/Microsoft.EventGrid.json @@ -2573,4 +2573,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2020-04-01-preview/Microsoft.Synapse.json b/schemas/2020-04-01-preview/Microsoft.Synapse.json index ca0f96833e..44155674a0 100644 --- a/schemas/2020-04-01-preview/Microsoft.Synapse.json +++ b/schemas/2020-04-01-preview/Microsoft.Synapse.json @@ -179,4 +179,4 @@ "description": "The sql pool's properties." } } -} \ No newline at end of file +} diff --git a/schemas/2020-04-15/Microsoft.Cdn.json b/schemas/2020-04-15/Microsoft.Cdn.json index 3e347e4107..5bb5a7face 100644 --- a/schemas/2020-04-15/Microsoft.Cdn.json +++ b/schemas/2020-04-15/Microsoft.Cdn.json @@ -4230,4 +4230,4 @@ "description": "Defines how to identify a parameter for a specific purpose e.g. expires" } } -} \ No newline at end of file +} diff --git a/schemas/2020-05-01/Microsoft.Compute.json b/schemas/2020-05-01/Microsoft.Compute.json new file mode 100644 index 0000000000..8621f61864 --- /dev/null +++ b/schemas/2020-05-01/Microsoft.Compute.json @@ -0,0 +1,910 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-05-01/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "diskAccesses": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-05-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskAccessProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.Compute/diskAccesses" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/diskAccesses" + }, + "diskEncryptionSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-05-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.Compute/diskEncryptionSets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/diskEncryptionSets" + }, + "disks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-05-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/DiskSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "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.Compute/disks" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logical zone list for Disk." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/disks" + }, + "snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-05-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "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.Compute/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/snapshots" + } + }, + "definitions": { + "CreationData": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This enumerates the possible sources of a disk's creation." + }, + "galleryImageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." + }, + "uploadSizeBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "DiskAccessProperties": { + "type": "object", + "properties": {} + }, + "DiskProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "diskIOPSReadOnly": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption at rest settings for disk or snapshot" + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "maxShares": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "networkAccessPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "DiskSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "Encryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "EncryptionSetIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported." + } + }, + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "EncryptionSetProperties": { + "type": "object", + "properties": { + "activeKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "encryptionType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "EncryptionSettingsCollection": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + }, + "description": "Encryption settings for one disk volume." + }, + "ImageDiskReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "KeyVaultAndKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption at rest settings for disk or snapshot" + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "incremental": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "networkAccessPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "SnapshotSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "SourceVault": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + } +} diff --git a/schemas/2020-06-01/Microsoft.Compute.json b/schemas/2020-06-01/Microsoft.Compute.json new file mode 100644 index 0000000000..72da2a3d88 --- /dev/null +++ b/schemas/2020-06-01/Microsoft.Compute.json @@ -0,0 +1,5244 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "availabilitySets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the availability set." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AvailabilitySetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a resource." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/availabilitySets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/availabilitySets" + }, + "hostGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DedicatedHostGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dedicated Host Group Properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/hostGroups_hosts_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.Compute/hostGroups" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/hostGroups" + }, + "hostGroups_hosts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DedicatedHostProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the dedicated host." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/hostGroups/hosts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Compute/hostGroups/hosts" + }, + "images": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the image." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of an Image." + }, + "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.Compute/images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/images" + }, + "proximityPlacementGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the proximity placement group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProximityPlacementGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Proximity Placement Group." + }, + "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.Compute/proximityPlacementGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/proximityPlacementGroups" + }, + "sshPublicKeys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the SSH public key." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SshPublicKeyResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the SSH public key." + }, + "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.Compute/sshPublicKeys" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/sshPublicKeys" + }, + "virtualMachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachines_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachines_runCommands_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.Compute/virtualMachines" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine zones." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines" + }, + "virtualMachineScaleSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the virtual machine scale set." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualmachines_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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.Compute/virtualMachineScaleSets" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set" + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets" + }, + "virtualMachineScaleSets_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachineScaleSets/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualMachines_extensions_childResource" + }, + { + "$ref": "#/definitions/virtualMachineScaleSets_virtualMachines_runCommands_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.Compute/virtualMachineScaleSets/virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachineScaleSets_virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachineScaleSets/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + }, + "virtualMachineScaleSets_virtualMachines_runCommands": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine run command." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine run command." + }, + "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.Compute/virtualMachineScaleSets/virtualMachines/runCommands" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands" + }, + "virtualMachines_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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.Compute/virtualMachines/extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "virtualMachines_runCommands": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine run command." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine run command." + }, + "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.Compute/virtualMachines/runCommands" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/runCommands" + } + }, + "definitions": { + "AdditionalCapabilities": { + "type": "object", + "properties": { + "ultraSSDEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled." + } + }, + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "AdditionalUnattendContent": { + "type": "object", + "properties": { + "componentName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup." + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + }, + "passName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OobeSystem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pass name. Currently, the only allowable value is OobeSystem." + }, + "settingName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "ApiEntityReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "AutomaticOSUpgradePolicy": { + "type": "object", + "properties": { + "disableAutomaticRollback": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether OS image rollback feature should be disabled. Default value is false." + }, + "enableAutomaticOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." + } + }, + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "AutomaticRepairsPolicy": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." + }, + "gracePeriod": { + "type": "string", + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." + } + }, + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "AvailabilitySetProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count." + }, + "platformUpdateDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Update Domain count." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "virtualMachines": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references to all virtual machines in the availability set." + } + }, + "description": "The instance view of a resource." + }, + "BillingProfile": { + "type": "object", + "properties": { + "maxPrice": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

    This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

    The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

    Possible values are:

    - Any decimal value greater than zero. Example: 0.01538

    -1 – indicates default price to be up-to on-demand.

    You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

    Minimum api-version: 2019-03-01." + } + }, + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "BootDiagnostics": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "description": "Uri of the storage account to use for placing the console output and screenshot.

    If storageUri is not specified while enabling boot diagnostics, managed storage will be used." + } + }, + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + }, + "DataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "toBeDetached": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a data disk." + }, + "DedicatedHostGroupProperties": { + "type": "object", + "properties": { + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of fault domains that the host group can span." + }, + "supportAutomaticPlacement": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'true' when not provided.

    Minimum api-version: 2020-06-01." + } + }, + "required": [ + "platformFaultDomainCount" + ], + "description": "Dedicated Host Group Properties." + }, + "DedicatedHostProperties": { + "type": "object", + "properties": { + "autoReplaceOnFailure": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided." + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Windows_Server_Hybrid", + "Windows_Server_Perpetual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

    Possible values are:

    **None**

    **Windows_Server_Hybrid**

    **Windows_Server_Perpetual**

    Default: **None**." + }, + "platformFaultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault domain of the dedicated host within a dedicated host group." + } + }, + "description": "Properties of the dedicated host." + }, + "DiagnosticsProfile": { + "type": "object", + "properties": { + "bootDiagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/BootDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "DiffDiskSettings": { + "type": "object", + "properties": { + "option": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Local" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the ephemeral disk settings for operating system disk." + }, + "placement": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CacheDisk", + "ResourceDisk" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the ephemeral disk placement for operating system disk.

    Possible values are:

    **CacheDisk**

    **ResourceDisk**

    Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used.

    Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk." + } + }, + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "DiskEncryptionSetParameters": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "DiskEncryptionSettings": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Secret" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a reference to Key Vault Key" + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_B1s", + "Standard_B1ms", + "Standard_B2s", + "Standard_B2ms", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D2_v3", + "Standard_D4_v3", + "Standard_D8_v3", + "Standard_D16_v3", + "Standard_D32_v3", + "Standard_D64_v3", + "Standard_D2s_v3", + "Standard_D4s_v3", + "Standard_D8s_v3", + "Standard_D16s_v3", + "Standard_D32s_v3", + "Standard_D64s_v3", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_DS13-4_v2", + "Standard_DS13-2_v2", + "Standard_DS14-8_v2", + "Standard_DS14-4_v2", + "Standard_E2_v3", + "Standard_E4_v3", + "Standard_E8_v3", + "Standard_E16_v3", + "Standard_E32_v3", + "Standard_E64_v3", + "Standard_E2s_v3", + "Standard_E4s_v3", + "Standard_E8s_v3", + "Standard_E16s_v3", + "Standard_E32s_v3", + "Standard_E64s_v3", + "Standard_E32-16_v3", + "Standard_E32-8s_v3", + "Standard_E64-32s_v3", + "Standard_E64-16s_v3", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_F2s_v2", + "Standard_F4s_v2", + "Standard_F8s_v2", + "Standard_F16s_v2", + "Standard_F32s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_GS4-8", + "Standard_GS4-4", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s", + "Standard_M64s", + "Standard_M64ms", + "Standard_M128s", + "Standard_M128ms", + "Standard_M64-32ms", + "Standard_M64-16ms", + "Standard_M128-64ms", + "Standard_M128-32ms", + "Standard_NC6", + "Standard_NC12", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC6s_v2", + "Standard_NC12s_v2", + "Standard_NC24s_v2", + "Standard_NC24rs_v2", + "Standard_NC6s_v3", + "Standard_NC12s_v3", + "Standard_NC24s_v3", + "Standard_NC24rs_v3", + "Standard_ND6s", + "Standard_ND12s", + "Standard_ND24s", + "Standard_ND24rs", + "Standard_NV6", + "Standard_NV12", + "Standard_NV24" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

    [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

    [List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

    [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)." + } + }, + "description": "Specifies the hardware settings for the virtual machine." + }, + "hostGroups_hosts_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the dedicated host ." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DedicatedHostProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the dedicated host." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "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": [ + "hosts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Compute/hostGroups/hosts" + }, + "ImageDataDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "required": [ + "lun" + ], + "description": "Describes a data disk." + }, + "ImageOSDisk": { + "type": "object", + "properties": { + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OS State." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**." + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "required": [ + "osState", + "osType" + ], + "description": "Describes an Operating System disk." + }, + "ImageProperties": { + "type": "object", + "properties": { + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image." + }, + "sourceVirtualMachine": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ImageStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a storage profile." + } + }, + "description": "Describes the properties of an Image." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "ImageStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ImageOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an Operating System disk." + }, + "zoneResilient": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)." + } + }, + "description": "Describes a storage profile." + }, + "InstanceViewStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Info", + "Warning", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The level code." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "KeyVaultKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" + }, + "KeyVaultSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "disablePasswordAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether password authentication should be disabled." + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "ManagedDiskParameters": { + "type": "object", + "properties": { + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "id": { + "type": "string", + "description": "Resource Id" + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "description": "The parameters of a managed disk." + }, + "NetworkInterfaceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a network interface reference properties." + } + }, + "description": "Describes a network interface reference." + }, + "NetworkInterfaceReferenceProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + } + }, + "description": "Specifies the network interfaces of the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None** for Standard storage. **ReadOnly** for Premium storage." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created.

    Possible values are:

    **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

    **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diffDiskSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiffDiskSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "encryptionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a Encryption Settings for a Disk" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters of a managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    This property cannot be updated after the VM is created.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "allowExtensionOperations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

    This name cannot be updated after the VM is created.

    **Max-length (Windows):** 15 characters

    **Max-length (Linux):** 64 characters.

    For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    **Note: Do not pass any secrets or passwords in customData property**

    This property cannot be updated after the VM is created.

    customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "requireGuestProvisionSignal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine. **Note: This property is for private testing only, and all customers must not set the property to false.**" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "PatchSettings": { + "type": "object", + "properties": { + "patchMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Manual", + "AutomaticByOS", + "AutomaticByPlatform" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of in-guest patching to IaaS virtual machine.

    Possible values are:

    **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

    **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

    ** AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true." + } + } + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "ProximityPlacementGroupProperties": { + "type": "object", + "properties": { + "colocationStatus": { + "oneOf": [ + { + "$ref": "#/definitions/InstanceViewStatus" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instance view status." + }, + "proximityPlacementGroupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the type of the proximity placement group.

    Possible values are:

    **Standard** : Co-locate resources within an Azure region or Availability Zone.

    **Ultra** : For future use." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "RollingUpgradePolicy": { + "type": "object", + "properties": { + "maxBatchInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%." + }, + "maxUnhealthyInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%." + }, + "maxUnhealthyUpgradedInstancePercent": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." + }, + "pauseTimeBetweenBatches": { + "type": "string", + "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + } + }, + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "RunCommandInputParameter": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The run command parameter name." + }, + "value": { + "type": "string", + "description": "The run command parameter value." + } + }, + "required": [ + "name", + "value" + ], + "description": "Describes the properties of a run command parameter." + }, + "ScaleInPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Default", + "OldestVM", + "NewestVM" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rules to be followed when scaling-in a virtual machine scale set.

    Possible values are:

    **Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

    **OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

    **NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

    " + } + }, + "description": "Describes a scale-in policy for a virtual machine scale set." + }, + "ScheduledEventsProfile": { + "type": "object", + "properties": { + "terminateNotificationProfile": { + "oneOf": [ + { + "$ref": "#/definitions/TerminateNotificationProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "SecurityProfile": { + "type": "object", + "properties": { + "encryptionAtHost": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.

    Default: The Encryption at host will be disabled unless this property is set to true for the resource." + } + }, + "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of virtual machines in the scale set." + }, + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "SshPublicKeyResourceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format." + } + }, + "description": "Properties of the SSH public key." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + }, + "TerminateNotificationProfile": { + "type": "object", + "properties": { + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Terminate Scheduled event is enabled or disabled." + }, + "notBeforeTimeout": { + "type": "string", + "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" + } + } + }, + "UpgradePolicy": { + "type": "object", + "properties": { + "automaticOSUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticOSUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual", + "Rolling" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time." + }, + "rollingUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters used while performing a rolling upgrade." + } + }, + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "UserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "VirtualMachineExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The virtual machine extension name." + }, + "statuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "substatuses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource status information." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "instanceView": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance view of a virtual machine extension." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentitiesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the virtual machine." + }, + "VirtualMachineProperties": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "billingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/BillingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "extensionsTimeBudget": { + "type": "string", + "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

    Minimum api-version: 2020-06-01" + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "host": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "priority": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regular", + "Low", + "Spot" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "securityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + }, + "virtualMachineScaleSet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachineRunCommandProperties": { + "type": "object", + "properties": { + "asyncExecution": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete." + }, + "errorBlobUri": { + "type": "string", + "description": "Specifies the Azure storage blob where script error stream will be uploaded." + }, + "outputBlobUri": { + "type": "string", + "description": "Specifies the Azure storage blob where script output stream will be uploaded." + }, + "parameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters used by the script." + }, + "protectedParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters used by the script." + }, + "runAsPassword": { + "type": "string", + "description": "Specifies the user account password on the VM when executing the run command." + }, + "runAsUser": { + "type": "string", + "description": "Specifies the user account on the VM when executing the run command." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineRunCommandScriptSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the script sources for run command." + }, + "timeoutInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout in seconds to execute the run command." + } + }, + "description": "Describes the properties of a Virtual Machine run command." + }, + "VirtualMachineRunCommandScriptSource": { + "type": "object", + "properties": { + "commandId": { + "type": "string", + "description": "Specifies a commandId of predefined built-in script." + }, + "script": { + "type": "string", + "description": "Specifies the script content to be executed on the VM." + }, + "scriptUri": { + "type": "string", + "description": "Specifies the script download location." + } + }, + "description": "Describes the script sources for run command." + }, + "VirtualMachineScaleSetDataDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The create option." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption", + "lun" + ], + "description": "Describes a virtual machine scale set data disk." + }, + "VirtualMachineScaleSetExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual machine scale set child extension resources." + }, + "extensionsTimeBudget": { + "type": "string", + "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

    Minimum api-version: 2020-06-01" + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisionAfterExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the virtual machine scale set." + }, + "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue": { + "type": "object", + "properties": {} + }, + "VirtualMachineScaleSetIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetIPConfigurationProperties": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + }, + "applicationSecurityGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to application security group." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." + }, + "loadBalancerInboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + }, + "publicIPAddressConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + } + }, + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetIpTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "IP tag associated with the public IP. Example: SQL, Storage etc." + } + }, + "description": "Contains the IP tag associated with the public IP address." + }, + "VirtualMachineScaleSetManagedDiskParameters": { + "type": "object", + "properties": { + "diskEncryptionSet": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionSetParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

    NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + } + }, + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationDnsSettings": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DNS servers IP addresses" + } + }, + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "type": "object", + "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableIPForwarding": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether IP forwarding enabled on this NIC." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the IP configurations of the network interface." + }, + "networkSecurityGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetNetworkProfile": { + "type": "object", + "properties": { + "healthProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ApiEntityReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The API entity reference." + }, + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetOSDisk": { + "type": "object", + "properties": { + "caching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FromImage", + "Empty", + "Attach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diffDiskSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiffDiskSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

    NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + }, + "managedDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**." + }, + "vhdContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the container urls that are used to store operating system disks for the scale set." + }, + "writeAcceleratorEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "required": [ + "createOption" + ], + "description": "Describes a virtual machine scale set operating system disk." + }, + "VirtualMachineScaleSetOSProfile": { + "type": "object", + "properties": { + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "computerNamePrefix": { + "type": "string", + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + }, + "windowsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/WindowsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies Windows operating system settings on the virtual machine." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetProperties": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "automaticRepairsPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutomaticRepairsPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "doNotRunExtensionsOnOverprovisionedVMs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + }, + "hostGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "overprovision": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "platformFaultDomainCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "scaleInPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ScaleInPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a scale-in policy for a virtual machine scale set." + }, + "singlePlacementGroup": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true." + }, + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "zoneBalance": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetPublicIPAddressConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The publicIP address configuration name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created" + } + }, + "required": [ + "domainNameLabel" + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { + "type": "object", + "properties": { + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The idle timeout of the public IP address." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIpTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of IP tags associated with the public IP address." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'." + }, + "publicIPPrefix": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetStorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set operating system disk." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "virtualMachineScaleSets_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the VM scale set extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/extensions" + }, + "virtualMachineScaleSets_virtualmachines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The instance ID of the virtual machine." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "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": [ + "virtualmachines" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines" + }, + "virtualMachineScaleSets_virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions" + }, + "virtualMachineScaleSets_virtualMachines_runCommands_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine run command." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine run command." + }, + "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": [ + "runCommands" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands" + }, + "VirtualMachineScaleSetVMNetworkProfileConfiguration": { + "type": "object", + "properties": { + "networkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set VM network profile." + }, + "VirtualMachineScaleSetVMProfile": { + "type": "object", + "properties": { + "billingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/BillingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Deallocate", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set extension profile." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set network profile." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set OS profile." + }, + "priority": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regular", + "Low", + "Spot" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview." + }, + "scheduledEventsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduledEventsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "securityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set storage profile." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "VirtualMachineScaleSetVMProperties": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "availabilitySet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "diagnosticsProfile": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the hardware settings for the virtual machine." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the network interfaces of the virtual machine." + }, + "networkProfileConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine scale set VM network profile." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OSProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "protectionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protection policy of a virtual machine scale set VM." + }, + "securityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + } + }, + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "VirtualMachineScaleSetVMProtectionPolicy": { + "type": "object", + "properties": { + "protectFromScaleIn": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation." + }, + "protectFromScaleSetActions": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM." + } + }, + "description": "The protection policy of a virtual machine scale set VM." + }, + "virtualMachines_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Extension." + }, + "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": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/extensions" + }, + "virtualMachines_runCommands_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the virtual machine run command." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine run command." + }, + "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": [ + "runCommands" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/virtualMachines/runCommands" + }, + "WindowsConfiguration": { + "type": "object", + "properties": { + "additionalUnattendContent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + }, + "enableAutomaticUpdates": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

    For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + }, + "patchSettings": { + "oneOf": [ + { + "$ref": "#/definitions/PatchSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisionVMAgent": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

    When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".

    Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)." + }, + "winRM": { + "oneOf": [ + { + "$ref": "#/definitions/WinRMConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes Windows Remote Management configuration of the VM" + } + }, + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "WinRMConfiguration": { + "type": "object", + "properties": { + "listeners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WinRMListener" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Windows Remote Management listeners" + } + }, + "description": "Describes Windows Remote Management configuration of the VM" + }, + "WinRMListener": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the protocol of WinRM listener.

    Possible values are:
    **http**

    **https**." + } + }, + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" + } + } +} diff --git a/schemas/2020-06-01/Microsoft.EventGrid.json b/schemas/2020-06-01/Microsoft.EventGrid.json index 3c87352bf8..bad3f9d8c3 100644 --- a/schemas/2020-06-01/Microsoft.EventGrid.json +++ b/schemas/2020-06-01/Microsoft.EventGrid.json @@ -1757,4 +1757,4 @@ "description": "Information about the webhook destination properties for an event subscription." } } -} \ No newline at end of file +} diff --git a/schemas/2020-06-30-preview/Microsoft.Automanage.json b/schemas/2020-06-30-preview/Microsoft.Automanage.json new file mode 100644 index 0000000000..723028ef3d --- /dev/null +++ b/schemas/2020-06-30-preview/Microsoft.Automanage.json @@ -0,0 +1,359 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-06-30-preview/Microsoft.Automanage.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Automanage", + "description": "Microsoft Automanage Resource Types", + "resourceDefinitions": { + "accounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/AccountIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the Automanage account." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Automanage account." + }, + "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.Automanage/accounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "type" + ], + "description": "Microsoft.Automanage/accounts" + }, + "configurationProfilePreferences": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the configuration profile preference." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfilePreferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile preference 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.Automanage/configurationProfilePreferences" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Automanage/configurationProfilePreferences" + } + }, + "extension_resourceDefinitions": { + "configurationProfileAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the configuration profile assignment. Only default is supported." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfileAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Automanage/configurationProfileAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Automanage/configurationProfileAssignments" + } + }, + "definitions": { + "AccountIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the Automanage account. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "Identity for the Automanage account." + }, + "ConfigurationProfileAssignmentCompliance": { + "type": "object", + "properties": {}, + "description": "The compliance status for the configuration profile assignment." + }, + "ConfigurationProfileAssignmentProperties": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "The Automanage account ARM Resource URI" + }, + "compliance": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfileAssignmentCompliance" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The compliance status for the configuration profile assignment." + }, + "configurationProfile": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Azure virtual machine best practices – Dev/Test", + "Azure virtual machine best practices – Production" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating configuration profile." + }, + "configurationProfilePreferenceId": { + "type": "string", + "description": "The configuration profile custom preferences ARM resource URI" + }, + "targetId": { + "type": "string", + "description": "The target VM resource URI" + } + }, + "description": "Automanage configuration profile assignment properties." + }, + "ConfigurationProfilePreferenceAntiMalware": { + "type": "object", + "properties": { + "enableRealTimeProtection": { + "oneOf": [ + { + "type": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables Real Time Protection." + }, + "exclusions": { + "type": "object", + "properties": {}, + "description": "Extensions, Paths and Processes that must be excluded from scan" + }, + "runScheduledScan": { + "oneOf": [ + { + "type": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a periodic scan for antimalware." + }, + "scanDay": { + "type": "string", + "description": "Schedule scan settings day" + }, + "scanTimeInMinutes": { + "type": "string", + "description": "Schedule scan settings time" + }, + "scanType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Quick", + "Full" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of scheduled scan." + } + }, + "description": "Automanage configuration profile Antimalware preferences." + }, + "ConfigurationProfilePreferenceProperties": { + "type": "object", + "properties": { + "antiMalware": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfilePreferenceAntiMalware" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile Antimalware preferences." + }, + "vmBackup": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfilePreferenceVmBackup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile VM Backup preferences." + } + }, + "description": "Automanage configuration profile preference properties." + }, + "ConfigurationProfilePreferenceVmBackup": { + "type": "object", + "properties": { + "instantRpRetentionRangeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instant RP retention policy range in days" + }, + "retentionPolicy": { + "type": "string", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "schedulePolicy": { + "type": "string", + "description": "Backup schedule specified as part of backup policy." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: Pacific Standard Time" + } + }, + "description": "Automanage configuration profile VM Backup preferences." + } + } +} \ No newline at end of file diff --git a/schemas/2020-06-30/Microsoft.Compute.json b/schemas/2020-06-30/Microsoft.Compute.json new file mode 100644 index 0000000000..2ade6083c3 --- /dev/null +++ b/schemas/2020-06-30/Microsoft.Compute.json @@ -0,0 +1,962 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-06-30/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "diskAccesses": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskAccessProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.Compute/diskAccesses" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/diskAccesses" + }, + "diskEncryptionSets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSetIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.Compute/diskEncryptionSets" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/diskEncryptionSets" + }, + "disks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/DiskSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "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.Compute/disks" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Logical zone list for Disk." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/disks" + }, + "snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot resource properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "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.Compute/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/snapshots" + } + }, + "definitions": { + "CreationData": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This enumerates the possible sources of a disk's creation." + }, + "galleryImageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageDiskReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image used for creating the disk." + }, + "logicalSectorSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "storageAccountId": { + "type": "string", + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." + }, + "uploadSizeBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "DiskAccessProperties": { + "type": "object", + "properties": {} + }, + "DiskProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "diskIOPSReadOnly": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskIOPSReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskMBpsReadWrite": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unattached", + "Attached", + "Reserved", + "ActiveSAS", + "ReadyToUpload", + "ActiveUpload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of the disk." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption at rest settings for disk or snapshot" + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "maxShares": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "networkAccessPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "DiskSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "Encryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "EncryptionSetIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported." + } + }, + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "EncryptionSetProperties": { + "type": "object", + "properties": { + "activeKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "encryptionType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "EncryptionSettingsCollection": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "type": "object", + "properties": { + "diskEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "keyEncryptionKey": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + } + }, + "description": "Encryption settings for one disk volume." + }, + "ImageDiskReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "KeyVaultAndKeyReference": { + "type": "object", + "properties": { + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SourceVault" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "oneOf": [ + { + "$ref": "#/definitions/CreationData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data used when creating a disk." + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unattached", + "Attached", + "Reserved", + "ActiveSAS", + "ReadyToUpload", + "ActiveUpload" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of the snapshot." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/Encryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption at rest settings for disk or snapshot" + }, + "encryptionSettingsCollection": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionSettingsCollection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings for disk or snapshot" + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "incremental": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "networkAccessPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Operating System type." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "SnapshotSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku name." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "SourceVault": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + } + } +} diff --git a/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json b/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json new file mode 100644 index 0000000000..89ef705048 --- /dev/null +++ b/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json @@ -0,0 +1,222 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.AutonomousDevelopmentPlatform", + "description": "Microsoft AutonomousDevelopmentPlatform Resource Types", + "resourceDefinitions": { + "accounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the ADP account." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ADP account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/accounts_dataPools_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.AutonomousDevelopmentPlatform/accounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.AutonomousDevelopmentPlatform/accounts" + }, + "accounts_dataPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Data Pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Pool properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools" + } + }, + "definitions": { + "AccountProperties": { + "type": "object", + "properties": {}, + "description": "ADP account properties" + }, + "accounts_dataPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Data Pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Pool properties" + }, + "type": { + "type": "string", + "enum": [ + "dataPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools" + }, + "DataPoolLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The location name" + } + }, + "required": [ + "name" + ], + "description": "Location of a Data Pool" + }, + "DataPoolProperties": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataPoolLocation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the collection of locations where Data Pool resources should be created." + } + }, + "description": "Data Pool properties" + } + } +} \ No newline at end of file diff --git a/schemas/2020-07-01/Microsoft.NetApp.json b/schemas/2020-07-01/Microsoft.NetApp.json new file mode 100644 index 0000000000..e0607efd46 --- /dev/null +++ b/schemas/2020-07-01/Microsoft.NetApp.json @@ -0,0 +1,1915 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.NetApp", + "description": "Microsoft NetApp Resource Types", + "resourceDefinitions": { + "netAppAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the NetApp account" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetApp account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_snapshotPolicies_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_backupPolicies_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts" + }, + "netAppAccounts_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_snapshots_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_backups_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_backups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + } + }, + "definitions": { + "AccountProperties": { + "type": "object", + "properties": { + "activeDirectories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectory" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active Directories" + } + }, + "description": "NetApp account properties" + }, + "ActiveDirectory": { + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "adName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume" + }, + "aesEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "backupOperators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier" + }, + "dns": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "kdcIP": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume." + }, + "ldapSigning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "serverRootCACertificate": { + "type": "string", + "minLength": 1, + "maxLength": 10240, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes." + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + } + }, + "description": "Active Directory" + }, + "BackupPolicyProperties": { + "type": "object", + "properties": { + "dailyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily backups count to keep" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "monthlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly backups count to keep" + }, + "volumeBackups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeBackups" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of volumes assigned to this policy" + }, + "volumesAssigned": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volumes using current backup policy" + }, + "weeklyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly backups count to keep" + }, + "yearlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly backups count to keep" + } + }, + "description": "Backup policy properties" + }, + "BackupProperties": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label for backup" + } + }, + "description": "Backup properties" + }, + "DailySchedule": { + "type": "object", + "properties": { + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Daily Schedule properties" + }, + "ExportPolicyRule": { + "type": "object", + "properties": { + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "cifs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows CIFS protocol" + }, + "hasRootAccess": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Has root access to volume" + }, + "kerberos5iReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5iReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "nfsv3": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "ruleIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Order index" + }, + "unixReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read only access" + }, + "unixReadWrite": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read and write access" + } + }, + "description": "Volume Export Policy Rule" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Hourly Schedule properties" + }, + "MonthlySchedule": { + "type": "object", + "properties": { + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string." + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Monthly Schedule properties" + }, + "MountTargetProperties": { + "type": "object", + "properties": { + "fileSystemId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 used to identify the MountTarget" + }, + "smbServerFqdn": { + "type": "string", + "description": "The SMB server's Fully Qualified Domain Name, FQDN" + } + }, + "required": [ + "fileSystemId" + ], + "description": "Mount target properties" + }, + "netAppAccounts_backupPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes_backups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_snapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + }, + "PoolProperties": { + "type": "object", + "properties": { + "qosType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The qos type of the pool." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "size": { + "oneOf": [ + { + "type": "integer", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104)." + } + }, + "required": [ + "serviceLevel", + "size" + ], + "description": "Pool properties" + }, + "ReplicationObject": { + "type": "object", + "properties": { + "endpointType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "src", + "dst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the local volume is the source or destination for the Volume Replication." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "replicationId": { + "type": "string", + "description": "Id" + }, + "replicationSchedule": { + "oneOf": [ + { + "type": "string", + "enum": [ + "_10minutely", + "hourly", + "daily" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule." + } + }, + "required": [ + "remoteVolumeResourceId", + "replicationSchedule" + ], + "description": "Replication properties" + }, + "SnapshotPolicyProperties": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily Schedule properties" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly Schedule properties" + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly Schedule properties" + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + }, + "description": "Snapshot policy properties" + }, + "SnapshotProperties": { + "type": "object", + "properties": {}, + "description": "Snapshot properties" + }, + "VolumeBackupProperties": { + "type": "object", + "properties": { + "backupEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Enabled" + }, + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + } + }, + "description": "Volume Backup Properties" + }, + "VolumeBackups": { + "type": "object", + "properties": { + "backupsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Total count of backups for volume" + }, + "policyEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy enabled" + }, + "volumeName": { + "type": "string", + "description": "Volume name" + } + }, + "description": "Volume details using the backup policy" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "backupId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Backup." + }, + "creationToken": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A unique file path for the volume. Used when creating mount targets" + }, + "dataProtection": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesDataProtection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "exportPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesExportPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of export policy rules" + }, + "isRestoring": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restoring" + }, + "kerberosEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later" + }, + "mountTargets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MountTargetProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of mount targets" + }, + "protocolTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of protocol types" + }, + "securityStyle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ntfs", + "unix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security style of volume." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "snapshotDirectoryVisible": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "snapshotId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Snapshot." + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "throughputMibps": { + "oneOf": [ + { + "type": "number", + "multipleOf": 0.001, + "minimum": 1, + "maximum": 4500 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "usageThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": "107374182400" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes." + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this" + } + }, + "required": [ + "creationToken", + "subnetId", + "usageThreshold" + ], + "description": "Volume properties" + }, + "VolumePropertiesDataProtection": { + "type": "object", + "properties": { + "backup": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeBackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Backup Properties" + }, + "replication": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationObject" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Replication properties" + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + } + }, + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "VolumePropertiesExportPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExportPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Export policy rule" + } + }, + "description": "Set of export policy rules" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + }, + "description": "Volume Snapshot Properties" + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english" + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + } +} \ No newline at end of file diff --git a/schemas/2020-08-01-preview/Microsoft.Sql.json b/schemas/2020-08-01-preview/Microsoft.Sql.json index c238044019..ebf2dc181b 100644 --- a/schemas/2020-08-01-preview/Microsoft.Sql.json +++ b/schemas/2020-08-01-preview/Microsoft.Sql.json @@ -238,7 +238,7 @@ }, "maintenanceConfigurationId": { "type": "string", - "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will be rolled out." + "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur." }, "maxSizeBytes": { "oneOf": [ @@ -348,7 +348,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage account type used to store backups for this database. Currently the only supported option is GRS (GeoRedundantStorage)." + "description": "The storage account type used to store backups for this database." }, "zoneRedundant": { "oneOf": [ @@ -412,7 +412,7 @@ }, "maintenanceConfigurationId": { "type": "string", - "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will be rolled out." + "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur." }, "maxSizeBytes": { "oneOf": [ diff --git a/schemas/2020-08-01/Microsoft.ImportExport.json b/schemas/2020-08-01/Microsoft.ImportExport.json index bbcdbc7486..acc08927d5 100644 --- a/schemas/2020-08-01/Microsoft.ImportExport.json +++ b/schemas/2020-08-01/Microsoft.ImportExport.json @@ -54,6 +54,39 @@ } }, "definitions": { + "DeliveryPackageInformation": { + "type": "object", + "properties": { + "carrierName": { + "type": "string", + "description": "The name of the carrier that is used to ship the import or export drives." + }, + "driveCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of drives included in the package." + }, + "shipDate": { + "type": "string", + "description": "The date when the package is shipped." + }, + "trackingNumber": { + "type": "string", + "description": "The tracking number of the package." + } + }, + "required": [ + "carrierName", + "trackingNumber" + ], + "description": "Contains information about the delivery package being shipped by the customer to the Microsoft data center." + }, "DriveStatus": { "type": "object", "properties": { @@ -250,13 +283,13 @@ "deliveryPackage": { "oneOf": [ { - "$ref": "#/definitions/PackageInformation" + "$ref": "#/definitions/DeliveryPackageInformation" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Contains information about the package being shipped by the customer to the Microsoft data center." + "description": "Contains information about the delivery package being shipped by the customer to the Microsoft data center." }, "diagnosticsPath": { "type": "string", @@ -531,4 +564,4 @@ "description": "Contains information about the Microsoft datacenter to which the drives should be shipped." } } -} \ No newline at end of file +} diff --git a/schemas/2020-08-01/Microsoft.NetApp.json b/schemas/2020-08-01/Microsoft.NetApp.json new file mode 100644 index 0000000000..f6fbe0322d --- /dev/null +++ b/schemas/2020-08-01/Microsoft.NetApp.json @@ -0,0 +1,1915 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.NetApp", + "description": "Microsoft NetApp Resource Types", + "resourceDefinitions": { + "netAppAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the NetApp account" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetApp account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_snapshotPolicies_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_backupPolicies_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts" + }, + "netAppAccounts_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_snapshots_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_backups_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_backups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + } + }, + "definitions": { + "AccountProperties": { + "type": "object", + "properties": { + "activeDirectories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectory" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active Directories" + } + }, + "description": "NetApp account properties" + }, + "ActiveDirectory": { + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "adName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume" + }, + "aesEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "backupOperators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier" + }, + "dns": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "kdcIP": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume." + }, + "ldapSigning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "serverRootCACertificate": { + "type": "string", + "minLength": 1, + "maxLength": 10240, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes." + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + } + }, + "description": "Active Directory" + }, + "BackupPolicyProperties": { + "type": "object", + "properties": { + "dailyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily backups count to keep" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "monthlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly backups count to keep" + }, + "volumeBackups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeBackups" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of volumes assigned to this policy" + }, + "volumesAssigned": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volumes using current backup policy" + }, + "weeklyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly backups count to keep" + }, + "yearlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly backups count to keep" + } + }, + "description": "Backup policy properties" + }, + "BackupProperties": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label for backup" + } + }, + "description": "Backup properties" + }, + "DailySchedule": { + "type": "object", + "properties": { + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Daily Schedule properties" + }, + "ExportPolicyRule": { + "type": "object", + "properties": { + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "cifs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows CIFS protocol" + }, + "hasRootAccess": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Has root access to volume" + }, + "kerberos5iReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5iReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "nfsv3": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "ruleIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Order index" + }, + "unixReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read only access" + }, + "unixReadWrite": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read and write access" + } + }, + "description": "Volume Export Policy Rule" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Hourly Schedule properties" + }, + "MonthlySchedule": { + "type": "object", + "properties": { + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string." + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Monthly Schedule properties" + }, + "MountTargetProperties": { + "type": "object", + "properties": { + "fileSystemId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 used to identify the MountTarget" + }, + "smbServerFqdn": { + "type": "string", + "description": "The SMB server's Fully Qualified Domain Name, FQDN" + } + }, + "required": [ + "fileSystemId" + ], + "description": "Mount target properties" + }, + "netAppAccounts_backupPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes_backups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_snapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + }, + "PoolProperties": { + "type": "object", + "properties": { + "qosType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The qos type of the pool." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "size": { + "oneOf": [ + { + "type": "integer", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104)." + } + }, + "required": [ + "serviceLevel", + "size" + ], + "description": "Pool properties" + }, + "ReplicationObject": { + "type": "object", + "properties": { + "endpointType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "src", + "dst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the local volume is the source or destination for the Volume Replication." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "replicationId": { + "type": "string", + "description": "Id" + }, + "replicationSchedule": { + "oneOf": [ + { + "type": "string", + "enum": [ + "_10minutely", + "hourly", + "daily" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule." + } + }, + "required": [ + "remoteVolumeResourceId", + "replicationSchedule" + ], + "description": "Replication properties" + }, + "SnapshotPolicyProperties": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily Schedule properties" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly Schedule properties" + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly Schedule properties" + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + }, + "description": "Snapshot policy properties" + }, + "SnapshotProperties": { + "type": "object", + "properties": {}, + "description": "Snapshot properties" + }, + "VolumeBackupProperties": { + "type": "object", + "properties": { + "backupEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Enabled" + }, + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + } + }, + "description": "Volume Backup Properties" + }, + "VolumeBackups": { + "type": "object", + "properties": { + "backupsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Total count of backups for volume" + }, + "policyEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy enabled" + }, + "volumeName": { + "type": "string", + "description": "Volume name" + } + }, + "description": "Volume details using the backup policy" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "backupId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Backup." + }, + "creationToken": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A unique file path for the volume. Used when creating mount targets" + }, + "dataProtection": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesDataProtection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "exportPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesExportPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of export policy rules" + }, + "isRestoring": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restoring" + }, + "kerberosEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later" + }, + "mountTargets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MountTargetProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of mount targets" + }, + "protocolTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of protocol types" + }, + "securityStyle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ntfs", + "unix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security style of volume." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "snapshotDirectoryVisible": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "snapshotId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Snapshot." + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "throughputMibps": { + "oneOf": [ + { + "type": "number", + "multipleOf": 0.001, + "minimum": 1, + "maximum": 4500 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "usageThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": "107374182400" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes." + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this" + } + }, + "required": [ + "creationToken", + "subnetId", + "usageThreshold" + ], + "description": "Volume properties" + }, + "VolumePropertiesDataProtection": { + "type": "object", + "properties": { + "backup": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeBackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Backup Properties" + }, + "replication": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationObject" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Replication properties" + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + } + }, + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "VolumePropertiesExportPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExportPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Export policy rule" + } + }, + "description": "Set of export policy rules" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + }, + "description": "Volume Snapshot Properties" + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english" + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + } +} \ No newline at end of file diff --git a/schemas/2020-09-18/Microsoft.Kusto.json b/schemas/2020-09-18/Microsoft.Kusto.json new file mode 100644 index 0000000000..66a86c5389 --- /dev/null +++ b/schemas/2020-09-18/Microsoft.Kusto.json @@ -0,0 +1,1210 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kusto", + "description": "Microsoft Kusto Resource Types", + "resourceDefinitions": { + "clusters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of the Kusto cluster." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array represents the availability zones of the cluster." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + }, + { + "$ref": "#/resourceDefinitions/clusters_principalassignments" + } + ] + } + } + }, + "required": [ + "name", + "type", + "apiVersion", + "location", + "sku" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_databases": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + } + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + }, + { + "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + } + ] + } + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_dataconnections": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The data connection name" + }, + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataConnections" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], + "description": "Properties supplied to the data connection create or update Kusto operation." + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Microsoft.Kusto/clusters/dataConnections" + }, + "clusters_databases_dataconnections": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The data connection name" + }, + "type": { + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + } + ], + "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "clusters_attacheddatabaseconfigurations": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the attached database configurations." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Class representing an attached database configurations." + }, + "clusters_principalassignments": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the cluster principal assignment" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Class representing a cluster principal assignment." + }, + "clusters_databases_principalassignments": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the database principal assignment" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabasePrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Class representing a database principal assignment." + } + }, + "definitions": { + "AzureSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2", + "Standard_E64i_v3", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E16a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Dev(No SLA)_Standard_E2a_v4" + ], + "x-ms-enum": { + "name": "AzureSkuName", + "modelAsString": true + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name. Possible values include: 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4'" + }, + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "x-ms-enum": { + "name": "AzureSkuTier", + "modelAsString": true + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU tier." + } + }, + "required": [ + "name", + "tier" + ], + "description": "Azure SKU definition." + }, + "ClusterProperties": { + "type": "object", + "properties": { + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + }, + "optimizedAutoscale": { + "oneOf": [ + { + "$ref": "#/definitions/OptimizedAutoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains the optimized auto scale definition." + }, + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the cluster's disks are encrypted." + }, + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains virtual network definition." + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "KeyVault properties for the cluster encryption." + }, + "enablePurge": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the purge operations are enabled." + }, + "enableDoubleEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not Double-Encryption is enabled on storage account." + }, + "engineType": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A string value that indicates the Azure Data Explorer engine type." + } + } + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + } + } + }, + "ReadWriteDatabase": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read write database properties" + }, + "kind": { + "type": "string", + "enum": [ + "ReadWrite" + ], + "description": "Kind of the database" + } + }, + "required": [ + "kind", + "properties" + ], + "description": "Information about the readWrite database" + }, + "AttachedDatabaseConfigurationsProperties": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "defaultPrincipalsModificationKind": { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ], + "description": "The default principals modification kind" + } + } + }, + "EventGridDataConnectionProperties": { + "type": "object", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "oneOf": [ + { + "$ref": "#/definitions/DataFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "ignoreFirstRecord": { + "type": "boolean", + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file." + }, + "blobStorageEventType": { + "oneOf": [ + { + "$ref": "#/definitions/BlobStorageEventType" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of blob storage event type to process." + } + }, + "required": [ + "storageAccountResourceId", + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ] + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + } + }, + "required": [ + "principalId", + "role", + "principalType" + ], + "description": "A class representing database principal property." + }, + "ClusterPrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Cluster principal role.", + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + } + }, + "required": [ + "principalId", + "role", + "principalType" + ], + "description": "A class representing cluster principal property." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubDataConnectionProperties": { + "type": "object", + "properties": { + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "oneOf": [ + { + "$ref": "#/definitions/DataFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EventSystemProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + } + }, + "required": [ + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Event hub data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the event hub data connection" + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubDataConnectionProperties": { + "type": "object", + "properties": { + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the iot hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "oneOf": [ + { + "$ref": "#/definitions/DataFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EventSystemProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The iot hub system properties." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the shared access policy." + } + }, + "required": [ + "iotHubResourceId", + "consumerGroup", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Iot hub data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Iot hub data connection" + }, + "GenevaDataConnectionProperties": { + "type": "object", + "properties": { + "genevaEnvironment": { + "type": "string", + "description": "The Geneva environment of the geneva data connection." + } + }, + "required": [ + "genevaEnvironment" + ], + "description": "Class representing the Kusto Geneva (GDS) connection properties." + }, + "GenevaDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Geneva (DGS) data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "Geneva" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Geneva (GDS) data connection" + }, + "GenevaLegacyDataConnectionProperties": { + "type": "object", + "properties": { + "genevaEnvironment": { + "type": "string", + "description": "The Geneva environment of the geneva data connection." + }, + "mdsAccounts": { + "type:": "array", + "description": "The list of mds accounts of the geneva data connection." + }, + "isScrubbed": { + "type:": "boolean", + "description": "Indicates whether the data is scrubbed." + } + }, + "required": [ + "genevaEnvironment", + "mdsAccounts", + "isScrubbed" + ], + "description": "Class representing the Kusto Geneva legacy connection properties." + }, + "GenevaLegacyDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaLegacyDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Geneva legacy data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "GenevaLegacy" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Geneva (GDS) data connection" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault.", + "x-ms-client-name": "KeyVaultUri" + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key.", + "x-ms-client-name": "UserIdentity" + } + }, + "required": [ + "keyName", + "keyVaultUri" + ], + "description": "Properties of the key vault." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "version": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version of the template defined, for instance 1." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "minimum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + } + }, + "required": [ + "version", + "isEnabled", + "minimum", + "maximum" + ], + "description": "A class that contains the optimized auto scale definition." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "description": "The subnet resource id." + }, + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." + } + }, + "required": [ + "subnetId", + "enginePublicIpId", + "dataManagementPublicIpId" + ], + "description": "A class that contains virtual network definition." + }, + "DataFormat": { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "description": "The data format of the message. Optionally the data format can be added to each message.", + "x-ms-enum": { + "name": "dataFormat", + "modelAsString": true + } + }, + "EventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The resource system properties." + }, + "BlobStorageEventType": { + "description": "The name of blob storage event type to process.", + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ], + "x-ms-enum": { + "name": "blobStorageEventType", + "modelAsString": true + } + } + } +} diff --git a/schemas/2020-09-30/Microsoft.Compute.json b/schemas/2020-09-30/Microsoft.Compute.json new file mode 100644 index 0000000000..b6d6a4ad98 --- /dev/null +++ b/schemas/2020-09-30/Microsoft.Compute.json @@ -0,0 +1,1419 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-09-30/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "galleries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Shared Image Gallery." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_images_childResource" + }, + { + "$ref": "#/definitions/galleries_applications_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.Compute/galleries" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries" + }, + "galleries_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_applications_versions_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.Compute/galleries/applications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications" + }, + "galleries_applications_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery image version." + }, + "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.Compute/galleries/applications/versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications/versions" + }, + "galleries_images": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery image definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery image definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/galleries_images_versions_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.Compute/galleries/images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images" + }, + "galleries_images_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery image version." + }, + "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.Compute/galleries/images/versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images/versions" + } + }, + "definitions": { + "DataDiskImageEncryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "required": [ + "lun" + ], + "description": "Contains encryption settings for a data disk image." + }, + "Disallowed": { + "type": "object", + "properties": { + "diskTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "EncryptionImages": { + "type": "object", + "properties": { + "dataDiskImages": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImageEncryption" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of encryption specifications for data disk images." + }, + "osDiskImage": { + "oneOf": [ + { + "$ref": "#/definitions/OSDiskImageEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains encryption settings for an OS disk image." + } + }, + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "galleries_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "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": [ + "applications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications" + }, + "galleries_applications_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery image version." + }, + "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": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/applications/versions" + }, + "galleries_images_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery image definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery image definition." + }, + "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": [ + "images" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images" + }, + "galleries_images_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-30" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a gallery image version." + }, + "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": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/galleries/images/versions" + }, + "GalleryApplicationProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery Application Definition resource. This property is updatable." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Application Definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "supportedOSType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the supported type of the OS that application is built for.

    Possible values are:

    **Windows**

    **Linux**." + } + }, + "required": [ + "supportedOSType" + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "GalleryApplicationVersionProperties": { + "type": "object", + "properties": { + "publishingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The publishing profile of a gallery image version." + } + }, + "required": [ + "publishingProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryApplicationVersionPublishingProfile": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc." + }, + "enableHealthCheck": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Whether or not this application reports health." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "replicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/UserArtifactSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source image from which the Image Version is going to be created." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + }, + "targetRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + } + }, + "required": [ + "source" + ], + "description": "The publishing profile of a gallery image version." + }, + "GalleryArtifactVersionSource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, user image or storage account resource." + }, + "uri": { + "type": "string", + "description": "The uri of the gallery artifact version source. Currently used to specify vhd/blob source." + } + }, + "description": "The gallery artifact version source." + }, + "GalleryDataDiskImage": { + "type": "object", + "properties": { + "hostCaching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'." + }, + "lun": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The gallery artifact version source." + } + }, + "required": [ + "lun" + ], + "description": "This is the data disk image." + }, + "GalleryIdentifier": { + "type": "object", + "properties": {}, + "description": "Describes the gallery unique name." + }, + "GalleryImageFeature": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the gallery image feature." + }, + "value": { + "type": "string", + "description": "The value of the gallery image feature." + } + }, + "description": "A feature for gallery image." + }, + "GalleryImageIdentifier": { + "type": "object", + "properties": { + "offer": { + "type": "string", + "description": "The name of the gallery image definition offer." + }, + "publisher": { + "type": "string", + "description": "The name of the gallery image definition publisher." + }, + "sku": { + "type": "string", + "description": "The name of the gallery image definition SKU." + } + }, + "required": [ + "offer", + "publisher", + "sku" + ], + "description": "This is the gallery image definition identifier." + }, + "GalleryImageProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery image definition resource. This property is updatable." + }, + "disallowed": { + "oneOf": [ + { + "$ref": "#/definitions/Disallowed" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the disallowed disk types." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery image definition." + }, + "features": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageFeature" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of gallery image features." + }, + "hyperVGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V1", + "V2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only." + }, + "identifier": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the gallery image definition identifier." + }, + "osState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "purchasePlan": { + "oneOf": [ + { + "$ref": "#/definitions/ImagePurchasePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the gallery image definition purchase plan. This is used by marketplace images." + }, + "recommended": { + "oneOf": [ + { + "$ref": "#/definitions/RecommendedMachineConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + } + }, + "required": [ + "identifier", + "osState", + "osType" + ], + "description": "Describes the properties of a gallery image definition." + }, + "GalleryImageVersionProperties": { + "type": "object", + "properties": { + "publishingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionPublishingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The publishing profile of a gallery image Version." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryImageVersionStorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the storage profile of a Gallery Image Version." + } + }, + "required": [ + "storageProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryImageVersionPublishingProfile": { + "type": "object", + "properties": { + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable." + }, + "excludeFromLatest": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "replicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + }, + "targetRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + } + }, + "description": "The publishing profile of a gallery image Version." + }, + "GalleryImageVersionStorageProfile": { + "type": "object", + "properties": { + "dataDiskImages": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryDataDiskImage" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of data disk images." + }, + "osDiskImage": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryOSDiskImage" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This is the OS disk image." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The gallery artifact version source." + } + }, + "description": "This is the storage profile of a Gallery Image Version." + }, + "GalleryOSDiskImage": { + "type": "object", + "properties": { + "hostCaching": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The gallery artifact version source." + } + }, + "description": "This is the OS disk image." + }, + "GalleryProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of this Shared Image Gallery resource. This property is updatable." + }, + "identifier": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryIdentifier" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the gallery unique name." + }, + "sharingProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SharingProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for gallery sharing to subscription or tenant" + } + }, + "description": "Describes the properties of a Shared Image Gallery." + }, + "ImagePurchasePlan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "The product ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + } + }, + "description": "Describes the gallery image definition purchase plan. This is used by marketplace images." + }, + "OSDiskImageEncryption": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + } + }, + "description": "Contains encryption settings for an OS disk image." + }, + "RecommendedMachineConfiguration": { + "type": "object", + "properties": { + "memory": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the resource range." + }, + "vCPUs": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the resource range." + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "type": "object", + "properties": { + "max": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of the resource." + }, + "min": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum number of the resource." + } + }, + "description": "Describes the resource range." + }, + "SharingProfile": { + "type": "object", + "properties": { + "permissions": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Private", + "Groups" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property allows you to specify the permission of sharing gallery.

    Possible values are:

    **Private**

    **Groups**." + } + }, + "description": "Profile for gallery sharing to subscription or tenant" + }, + "TargetRegion": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionImages" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "name": { + "type": "string", + "description": "The name of the region." + }, + "regionalReplicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image. This property is not updatable." + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "UserArtifactSource": { + "type": "object", + "properties": { + "fileName": { + "type": "string", + "description": "Required. The fileName of the artifact." + }, + "mediaLink": { + "type": "string", + "description": "Required. The mediaLink of the artifact, must be a readable storage blob." + } + }, + "required": [ + "fileName", + "mediaLink" + ], + "description": "The source image from which the Image Version is going to be created." + } + } +} diff --git a/schemas/2020-10-01-preview/Microsoft.Compute.json b/schemas/2020-10-01-preview/Microsoft.Compute.json new file mode 100644 index 0000000000..2272e5c9c7 --- /dev/null +++ b/schemas/2020-10-01-preview/Microsoft.Compute.json @@ -0,0 +1,612 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "cloudServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the cloud service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cloud service properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/cloudServices_updateDomains_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.Compute/cloudServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/cloudServices" + }, + "cloudServices_updateDomains": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an integer value that identifies the update domain. Update domains are identified with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/cloudServices/updateDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Compute/cloudServices/updateDomains" + } + }, + "definitions": { + "CloudServiceExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Extension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of extensions for the cloud service." + } + }, + "description": "Describes a cloud service extension profile." + }, + "CloudServiceExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available." + }, + "forceUpdateTag": { + "type": "string", + "description": "Tag to force apply the provided public and protected settings.\r\nChanging the tag value allows for re-running the extension without changing any of the public or protected settings.\r\nIf forceUpdateTag is not changed, updates to public or protected settings would still be applied by the handler.\r\nIf neither forceUpdateTag nor any of public or protected settings change, extension would flow to the role instance with the same sequence-number, and\r\nit is up to handler implementation whether to re-run it or not" + }, + "protectedSettings": { + "type": "string", + "description": "Protected settings for the extension which are encrypted before sent to the role instance." + }, + "protectedSettingsFromKeyVault": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "rolesAppliedTo": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service." + }, + "settings": { + "type": "string", + "description": "Public settings for the extension. For JSON extensions, this is the JSON settings for the extension. For XML Extension (like RDP), this is the XML setting for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the extension. Specifies the version of the extension. If this element is not specified or an asterisk (*) is used as the value, the latest version of the extension is used. If the value is specified with a major version number and an asterisk as the minor version number (X.), the latest minor version of the specified major version is selected. If a major version number and a minor version number are specified (X.Y), the specific extension version is selected. If a version is specified, an auto-upgrade is performed on the role instance." + } + }, + "description": "Extension Properties." + }, + "CloudServiceNetworkProfile": { + "type": "object", + "properties": { + "loadBalancerConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of load balancer configurations for the cloud service." + }, + "swappableCloudService": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Network Profile for the cloud service." + }, + "CloudServiceOsProfile": { + "type": "object", + "properties": { + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CloudServiceVaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the role instances." + } + }, + "description": "Describes the OS profile for the cloud service." + }, + "CloudServiceProperties": { + "type": "object", + "properties": { + "configuration": { + "type": "string", + "description": "Specifies the XML service configuration (.cscfg) for the cloud service." + }, + "configurationUrl": { + "type": "string", + "description": "Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.\r\nThis is a write-only property and is not returned in GET calls." + }, + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceExtensionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a cloud service extension profile." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Profile for the cloud service." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceOsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the OS profile for the cloud service." + }, + "packageUrl": { + "type": "string", + "description": "Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.\r\nThis is a write-only property and is not returned in GET calls." + }, + "roleProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceRoleProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the role profile for the cloud service." + }, + "startCloudService": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "(Optional) Indicates whether to start the cloud service immediately after it is created. The default value is `true`.\r\nIf false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff." + }, + "upgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual", + "Simultaneous" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Cloud service properties" + }, + "CloudServiceRoleProfile": { + "type": "object", + "properties": { + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CloudServiceRoleProfileProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of roles for the cloud service." + } + }, + "description": "Describes the role profile for the cloud service." + }, + "CloudServiceRoleProfileProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceRoleSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the cloud service role sku." + } + }, + "description": "Describes the role properties." + }, + "CloudServiceRoleSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of role instances in the cloud service." + }, + "name": { + "type": "string", + "description": "The sku name. NOTE: If the new SKU is not supported on the hardware the cloud service is currently on, you need to delete and recreate the cloud service or move back to the old sku." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the cloud service. Possible Values are

    **Standard**

    **Basic**" + } + }, + "description": "Describes the cloud service role sku." + }, + "cloudServices_updateDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an integer value that identifies the update domain. Update domains are identified with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on." + }, + "type": { + "type": "string", + "enum": [ + "updateDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Compute/cloudServices/updateDomains" + }, + "CloudServiceVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "CloudServiceVaultCertificate": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret." + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the role instance." + }, + "CloudServiceVaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CloudServiceVaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "Extension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extension Properties." + } + }, + "description": "Describes a cloud service Extension." + }, + "LoadBalancerConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource Name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes the load balancer configuration." + }, + "LoadBalancerConfigurationProperties": { + "type": "object", + "properties": { + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerFrontendIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IP" + } + } + }, + "LoadBalancerFrontendIPConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a cloud service IP Configuration" + } + } + }, + "LoadBalancerFrontendIPConfigurationProperties": { + "type": "object", + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address referenced by the cloud service." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes a cloud service IP Configuration" + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + } + } +} \ No newline at end of file diff --git a/schemas/2020-10-01/Microsoft.OperationalInsights.json b/schemas/2020-10-01/Microsoft.OperationalInsights.json index 7361656ce1..b3e20f6f3d 100644 --- a/schemas/2020-10-01/Microsoft.OperationalInsights.json +++ b/schemas/2020-10-01/Microsoft.OperationalInsights.json @@ -170,9 +170,33 @@ } }, "definitions": { + "AssociatedWorkspace": { + "type": "object", + "properties": {}, + "description": "The list of Log Analytics workspaces associated with the cluster." + }, + "CapacityReservationProperties": { + "type": "object", + "properties": {}, + "description": "The Capacity Reservation properties." + }, "ClusterProperties": { "type": "object", "properties": { + "associatedWorkspaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AssociatedWorkspace" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Log Analytics workspaces associated with the cluster" + }, "billingType": { "oneOf": [ { @@ -188,6 +212,17 @@ ], "description": "Configures whether billing will be only on the cluster or each workspace will be billed by its proportional use. This does not change the overall billing, only how it will be distributed. Default value is 'Cluster'." }, + "capacityReservationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CapacityReservationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Capacity Reservation properties." + }, "isAvailabilityZonesEnabled": { "oneOf": [ { @@ -473,7 +508,8 @@ "PerNode", "PerGB2018", "Standalone", - "CapacityReservation" + "CapacityReservation", + "LACluster" ] }, { diff --git a/schemas/2020-10-20-preview/Microsoft.HealthBot.json b/schemas/2020-10-20-preview/Microsoft.HealthBot.json new file mode 100644 index 0000000000..7eecde31d7 --- /dev/null +++ b/schemas/2020-10-20-preview/Microsoft.HealthBot.json @@ -0,0 +1,153 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-20-preview/Microsoft.HealthBot.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.HealthBot", + "description": "Microsoft HealthBot Resource Types", + "resourceDefinitions": { + "healthBots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-20-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "minLength": 2, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Bot resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HealthBotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource model definition representing SKU" + }, + "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.HealthBot/healthBots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.HealthBot/healthBots" + } + }, + "definitions": { + "HealthBotProperties": { + "type": "object", + "properties": {}, + "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "F0", + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the HealthBot SKU." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Free", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + } + }, + "required": [ + "name" + ], + "description": "The resource model definition representing SKU" + } + } +} \ No newline at end of file diff --git a/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json b/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json new file mode 100644 index 0000000000..f9e1c985e0 --- /dev/null +++ b/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json @@ -0,0 +1,511 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.PowerPlatform", + "description": "Microsoft PowerPlatform Resource Types", + "resourceDefinitions": { + "enterprisePolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EnterprisePolicyIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity of the EnterprisePolicy." + }, + "name": { + "type": "string", + "description": "Name of the EnterprisePolicy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/Properties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define configuration for the enterprise policy." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/enterprisePolicies_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/enterprisePolicies_subnets_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.PowerPlatform/enterprisePolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies" + }, + "enterprisePolicies_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections" + }, + "enterprisePolicies_subnets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the subnet." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.PowerPlatform/enterprisePolicies/subnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/subnets" + } + }, + "definitions": { + "enterprisePolicies_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections" + }, + "enterprisePolicies_subnets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the subnet." + }, + "type": { + "type": "string", + "enum": [ + "subnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/subnets" + }, + "EnterprisePolicyIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the EnterprisePolicy. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "The identity of the EnterprisePolicy." + }, + "KeyProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The identifier of the key vault key used to encrypt data." + }, + "version": { + "type": "string", + "description": "The version of the identity which will be used to access key vault." + } + }, + "description": "Url and version of the KeyVault Secret" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Uri of KeyVault" + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/KeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Url and version of the KeyVault Secret" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "NotConfigured" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of onboarding, which only appears in the response." + } + }, + "description": "Settings concerning key vault encryption for a configuration store." + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "Properties": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/PropertiesEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption settings for a configuration store." + }, + "lockbox": { + "oneOf": [ + { + "$ref": "#/definitions/PropertiesLockbox" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings concerning lockbox." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "description": "The properties that define configuration for the enterprise policy." + }, + "PropertiesEncryption": { + "type": "object", + "properties": { + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings concerning key vault encryption for a configuration store." + } + }, + "description": "The encryption settings for a configuration store." + }, + "PropertiesLockbox": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "NotConfigured" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "lockbox configuration." + } + }, + "description": "Settings concerning lockbox." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } +} \ No newline at end of file diff --git a/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json b/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json new file mode 100644 index 0000000000..1a76990996 --- /dev/null +++ b/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json @@ -0,0 +1,2434 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerRegistry", + "description": "Microsoft ContainerRegistry Resource Types", + "resourceDefinitions": { + "registries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the container registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a container registry." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/registries_connectedRegistries_childResource" + }, + { + "$ref": "#/definitions/registries_exportPipelines_childResource" + }, + { + "$ref": "#/definitions/registries_importPipelines_childResource" + }, + { + "$ref": "#/definitions/registries_pipelineRuns_childResource" + }, + { + "$ref": "#/definitions/registries_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/registries_replications_childResource" + }, + { + "$ref": "#/definitions/registries_scopeMaps_childResource" + }, + { + "$ref": "#/definitions/registries_tokens_childResource" + }, + { + "$ref": "#/definitions/registries_webhooks_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of a container registry." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries" + }, + "registries_connectedRegistries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the connected registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a connected registry." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/connectedRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/connectedRegistries" + }, + "registries_exportPipelines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the export pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the export pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an export pipeline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/exportPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/exportPipelines" + }, + "registries_importPipelines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the import pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the import pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an import pipeline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/importPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/importPipelines" + }, + "registries_pipelineRuns": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the pipeline run." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a pipeline run." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/pipelineRuns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/pipelineRuns" + }, + "registries_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + }, + "registries_replications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the replication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a replication." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/replications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/replications" + }, + "registries_scopeMaps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-_]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the scope map." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a scope map." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/scopeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/scopeMaps" + }, + "registries_tokens": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the token." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TokenProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a token." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/tokens" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/tokens" + }, + "registries_webhooks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the webhook. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the webhook." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebhookPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for creating the properties of a webhook." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the webhook." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/webhooks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/webhooks" + } + }, + "definitions": { + "ConnectedRegistryProperties": { + "type": "object", + "properties": { + "clientTokenIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry." + }, + "logging": { + "oneOf": [ + { + "$ref": "#/definitions/LoggingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The logging properties of the connected registry." + }, + "loginServer": { + "oneOf": [ + { + "$ref": "#/definitions/LoginServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The login server properties of the connected registry." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Registry", + "Mirror" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode of the connected registry resource that indicates the permissions of the registry." + }, + "parent": { + "oneOf": [ + { + "$ref": "#/definitions/ParentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the connected registry parent." + } + }, + "required": [ + "mode", + "parent" + ], + "description": "The properties of a connected registry." + }, + "EncryptionProperty": { + "type": "object", + "properties": { + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not the encryption is enabled for container registry." + } + } + }, + "ExportPipelineProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of all options configured for the pipeline." + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineTargetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the export pipeline target." + } + }, + "required": [ + "target" + ], + "description": "The properties of an export pipeline." + }, + "ExportPipelineTargetProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "They key vault secret uri to obtain the target storage SAS token." + }, + "type": { + "type": "string", + "description": "The type of target for the export pipeline." + }, + "uri": { + "type": "string", + "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"" + } + }, + "required": [ + "keyVaultUri" + ], + "description": "The properties of the export pipeline target." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Managed identity for the resource." + }, + "ImportPipelineProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of all options configured for the pipeline." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the import pipeline source." + }, + "trigger": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineTriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "source" + ], + "description": "The properties of an import pipeline." + }, + "ImportPipelineSourceProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "They key vault secret uri to obtain the source storage SAS token." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlobContainer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of source for the import pipeline." + }, + "uri": { + "type": "string", + "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"" + } + }, + "required": [ + "keyVaultUri" + ], + "description": "The properties of the import pipeline source." + }, + "IPRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action of IP ACL rule." + }, + "value": { + "type": "string", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The client id of the identity which will be used to access key vault." + }, + "keyIdentifier": { + "type": "string", + "description": "Key vault uri to access the encryption key." + } + } + }, + "LoggingProperties": { + "type": "object", + "properties": { + "auditLogStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether audit logs are enabled on the connected registry." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Debug", + "Information", + "Warning", + "Error", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The verbosity of logs persisted on the connected registry." + } + }, + "description": "The logging properties of the connected registry." + }, + "LoginServerProperties": { + "type": "object", + "properties": {}, + "description": "The login server properties of the connected registry." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default action of allow or deny when no other rules match." + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP ACL rules." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual network rules." + } + }, + "required": [ + "defaultAction" + ], + "description": "The network rule set for a container registry." + }, + "ParentProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the parent to which the connected registry will be associated." + }, + "syncProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sync properties of the connected registry with its parent." + } + }, + "required": [ + "syncProperties" + ], + "description": "The properties of the connected registry parent." + }, + "PipelineRunProperties": { + "type": "object", + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed." + }, + "request": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunRequest" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The request properties provided for a pipeline run." + } + }, + "description": "The properties of a pipeline run." + }, + "PipelineRunRequest": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123')." + }, + "catalogDigest": { + "type": "string", + "description": "The digest of the tar used to transfer the artifacts." + }, + "pipelineResourceId": { + "type": "string", + "description": "The resource ID of the pipeline to run." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunTargetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The request properties provided for a pipeline run." + }, + "PipelineRunSourceProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the source." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the source." + } + } + }, + "PipelineRunTargetProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the target." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the target." + } + } + }, + "PipelineSourceTriggerProperties": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current status of the source trigger." + } + }, + "required": [ + "status" + ] + }, + "PipelineTriggerProperties": { + "type": "object", + "properties": { + "sourceTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineSourceTriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "Policies": { + "type": "object", + "properties": { + "quarantinePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/QuarantinePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The quarantine policy for a container registry." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The retention policy for a container registry." + }, + "trustPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/TrustPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The content trust policy for a container registry." + } + }, + "description": "The policies for a container registry." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This is private endpoint resource created with Microsoft.Network resource provider." + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link service connection." + } + }, + "description": "The properties of a private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Recreate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link service connection status." + } + }, + "description": "The state of a private link service connection." + }, + "QuarantinePolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The quarantine policy for a container registry." + }, + "registries_connectedRegistries_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the connected registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a connected registry." + }, + "type": { + "type": "string", + "enum": [ + "connectedRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/connectedRegistries" + }, + "registries_exportPipelines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the export pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the export pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an export pipeline." + }, + "type": { + "type": "string", + "enum": [ + "exportPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/exportPipelines" + }, + "registries_importPipelines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the import pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the import pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an import pipeline." + }, + "type": { + "type": "string", + "enum": [ + "importPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/importPipelines" + }, + "registries_pipelineRuns_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the pipeline run." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a pipeline run." + }, + "type": { + "type": "string", + "enum": [ + "pipelineRuns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/pipelineRuns" + }, + "registries_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + }, + "registries_replications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the replication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a replication." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "replications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/replications" + }, + "registries_scopeMaps_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-_]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the scope map." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a scope map." + }, + "type": { + "type": "string", + "enum": [ + "scopeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/scopeMaps" + }, + "registries_tokens_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the token." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TokenProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a token." + }, + "type": { + "type": "string", + "enum": [ + "tokens" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/tokens" + }, + "registries_webhooks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the webhook. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the webhook." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebhookPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for creating the properties of a webhook." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the webhook." + }, + "type": { + "type": "string", + "enum": [ + "webhooks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/webhooks" + }, + "RegistryProperties": { + "type": "object", + "properties": { + "adminUserEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the admin user is enabled." + }, + "dataEndpointEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable a single data endpoint per region for serving data." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "networkRuleBypassOptions": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureServices", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to allow trusted Azure services to access a network restricted registry." + }, + "networkRuleSet": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkRuleSet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network rule set for a container registry." + }, + "policies": { + "oneOf": [ + { + "$ref": "#/definitions/Policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policies for a container registry." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public network access is allowed for the container registry." + }, + "storageAccount": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not zone redundancy is enabled for this container registry." + } + }, + "description": "The properties of a container registry." + }, + "ReplicationProperties": { + "type": "object", + "properties": { + "regionEndpointEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not zone redundancy is enabled for this container registry replication." + } + }, + "description": "The properties of a replication." + }, + "RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer", + "default": "7" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of days to retain an untagged manifest after which it gets purged." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The retention policy for a container registry." + }, + "ScopeMapProperties": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write" + }, + "description": { + "type": "string", + "description": "The user friendly description of the scope map." + } + }, + "required": [ + "actions" + ], + "description": "The properties of a scope map." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU name of the container registry. Required for registry creation." + } + }, + "required": [ + "name" + ], + "description": "The SKU of a container registry." + }, + "StorageAccountProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the storage account." + } + }, + "required": [ + "id" + ], + "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU." + }, + "SyncProperties": { + "type": "object", + "properties": { + "messageTtl": { + "type": "string", + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601." + }, + "schedule": { + "type": "string", + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent." + }, + "syncWindow": { + "type": "string", + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601." + }, + "tokenId": { + "type": "string", + "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync." + } + }, + "required": [ + "messageTtl", + "tokenId" + ], + "description": "The sync properties of the connected registry with its parent." + }, + "TokenCertificate": { + "type": "object", + "properties": { + "encodedPemCertificate": { + "type": "string", + "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token." + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The expiry datetime of the certificate." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "certificate1", + "certificate2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of the certificate." + } + }, + "description": "The properties of a certificate used for authenticating a token." + }, + "TokenCredentialsProperties": { + "type": "object", + "properties": { + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "passwords": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The properties of the credentials that can be used for authenticating the token." + }, + "TokenPassword": { + "type": "object", + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime of the password." + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The expiry datetime of the password." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "password1", + "password2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The password name \"password1\" or \"password2\"." + } + }, + "description": "The password that will be used for authenticating the token of a container registry." + }, + "TokenProperties": { + "type": "object", + "properties": { + "credentials": { + "oneOf": [ + { + "$ref": "#/definitions/TokenCredentialsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the credentials that can be used for authenticating the token." + }, + "scopeMapId": { + "type": "string", + "description": "The resource ID of the scope map to which the token will be associated with." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the token example enabled or disabled." + } + }, + "description": "The properties of a token." + }, + "TrustPolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Notary" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of trust policy." + } + }, + "description": "The content trust policy for a container registry." + }, + "UserIdentityProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The client id of user assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity." + } + } + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action of virtual network rule." + }, + "id": { + "type": "string", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + } + }, + "required": [ + "id" + ], + "description": "Virtual network rule." + }, + "WebhookPropertiesCreateParameters": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of actions that trigger the webhook to post notifications." + }, + "customHeaders": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom headers that will be added to the webhook notifications." + }, + "scope": { + "type": "string", + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events." + }, + "serviceUri": { + "type": "string", + "description": "The service URI for the webhook to post notifications." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the webhook at the time the operation was called." + } + }, + "required": [ + "actions", + "serviceUri" + ], + "description": "The parameters for creating the properties of a webhook." + } + } +} \ No newline at end of file diff --git a/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json b/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json index c436777731..a0253f81c2 100644 --- a/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json @@ -20,7 +20,7 @@ "name": { "type": "string", "minLength": 3, - "maxLength": 24, + "maxLength": 64, "description": "The name of the application group" }, "properties": { @@ -132,7 +132,7 @@ "name": { "type": "string", "minLength": 3, - "maxLength": 24, + "maxLength": 64, "description": "The name of the host pool within the specified resource group" }, "properties": { @@ -244,7 +244,7 @@ "name": { "type": "string", "minLength": 3, - "maxLength": 24, + "maxLength": 64, "description": "The name of the workspace" }, "properties": { diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 73893a3f0d..da893f7502 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -1117,6 +1117,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2018-09-01-preview/Microsoft.Attestation.json#/resourceDefinitions/attestationProviders" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-01/Microsoft.Attestation.json#/resourceDefinitions/attestationProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-30-preview/Microsoft.Automanage.json#/resourceDefinitions/accounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-30-preview/Microsoft.Automanage.json#/resourceDefinitions/configurationProfilePreferences" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-10-31/Microsoft.Automation.json#/resourceDefinitions/automationAccounts" }, @@ -1198,6 +1207,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-01-13-preview/Microsoft.Automation.json#/resourceDefinitions/automationAccounts_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json#/resourceDefinitions/accounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json#/resourceDefinitions/accounts_dataPools" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-08-09-preview/Microsoft.AVS.json#/resourceDefinitions/privateClouds" }, @@ -1669,6 +1684,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-08-20-preview/Microsoft.Communication.json#/resourceDefinitions/communicationServices" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#/resourceDefinitions/organizations" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-01-31/Microsoft.Consumption.json#/resourceDefinitions/budgets" }, @@ -1810,6 +1828,36 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-12-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_connectedRegistries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_exportPipelines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_importPipelines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_pipelineRuns" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_replications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_scopeMaps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_tokens" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.ContainerService.json#/resourceDefinitions/containerServices" }, @@ -2071,6 +2119,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.DataCatalog.json#/resourceDefinitions/catalogs" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors_singleSignOnConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors_tagRules" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-09-01-preview/Microsoft.DataFactory.json#/resourceDefinitions/factories" }, @@ -2158,6 +2215,57 @@ { "$ref": "https://schema.management.azure.com/schemas/2016-11-01/Microsoft.DataLakeStore.json#/resourceDefinitions/accounts_virtualNetworkRules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-11-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-11-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-11-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_files" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_serviceTasks" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-11-01-preview/Microsoft.DataShare.json#/resourceDefinitions/accounts" }, @@ -3607,6 +3715,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_extensions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-20-preview/Microsoft.HealthBot.json#/resourceDefinitions/healthBots" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-08-20-preview/Microsoft.HealthcareApis.json#/resourceDefinitions/services" }, @@ -3682,6 +3793,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-06-01/Microsoft.HybridData.json#/resourceDefinitions/dataManagers_dataStores" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/resourceDefinitions/devices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/resourceDefinitions/networkFunctions" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-11-01/Microsoft.ImportExport.json#/resourceDefinitions/jobs" }, @@ -3694,6 +3811,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-10-01-preview/Microsoft.IoTSpaces.json#/resourceDefinitions/Graph" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Kubernetes.json#/resourceDefinitions/connectedClusters" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-10-15/Microsoft.LabServices.json#/resourceDefinitions/labaccounts" }, @@ -3937,6 +4057,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_vmwarecollectors" }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections_moveResources" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-08-15/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" }, @@ -4054,6 +4180,48 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_backups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_snapshots" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_backups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_snapshots" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-08-01/Microsoft.Network.FrontDoor.json#/resourceDefinitions/frontDoors" }, @@ -4336,6 +4504,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-10-01/Microsoft.PowerBIDedicated.json#/resourceDefinitions/capacities" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#/resourceDefinitions/enterprisePolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#/resourceDefinitions/enterprisePolicies_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#/resourceDefinitions/enterprisePolicies_subnets" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-30/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openShiftClusters" },