diff --git a/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json b/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json
new file mode 100644
index 0000000000..b1c291a1c0
--- /dev/null
+++ b/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json
@@ -0,0 +1,1582 @@
+{
+ "id": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json#",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "Microsoft.AzureStackHCI",
+ "description": "Microsoft AzureStackHCI Resource Types",
+ "resourceDefinitions": {
+ "galleryimages": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2021-07-01-preview"
+ ]
+ },
+ "extendedLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GalleryimagesExtendedLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "The extendedLocation of the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 64,
+ "description": "Name of the gallery image"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/GalleryimagesProperties"
+ },
+ {
+ "$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.AzureStackHCI/galleryimages"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.AzureStackHCI/galleryimages"
+ },
+ "networkinterfaces": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2021-07-01-preview"
+ ]
+ },
+ "extendedLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/NetworkinterfacesExtendedLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/NetworkinterfacesProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCNetworkInterfaceSpec defines the desired state of MOCNetworkInterface"
+ },
+ "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.AzureStackHCI/networkinterfaces"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.AzureStackHCI/networkinterfaces"
+ },
+ "virtualharddisks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2021-07-01-preview"
+ ]
+ },
+ "extendedLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualharddisksExtendedLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualharddisksProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCVirtualHardDiskSpec defines the desired state of MOCVirtualHardDisk"
+ },
+ "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.AzureStackHCI/virtualharddisks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.AzureStackHCI/virtualharddisks"
+ },
+ "virtualmachines": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2021-07-01-preview"
+ ]
+ },
+ "extendedLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesExtendedLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCVirtualMachineSpec defines the desired state of MOCVirtualMachine"
+ },
+ "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.AzureStackHCI/virtualmachines"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.AzureStackHCI/virtualmachines"
+ },
+ "virtualnetworks": {
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "type": "string",
+ "enum": [
+ "2021-07-01-preview"
+ ]
+ },
+ "extendedLocation": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualnetworksExtendedLocation"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "The geo-location where the resource lives"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualnetworksProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCVirtualNetworkSpec defines the desired state of MOCVirtualNetwork"
+ },
+ "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.AzureStackHCI/virtualnetworks"
+ ]
+ }
+ },
+ "required": [
+ "apiVersion",
+ "location",
+ "name",
+ "properties",
+ "type"
+ ],
+ "description": "Microsoft.AzureStackHCI/virtualnetworks"
+ }
+ },
+ "definitions": {
+ "Componentsl15gkaschemasvirtualnetworkspropertiespropertiessubnetsitemspropertiespropertiespropertiesroutetable": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Etag - Gets a unique read-only string that changes whenever the resource is updated."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name - READ-ONLY; Resource name."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Componentsoycd2yschemasvirtualnetworkspropertiespropertiessubnetsitemspropertiespropertiespropertiesroutetablepropertiesproperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "RouteTablePropertiesFormat route Table resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type - READ-ONLY; Resource type."
+ }
+ },
+ "description": "RouteTable for the subnet"
+ },
+ "Componentsoycd2yschemasvirtualnetworkspropertiespropertiessubnetsitemspropertiespropertiespropertiesroutetablepropertiesproperties": {
+ "type": "object",
+ "properties": {
+ "routes": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualnetworksPropertiesSubnetsPropertiesPropertiesPropertiesPropertiesItemsItem"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Routes - Collection of routes contained within a route table."
+ }
+ },
+ "description": "RouteTablePropertiesFormat route Table resource."
+ },
+ "Componentsvqks9hschemasvirtualnetworkspropertiespropertiessubnetsitemspropertiespropertiespropertiesipconfigurationreferencesitems": {
+ "type": "object",
+ "properties": {
+ "ID": {
+ "type": "string",
+ "description": "Name of the Ip Configuration"
+ }
+ },
+ "description": "IPConfigurationReference - Describes a IPConfiguration under the virtual network"
+ },
+ "GalleryimagesExtendedLocation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The extended location name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The extended location type."
+ }
+ },
+ "description": "The extendedLocation of the resource."
+ },
+ "GalleryimagesProperties": {
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "type": "string",
+ "description": "Container Name for storage container"
+ },
+ "imagePath": {
+ "type": "string",
+ "description": "location of the image the gallery image should be created from"
+ },
+ "osType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Windows",
+ "Linux"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "operating system type that the gallery image uses. Expected to be linux or windows."
+ },
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Provisioning state of the gallery image."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "name of the object to be used in moc"
+ },
+ "status": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MOCGalleryImageStatus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCGalleryImageStatus defines the desired state of MOCGalleryImage"
+ }
+ }
+ },
+ "InterfaceDNSSettings": {
+ "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 server IP Addresses for the interface"
+ }
+ }
+ },
+ "IpConfiguration": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name - The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IpConfigurationProperties"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "InterfaceIPConfigurationPropertiesFormat properties of IP configuration."
+ }
+ },
+ "description": "InterfaceIPConfiguration iPConfiguration in a network interface."
+ },
+ "IpConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "gateway": {
+ "type": "string",
+ "description": "Gateway for network interface"
+ },
+ "prefixLength": {
+ "type": "string",
+ "description": "prefixLength for network interface"
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "PrivateIPAddress - Private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "PrivateIPAllocationMethod - The private IP address allocation method."
+ },
+ "subnet": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IpConfigurationPropertiesSubnet"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Subnet - Name of Subnet bound to the IP configuration."
+ }
+ },
+ "description": "InterfaceIPConfigurationPropertiesFormat properties of IP configuration."
+ },
+ "IpConfigurationPropertiesSubnet": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID - The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..."
+ }
+ },
+ "description": "Subnet - Name of Subnet bound to the IP configuration."
+ },
+ "IPPool": {
+ "type": "object",
+ "properties": {
+ "end": {
+ "type": "string",
+ "description": "Last IP of the pool"
+ },
+ "info": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/IPPoolInfo"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "ipPoolType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "vm",
+ "vippool"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "ip pool type."
+ },
+ "start": {
+ "type": "string",
+ "description": "First IP of the pool"
+ }
+ }
+ },
+ "IPPoolInfo": {
+ "type": "object",
+ "properties": {}
+ },
+ "MOCGalleryImageStatus": {
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "GalleryImage provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ }
+ },
+ "description": "MOCGalleryImageStatus defines the desired state of MOCGalleryImage"
+ },
+ "MOCNetworkInterfaceStatus": {
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "NetworkInterface provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ }
+ },
+ "description": "MOCNetworkInterfaceStatus defines the desired state of MOCNetworkInterface"
+ },
+ "MOCVirtualHardDiskStatus": {
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "NetworkInterface provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ }
+ },
+ "description": "MOCVirtualHardDiskStatus defines the desired state of MocVirtualHardDisk"
+ },
+ "MOCVirtualMachineStatus": {
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "VM provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ },
+ "powerState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Deallocated",
+ "Deallocating",
+ "Running",
+ "Starting",
+ "Stopped",
+ "Stopping",
+ "Unknown"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "PowerState of the VM."
+ }
+ },
+ "description": "MOCVirtualMachineSpec defines the desired state of MOCVirtualMachine"
+ },
+ "MOCVirtualNetworkStatus": {
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "type": "string",
+ "description": "VirtualNetwork provisioning error code"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Descriptive error message"
+ }
+ },
+ "description": "MOCVirtualNetworkStatus defines the desired state of MOCVirtualNetwork"
+ },
+ "NetworkinterfacesExtendedLocation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The extended location name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The extended location type."
+ }
+ }
+ },
+ "NetworkinterfacesProperties": {
+ "type": "object",
+ "properties": {
+ "dnsSettings": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/InterfaceDNSSettings"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "ipConfigurations": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpConfiguration"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IPConfigurations - A list of IPConfigurations of the network interface."
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "MacAddress - The MAC address of the network interface."
+ },
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "name of the object to be used in moc"
+ },
+ "status": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MOCNetworkInterfaceStatus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCNetworkInterfaceStatus defines the desired state of MOCNetworkInterface"
+ }
+ },
+ "description": "MOCNetworkInterfaceSpec defines the desired state of MOCNetworkInterface"
+ },
+ "VirtualharddisksExtendedLocation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The extended location name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The extended location type."
+ }
+ }
+ },
+ "VirtualharddisksProperties": {
+ "type": "object",
+ "properties": {
+ "blockSizeBytes": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "diskSizeBytes": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "diskSizeBytes - size of the disk in GB"
+ },
+ "dynamic": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Boolean for enabling dynamic sizing on the virtual hard disk"
+ },
+ "logicalSectorBytes": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "physicalSectorBytes": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "name of the object to be used in moc"
+ },
+ "status": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MOCVirtualHardDiskStatus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCVirtualHardDiskStatus defines the desired state of MocVirtualHardDisk"
+ }
+ },
+ "description": "MOCVirtualHardDiskSpec defines the desired state of MOCVirtualHardDisk"
+ },
+ "VirtualmachinesExtendedLocation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The extended location name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The extended location type."
+ }
+ }
+ },
+ "VirtualmachinesProperties": {
+ "type": "object",
+ "properties": {
+ "hardwareProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesHardwareProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "HardwareProfile - Specifies the hardware settings for the virtual machine."
+ },
+ "networkProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesNetworkProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "NetworkProfile - describes the network configuration the virtual machine"
+ },
+ "osProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "OsProfile - describes the configuration of the operating system and sets login data"
+ },
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "name of the object to be used in moc"
+ },
+ "securityProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesSecurityProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "SecurityProfile - Specifies the security settings for the virtual machine."
+ },
+ "status": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MOCVirtualMachineStatus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCVirtualMachineSpec defines the desired state of MOCVirtualMachine"
+ },
+ "storageProfile": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesStorageProfile"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "StorageProfile - contains information about the disks and storage information for the virtual machine"
+ }
+ },
+ "description": "MOCVirtualMachineSpec defines the desired state of MOCVirtualMachine"
+ },
+ "VirtualmachinesPropertiesHardwareProfile": {
+ "type": "object",
+ "properties": {
+ "dynamicMemoryConfig": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesHardwareProfileDynamicMemoryConfig"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "memoryGB": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "RAM in gb for the virtual machine"
+ },
+ "processors": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "number of processors for the virtual machine"
+ },
+ "vmSize": {
+ "type": "string"
+ }
+ },
+ "description": "HardwareProfile - Specifies the hardware settings for the virtual machine."
+ },
+ "VirtualmachinesPropertiesHardwareProfileDynamicMemoryConfig": {
+ "type": "object",
+ "properties": {
+ "maximumMemoryGB": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "minimumMemoryGB": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "targetMemoryBuffer": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ }
+ },
+ "VirtualmachinesPropertiesNetworkProfile": {
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualmachinesPropertiesNetworkProfileNetworkInterfacesItem"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "NetworkInterfaces - list of network interfaces to be attached to the virtual machine"
+ }
+ },
+ "description": "NetworkProfile - describes the network configuration the virtual machine"
+ },
+ "VirtualmachinesPropertiesNetworkProfileNetworkInterfacesItem": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the network interface"
+ }
+ }
+ },
+ "VirtualmachinesPropertiesOsProfile": {
+ "type": "object",
+ "properties": {
+ "adminPassword": {
+ "type": "string",
+ "description": "AdminPassword - admin password"
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "AdminUsername - admin username"
+ },
+ "computerName": {
+ "type": "string",
+ "description": "ComputerName - name of the compute"
+ },
+ "linuxConfiguration": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfileLinuxConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "LinuxConfiguration - linux specific configuration values for the virtual machine"
+ },
+ "osType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Linux",
+ "Windows"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "OsType - string specifying whether the OS is Linux or Windows."
+ },
+ "windowsConfiguration": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfileWindowsConfiguration"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Windows Configuration for the virtual machine "
+ }
+ },
+ "description": "OsProfile - describes the configuration of the operating system and sets login data"
+ },
+ "VirtualmachinesPropertiesOsProfileLinuxConfiguration": {
+ "type": "object",
+ "properties": {
+ "disablePasswordAuthentication": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "DisablePasswordAuthentication - whether password authentication should be disabled"
+ },
+ "ssh": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfileLinuxConfigurationSsh"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "SSH - contains settings related to ssh configuration"
+ }
+ },
+ "description": "LinuxConfiguration - linux specific configuration values for the virtual machine"
+ },
+ "VirtualmachinesPropertiesOsProfileLinuxConfigurationSsh": {
+ "type": "object",
+ "properties": {
+ "publicKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfileLinuxConfigurationSshPublicKeysItem"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "PublicKeys - The list of SSH public keys used to authenticate with linux based VMs."
+ }
+ },
+ "description": "SSH - contains settings related to ssh configuration"
+ },
+ "VirtualmachinesPropertiesOsProfileLinuxConfigurationSshPublicKeysItem": {
+ "type": "object",
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "KeyData - 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 Li nux 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": "Path - 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"
+ }
+ }
+ },
+ "VirtualmachinesPropertiesOsProfileWindowsConfiguration": {
+ "type": "object",
+ "properties": {
+ "enableAutomaticUpdates": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Whether to EnableAutomaticUpdates on the machine"
+ },
+ "ssh": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfileWindowsConfigurationSsh"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "SSH Configuration"
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "TimeZone for the virtual machine"
+ }
+ },
+ "description": "Windows Configuration for the virtual machine "
+ },
+ "VirtualmachinesPropertiesOsProfileWindowsConfigurationSsh": {
+ "type": "object",
+ "properties": {
+ "publicKeys": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualmachinesPropertiesOsProfileWindowsConfigurationSshPublicKeysItem"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "PublicKeys - The list of SSH public keys used to authenticate with linux based VMs."
+ }
+ },
+ "description": "SSH Configuration"
+ },
+ "VirtualmachinesPropertiesOsProfileWindowsConfigurationSshPublicKeysItem": {
+ "type": "object",
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "KeyData - 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 Li nux 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": "Path - 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"
+ }
+ }
+ },
+ "VirtualmachinesPropertiesSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "enableTPM": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ }
+ },
+ "description": "SecurityProfile - Specifies the security settings for the virtual machine."
+ },
+ "VirtualmachinesPropertiesStorageProfile": {
+ "type": "object",
+ "properties": {
+ "dataDisks": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualmachinesPropertiesStorageProfileDataDisksItem"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "adds data disks to the virtual machine"
+ },
+ "imageReference": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualmachinesPropertiesStorageProfileImageReference"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Which Image to use for the virtual machine"
+ }
+ },
+ "description": "StorageProfile - contains information about the disks and storage information for the virtual machine"
+ },
+ "VirtualmachinesPropertiesStorageProfileDataDisksItem": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "VirtualmachinesPropertiesStorageProfileImageReference": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name - Name of the image"
+ }
+ },
+ "description": "Which Image to use for the virtual machine"
+ },
+ "VirtualnetworksExtendedLocation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The extended location name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The extended location type."
+ }
+ }
+ },
+ "VirtualnetworksProperties": {
+ "type": "object",
+ "properties": {
+ "networkType": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "NAT",
+ "Transparent",
+ "L2Bridge",
+ "L2Tunnel",
+ "ICS",
+ "Private",
+ "Overlay",
+ "Internal",
+ "Mirrored"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Type of the network."
+ },
+ "provisioningState": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ]
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "name of the object to be used in moc"
+ },
+ "status": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/MOCVirtualNetworkStatus"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "MOCVirtualNetworkStatus defines the desired state of MOCVirtualNetwork"
+ },
+ "subnets": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualnetworksPropertiesSubnetsItemModel"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Subnet - list of subnets under the virtual network"
+ }
+ },
+ "description": "MOCVirtualNetworkSpec defines the desired state of MOCVirtualNetwork"
+ },
+ "VirtualnetworksPropertiesSubnetsItem": {
+ "type": "object",
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "Cidr for this subnet - IPv4, IPv6"
+ },
+ "addressPrefixes": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "AddressPrefixes - List of address prefixes for the subnet."
+ },
+ "ipAllocationMethod": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ]
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IPAllocationMethod - The IP address allocation method."
+ },
+ "ipConfigurationReferences": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Componentsvqks9hschemasvirtualnetworkspropertiespropertiessubnetsitemspropertiespropertiespropertiesipconfigurationreferencesitems"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "IPConfigurationReferences - list of IPConfigurationReferences"
+ },
+ "ipPools": {
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPPool"
+ }
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "network associated pool of IP Addresses"
+ },
+ "routeTable": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Componentsl15gkaschemasvirtualnetworkspropertiespropertiessubnetsitemspropertiespropertiespropertiesroutetable"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "RouteTable for the subnet"
+ },
+ "vlan": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "Vlan to use for the subnet"
+ }
+ },
+ "description": "SubnetProperties - Properties of the subnet."
+ },
+ "VirtualnetworksPropertiesSubnetsItemModel": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name - The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualnetworksPropertiesSubnetsItem"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "SubnetProperties - Properties of the subnet."
+ }
+ },
+ "description": "Subnet subnet in a virtual network resource."
+ },
+ "VirtualnetworksPropertiesSubnetsItemRouteTableRoutesItem": {
+ "type": "object",
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "AddressPrefix - The destination CIDR to which the route applies."
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "NextHopIPAddress - The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance."
+ }
+ },
+ "description": "RoutePropertiesFormat - Properties of the route."
+ },
+ "VirtualnetworksPropertiesSubnetsPropertiesPropertiesPropertiesPropertiesItemsItem": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name - name of the subnet"
+ },
+ "properties": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/VirtualnetworksPropertiesSubnetsItemRouteTableRoutesItem"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
+ }
+ ],
+ "description": "RoutePropertiesFormat - Properties of the route."
+ }
+ },
+ "description": "Route is associated with a subnet."
+ }
+ }
+}
\ No newline at end of file
diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json
index 30b8242c98..6c5b92ef74 100644
--- a/schemas/common/autogeneratedResources.json
+++ b/schemas/common/autogeneratedResources.json
@@ -2596,6 +2596,21 @@
{
"$ref": "https://schema.management.azure.com/schemas/2021-01-01-preview/Microsoft.AzureStackHCI.json#/resourceDefinitions/clusters_arcSettings_extensions"
},
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json#/resourceDefinitions/galleryimages"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json#/resourceDefinitions/networkinterfaces"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json#/resourceDefinitions/virtualharddisks"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json#/resourceDefinitions/virtualmachines"
+ },
+ {
+ "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.AzureStackHCI.json#/resourceDefinitions/virtualnetworks"
+ },
{
"$ref": "https://schema.management.azure.com/schemas/2021-09-01/Microsoft.AzureStackHCI.json#/resourceDefinitions/clusters"
},