Resources/Schema/New-CmAzIaasVm.Schema.json

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "New-CmAzIaasVm",
    "type": "object",
    "title": "New-CmAzIaasVm",
    "description": "Settings Root.",
    "required": [
        "location",
        "service",
        "diskEncryptionKey",
        "groups"
    ],
    "properties": {
        "component": {
            "$id": "#/component",
            "type": ["string", "null"],
            "title": "Component",
            "description": "Value to determine what cmdlet should be dynamically loaded for these settings."
        },
        "location": {
            "$id": "#/location",
            "type": "string",
            "title": "Location",
            "description": "Default location for all deployed resources."
        },
        "dscConfigNode": {
            "$id": "#/dscConfigNode",
            "type": ["string", "null"],
            "title": "DSCConfigNode",
            "description": "Name of the compiled configuration node in automation account."
        },
        "service": {
            "$id": "#/service",
            "type": "object",
            "title": "Service",
            "description": "Contains dependency and publish details for service location.",
            "required": [
                "dependencies"
            ],
            "properties": {
                "dependencies": {
                    "$id": "#/service/dependencies",
                    "type": "object",
                    "title": "Dependencies",
                    "description": "Contains dependency details for service location.",
                    "required": [
                        "automation",
                        "keyvault",
                        "workspace"
                    ],
                    "properties": {
                        "automation": {
                            "$id": "#/service/dependencies/automation",
                            "type": "string",
                            "title": "Automation",
                            "description": "Dependency value to fetch existing resource type."
                        },
                        "keyvault": {
                            "$id": "#/service/dependencies/keyvault",
                            "type": "string",
                            "title": "Keyvault",
                            "description": "Dependency value to fetch existing resource type."
                        },
                        "vnet": {
                            "$id": "#/service/dependencies/vnet",
                            "type": ["string", "null"],
                            "title": "VNet",
                            "description": "Global default dependency value to fetch existing resource type."
                        },
                        "workspace": {
                            "$id": "#/service/dependencies/workspace",
                            "type": "string",
                            "title": "Workspace",
                            "description": "Dependency value to fetch existing resource type."
                        }
                    },
                    "additionalProperties": false
                },
                "publish": {
                    "$id": "#/service/publish",
                    "type": ["object", "null"],
                    "title": "Publish",
                    "description": "Contains publish details for service location.",
                    "properties": {
                        "resourceGroup": {
                            "$id": "#/service/publish/resourceGroup",
                            "type": ["string", "null"],
                            "title": "ResourceGroup",
                            "description": "Global default value to publish on deployed resource type."
                        },
                        "vm": {
                            "$id": "#/service/publish/vm",
                            "type": ["string", "null"],
                            "title": "VM",
                            "description": "Global default value to publish on deployed resource type."
                        },
                        "nic": {
                            "$id": "#/service/publish/nic",
                            "type": ["string", "null"],
                            "title": "NIC",
                            "description": "Global default value to publish on deployed resource type."
                        },
                        "proximityPlacementGroup": {
                            "$id": "#/service/publish/proximityPlacementGroup",
                            "type": ["string", "null"],
                            "title": "proximityPlacementGroup",
                            "description": "Global default value to publish on deployed resource type."
                        },
                        "availabilitySet": {
                            "$id": "#/service/publish/availabilitySet",
                            "type": ["string", "null"],
                            "title": "availabilitySet",
                            "description": "Global default value to publish on deployed resource type."
                        }
                    },
                    "additionalProperties": false
                }
            },
            "additionalProperties": false
        },
        "diskEncryptionKey": {
            "$id": "#/diskEncryptionKey",
            "type": "string",
            "title": "DiskEncryptionKey",
            "description": "Name of key encryption key in the existing key vault."
        },
        "groups": {
            "$id": "#/groups",
            "type": "array",
            "title": "Groups",
            "description": "Contains list of details required to deploy resource groups, vm's and associated resources.",
            "items": {
                "$id": "#/groups/items",
                "minItems": 1,
                "allOf": [
                    {
                        "$id": "#/groups/items/allOf",
                        "type": "object",
                        "required": [
                            "name",
                            "virtualMachines"
                        ],
                        "properties": {
                            "name": {
                                "$id": "#/groups/items/allOf/name",
                                "type": "string",
                                "title": "Name",
                                "description": "Becomes part of the generated resource group's name."
                            },
                            "location": {
                                "$id": "#/groups/items/allOf/location",
                                "type": ["string", "null"],
                                "title": "Location",
                                "description": "Resource group deployment location"
                            },
                            "service": {
                                "$id": "#/groups/items/allOf/service",
                                "type": ["object", "null"],
                                "title": "Service",
                                "description": "Contains dependency and publish details for service location.",
                                "properties": {
                                    "publish": {
                                        "$id": "#/groups/items/allOf/service/publish",
                                        "type": ["object", "null"],
                                        "title": "Publish",
                                        "description": "Contains publish details for service location.",
                                        "properties": {
                                            "resourceGroup": {
                                                "$id": "#/groups/items/allOf/service/publish/resourceGroup",
                                                "type": ["string", "null"],
                                                "title": "ResourceGroup",
                                                "description": "Local overriding value to publish on deployed existing resource type."
                                            }
                                        },
                                        "additionalProperties": false
                                    }
                                },
                                "additionalProperties": false
                            },
                            "proximityPlacementGroups": {
                                "$id": "#/groups/items/allOf/proximityPlacementGroups",
                                "type": ["array", "null"],
                                "title": "proximityPlacementGroups",
                                "description": "Contains list of details required to deploy proximityPlacementGroups.",
                                "items": {
                                    "$id": "#/groups/items/allOf/proximityPlacementGroups/items",
                                    "minLength" : 1,
                                    "allOf": [
                                        {
                                            "$id": "#/groups/items/allOf/proximityPlacementGroups/items/allOf",
                                            "type": "object",
                                            "required": [
                                                "name"
                                            ],
                                            "properties": {
                                                "name": {
                                                    "$id": "#/groups/items/allOf/proximityPlacementGroups/items/allOf/name",
                                                    "type": "string",
                                                    "title": "Name",
                                                    "description": "Becomes part of the generated proximityPlacementGroups name."
                                                },
                                                "location": {
                                                    "$id": "#/groups/items/allOf/proximityPlacementGroups/items/allOf/location",
                                                    "type": ["string", "null"],
                                                    "title": "Location",
                                                    "description": "ProximityPlacementGroup's location"
                                                },
                                                "service": {
                                                    "$id": "#/groups/items/allOf/proximityPlacementGroups/items/allOf/service",
                                                    "type": ["object", "null"],
                                                    "title": "Service",
                                                    "description": "Contains dependency and publish details for service location.",
                                                    "properties": {
                                                        "publish": {
                                                            "$id": "#/groups/items/allOf/proximityPlacementGroups/items/allOf/service/publish",
                                                            "type": ["object", "null"],
                                                            "title": "Publish",
                                                            "description": "Contains publish details for service location.",
                                                            "properties": {
                                                                "proximityPlacementGroup": {
                                                                    "$id": "#/groups/items/allOf/proximityPlacementGroups/items/allOf/service/publish/proximityPlacementGroup",
                                                                    "type": ["string", "null"],
                                                                    "title": "proximityPlacementGroup",
                                                                    "description": "Local overriding value to publish on deployed existing resource type."
                                                                }
                                                            },
                                                            "additionalProperties": false
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                }
                                            },
                                            "additionalProperties": false
                                        }
                                    ]
                                }
                            },
                            "availabilitySets": {
                                "$id": "#/groups/items/allOf/availabilitySets",
                                "type": ["array", "null"],
                                "title": "availabilitySets",
                                "description": "Contains list of details required to deploy availabilitySets.",
                                "items": {
                                    "$id": "#/groups/items/allOf/availabilitySets/items",
                                    "minLength" : 1,
                                    "allOf": [
                                        {
                                            "$id": "#/groups/items/allOf/availabilitySets/items/allOf",
                                            "type": "object",
                                            "required": [
                                                "name",
                                                "platformUpdateDomainCount",
                                                "platformFaultDomainCount",
                                                "sku"
                                            ],
                                            "properties": {
                                                "name": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/name",
                                                    "type": "string",
                                                    "title": "Name",
                                                    "description": "Becomes part of the generated availabilitySets name."
                                                },
                                                "location": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/location",
                                                    "type": ["string", "null"],
                                                    "title": "Location",
                                                    "description": "availabilitySets location"
                                                },
                                                "platformUpdateDomainCount": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/platformUpdateDomainCount",
                                                    "type": ["integer", "null"],
                                                    "title": "platformUpdateDomainCount",
                                                    "description": "Provide total number of Update Domains in Availability set."
                                                },
                                                "platformFaultDomainCount": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/platformFaultDomainCount",
                                                    "type": ["integer", "null"],
                                                    "title": "platformFaultDomainCount",
                                                    "description": "Provide total number of Fault Domains in availability set."
                                                },
                                                "proximityPlacementGroup": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/proximityPlacementGroup",
                                                    "type": ["string", "null"],
                                                    "title": "proximityPlacementGroup",
                                                    "description": "Specifies proximity placement group to attach with availability set."
                                                },
                                                "sku": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/sku",
                                                    "type": ["object", "null"],
                                                    "title": "sku",
                                                    "description": "sku details.",
                                                    "required": [
                                                        "name"
                                                    ],
                                                    "properties": {
                                                        "name": {
                                                            "$id": "#/groups/items/allOf/availabilitySets/items/allOf/sku/name",
                                                            "type": "string",
                                                            "title": "name",
                                                            "description": "The sku name.",
                                                            "enum": ["Classic", "Aligned", "classic", "aligned"]
                                                        },
                                                        "tier": {
                                                            "$id": "#/groups/items/allOf/availabilitySets/items/allOf/sku/tier",
                                                            "type": ["string", "null"],
                                                            "title": "tier",
                                                            "enum": ["Standard", "Basic", "standard", "basic", null],
                                                            "description": "Specifies the tier of virtual machines in a scale set."
                                                        },
                                                        "capacity": {
                                                            "$id": "#/groups/items/allOf/availabilitySets/items/allOf/sku/capacity",
                                                            "type": ["integer", "null"],
                                                            "title": "capacity",
                                                            "description": "Specifies the number of virtual machines in the scale set."
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                },
                                                "service": {
                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/service",
                                                    "type": ["object", "null"],
                                                    "title": "Service",
                                                    "description": "Contains dependency and publish details for service location.",
                                                    "properties": {
                                                        "publish": {
                                                            "$id": "#/groups/items/allOf/availabilitySets/items/allOf/service/publish",
                                                            "type": ["object", "null"],
                                                            "title": "Publish",
                                                            "description": "Contains publish details for service location.",
                                                            "properties": {
                                                                "availabilitySet": {
                                                                    "$id": "#/groups/items/allOf/availabilitySets/items/allOf/service/publish/availabilitySet",
                                                                    "type": ["string", "null"],
                                                                    "title": "availabilitySet",
                                                                    "description": "Local overriding value to publish on deployed existing resource type."
                                                                }
                                                            },
                                                            "additionalProperties": false
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                }
                                            },
                                            "additionalProperties": false
                                        }
                                    ]
                                }
                            },
                            "virtualMachines": {
                                "$id": "#/groups/items/allOf/virtualMachines",
                                "type": "array",
                                "title": "VirtualMachines",
                                "description": "Contains list of details required to deploy vm's and associated resources.",
                                "items": {
                                    "$id": "#/groups/items/allOf/virtualMachines/items",
                                    "minItems" : 1,
                                    "allOf": [
                                        {
                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf",
                                            "type": "object",
                                            "anyOf": [
                                                {
                                                    "required" : [
                                                        "name",
                                                        "size",
                                                        "imageReference",
                                                        "osDisk",
                                                        "networking"
                                                    ]
                                                },
                                                {
                                                    "required" : [
                                                        "name",
                                                        "size",
                                                        "imageReference",
                                                        "osDisk",
                                                        "networking",
                                                        "availabilitySet"
                                                    ]
                                                },
                                                {
                                                    "required" : [
                                                        "name",
                                                        "size",
                                                        "imageReference",
                                                        "osDisk",
                                                        "networking",
                                                        "zone"
                                                    ]
                                                }
                                            ],
                                            "properties": {
                                                "name": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/name",
                                                    "type": "string",
                                                    "title": "Name",
                                                    "description": "Becomes part of the generated virtual machine's name."
                                                },
                                                "size": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/size",
                                                    "type": "string",
                                                    "title": "Size",
                                                    "description": "Preset vm hardware configuration option (predefined in azure)."
                                                },
                                                "vulnerabilityScan": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/vulnerabilityScan",
                                                    "type": ["boolean", "null"],
                                                    "title": "VulnerabilityScan",
                                                    "description": "Enable or Disable Azure Defender's integrated vulnerability assessment solution."
                                                },
                                                "updateGroup": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/updateGroup",
                                                    "type": ["string", "null"],
                                                    "title": "UpdateGroup",
                                                    "description": "Pre-defined group of azure defined vm update bundles.",
                                                    "enum": ["Critical", "CriticalSecurity", "Recommended", "All", "critical", "criticalsecurity", "recommended", "all", null]
                                                },
                                                "updateFrequency": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/updateFrequency",
                                                    "type": ["string", "null"],
                                                    "title": "UpdateFrequency",
                                                    "description": "The frequency of the updates applied to the vm.",
                                                    "enum": ["Monthly", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Daily", "monthly", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday", "daily", null]
                                                },
                                                "imageReference": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/imageReference",
                                                    "type": "object",
                                                    "title": "ImageReference",
                                                    "description": "Container of details in regards to the vm image used.",
                                                    "required": [
                                                        "publisher",
                                                        "offer",
                                                        "sku",
                                                        "version"
                                                    ],
                                                    "properties": {
                                                        "publisher": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/imageReference/publisher",
                                                            "type": "string",
                                                            "title": "Publisher",
                                                            "description": "Publisher source of the image."
                                                        },
                                                        "offer": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/imageReference/offer",
                                                            "type": "string",
                                                            "title": "Offer",
                                                            "description": "Platform or marketplace image product."
                                                        },
                                                        "sku": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/imageReference/sku",
                                                            "type": "string",
                                                            "title": "Sku used",
                                                            "description": "Image sku."
                                                        },
                                                        "version": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/imageReference/version",
                                                            "type": "string",
                                                            "title": "Version",
                                                            "description": "Platform or marketplace image version, (Major.Minor.Build) or latest."
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                },
                                                "location": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/location",
                                                    "type": ["string", "null"],
                                                    "title": "Location",
                                                    "description": "Virtual machine deployment location"
                                                },
                                                "zone": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/zone",
                                                    "type": ["integer", "null"],
                                                    "title": "Zone",
                                                    "description": "Virtual machine deployment zone.",
                                                    "enum": [ 1, 2, 3, null]
                                                },
                                                "timeZone": {
                                                     "$id": "#/groups/items/allOf/virtualMachines/items/allOf/timeZone",
                                                    "type": ["string", "null"],
                                                    "title": "timeZone",
                                                    "description": "Timezone for virtual machine. Applicable for Windows OS only."
                                                },
                                                "availabilitySet": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/availabilitySet",
                                                    "type": ["string","null"],
                                                    "title": "AvailabilitySet",
                                                    "description": "Becomes part of the generated virtual machine's availability set name."
                                                },
                                                "service": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/service",
                                                    "type": ["object", "null"],
                                                    "title": "Service",
                                                    "description": "Contains dependency and publish details for service location.",
                                                    "properties": {
                                                        "publish": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/service/publish",
                                                            "type": ["object", "null"],
                                                            "title": "Publish",
                                                            "description": "Contains publish details for service location.",
                                                            "properties": {
                                                                "vm": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/service/publish/vm",
                                                                    "type": ["string", "null"],
                                                                    "title": "VM",
                                                                    "description": "Local overriding value to publish on deployed existing resource type."
                                                                },
                                                                "nic": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/service/publish/nic",
                                                                    "type": ["string", "null"],
                                                                    "title": "NIC",
                                                                    "description": "Local overriding value to publish on deployed existing resource type."
                                                                }
                                                            },
                                                            "additionalProperties": false
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                },
                                                "osDisk": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk",
                                                    "type": "object",
                                                    "title": "OSDisk",
                                                    "description": "Container of details in regards to vm's operating system disk.",
                                                    "required": [
                                                        "osType",
                                                        "expandableDiskSizeGB"
                                                    ],
                                                    "default": {
                                                        "caching": "None"
                                                    },
                                                    "properties": {
                                                        "osType": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk/osType",
                                                            "type": "string",
                                                            "title": "OSType",
                                                            "description": "The over arching type of OS to use.",
                                                            "enum": ["Windows", "Linux", "windows", "linux"]
                                                        },
                                                        "expandableDiskSizeGB": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk/expandableDiskSizeGB",
                                                            "type": "integer",
                                                            "title": "ExpandableDiskSizeGB",
                                                            "description": "The size of the disk in gigabytes. (Overwrites disk size in vm image).",
                                                            "minimum": 1
                                                        },
                                                        "caching": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk/caching",
                                                            "type": "string",
                                                            "title": "caching",
                                                            "description": "Defines disk caching strategy",
                                                            "enum": ["None", "ReadOnly", "ReadWrite", "none", "readonly", "readwrite"]
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                },
                                                "dataDisks": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/dataDisks",
                                                    "type": ["array", "null"],
                                                    "title": "DataDiskSizes",
                                                    "description": "List of details specifiying the size of and how many data disks will be deployed with the vm.",
                                                    "items": {
                                                        "$id": "#/groups/items/allOf/virtualMachines/items/allOf/dataDisks/items",
                                                        "allOf": [
                                                            {
                                                                "$id": "#/groups/items/allOf/virtualMachines/items/allOf/dataDisks/items/allOf",
                                                                "type": "object",
                                                                "required": [
                                                                    "diskSizeGB"
                                                                ],
                                                                "default": {
                                                                    "caching": "None"
                                                                },
                                                                "properties": {
                                                                    "diskSizeGB": {
                                                                        "$id": "#/groups/items/allOf/virtualMachines/items/allOf/dataDisks/items/allOf/diskSizeGB",
                                                                        "type": "integer",
                                                                        "title": "diskSizeGB",
                                                                        "description": "The size of the disk in gigabytes.",
                                                                        "minimum": 1
                                                                    },
                                                                    "caching": {
                                                                        "$id": "#/groups/items/allOf/virtualMachines/items/allOf/dataDisks/items/allOf/caching",
                                                                        "type": "string",
                                                                        "title": "Caching",
                                                                        "description": "Defines disk caching strategy",
                                                                        "enum": ["None", "ReadOnly", "ReadWrite", "none", "readonly", "readwrite"]
                                                                    }
                                                                },
                                                                "additionalProperties": false
                                                            }
                                                        ]
                                                    }
                                                },
                                                "plan": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/plan",
                                                    "type": ["object", "null"],
                                                    "title": "Plan",
                                                    "description": "Container of details in regards to what vm marketplace image to use for the vm.",
                                                    "required": [
                                                        "name",
                                                        "publisher",
                                                        "product"
                                                    ],
                                                    "properties": {
                                                        "name": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk/osType",
                                                            "type": "string",
                                                            "title": "Name",
                                                            "description": "Plan id."
                                                        },
                                                        "publisher": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk/expandableDiskSizeGB",
                                                            "type": "string",
                                                            "title": "Publisher",
                                                            "description": "Publisher id source of the image.."
                                                        },
                                                        "product": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/osDisk/expandableDiskSizeGB",
                                                            "type": "string",
                                                            "title": "Product",
                                                            "description": "Marketplace image product."
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                },
                                                "networking": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/networking",
                                                    "type": "object",
                                                    "title": "Networking",
                                                    "description": "Container of details in regards to network dependency values.",
                                                    "required": [
                                                        "subnetName"
                                                    ],
                                                    "properties": {
                                                        "service": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/networking/service",
                                                            "type": ["object", "null"],
                                                            "title": "Service",
                                                            "description": "Contains dependency and publish details for service location.",
                                                            "properties": {
                                                                "dependencies": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/networking/service/dependencies",
                                                                    "type": ["object", "null"],
                                                                    "title": "Dependencies",
                                                                    "description": "Contains dependency details for service location.",
                                                                    "properties": {
                                                                        "vnet": {
                                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/networking/service/dependencies/vnet",
                                                                            "type": ["string", "null"],
                                                                            "title": "Vnet",
                                                                            "description": "Local overriding dependency value to fetch existing resource type."
                                                                        }
                                                                    },
                                                                    "additionalProperties": false
                                                                }
                                                            },
                                                            "additionalProperties": false
                                                        },
                                                        "ipAddress": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/networking/ipAddress",
                                                            "type": ["string", "null"],
                                                            "title": "IPAddress",
                                                            "description": "Private ip address for the network interface card.",
                                                            "format": "ipv4"
                                                        },
                                                        "subnetName": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/networking/subnetName",
                                                            "type": "string",
                                                            "title": "SubnetName",
                                                            "description": "Name of subnet to use in existing vnet."
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                },
                                                "antimalware": {
                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware",
                                                    "type": ["object", "null"],
                                                    "title": "Antimalware",
                                                    "description": "Container of details in regards to antimalware scanner. Only Windows OS supported.",
                                                    "required": [
                                                        "enable"
                                                    ],
                                                    "properties": {
                                                        "enable": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/enable",
                                                            "type": "boolean",
                                                            "title": "Enable",
                                                            "description": "Status of Antimalware service on virtual machine."
                                                        },
                                                        "realtimeProtectionEnabled": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/realtimeProtectionEnabled",
                                                            "type": ["boolean", "null"],
                                                            "title": "realtimeProtectionEnabled",
                                                            "description": "Status of Antimalware service real time protection feature."
                                                        },
                                                        "exclusions": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/exclusions",
                                                            "type": ["object", "null"],
                                                            "title": "Exclusions",
                                                            "description": "Container of exclusions from antimalware scanner.",
                                                            "properties": {
                                                                "paths": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/exclusions/paths",
                                                                    "type": ["array", "null"],
                                                                    "title": "Paths",
                                                                    "description": "Paths to exclude from antimalware scanner."
                                                                },
                                                                "extensions": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/exclusions/extensions",
                                                                    "type": ["array", "null"],
                                                                    "title": "Extensions",
                                                                    "description": "File extensions to exclude from antimalware scanner."
                                                                },
                                                                "processes": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/exclusions/processes",
                                                                    "type": ["array", "null"],
                                                                    "title": "Processes",
                                                                    "description": "OS Processes to excluded from antimalware scanner."
                                                                }
                                                            },
                                                            "additionalProperties": false
                                                        },
                                                        "schedule": {
                                                            "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/schedule",
                                                            "type": ["object", "null"],
                                                            "title": "schedule",
                                                            "description": "Schedule to run antimalware scanner.",
                                                            "required": [
                                                                "day",
                                                                "time",
                                                                "scanType"
                                                            ],
                                                            "properties": {
                                                                "scanType": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/schedule/scanType",
                                                                    "type": ["string", "null"],
                                                                    "title": "ScanType",
                                                                    "description": "Type of scan.",
                                                                    "enum": ["Quick", "Full"]
                                                                },
                                                                "day": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/schedule/extensions",
                                                                    "type": ["string", "null"],
                                                                    "title": "Day",
                                                                    "description": "Day of the week for scheduled run.",
                                                                    "enum": [
                                                                        "sunday", "monday", "tuesday", "wednesday", "thrusday", "friday", "saturday"
                                                                    ]
                                                                },
                                                                "time": {
                                                                    "$id": "#/groups/items/allOf/virtualMachines/items/allOf/antimalware/schedule/processes",
                                                                    "type": ["integer", "null"],
                                                                    "title": "time",
                                                                    "description": "Scan time measured in minutes from midnight. For example: 12AM = 0, 3AM = 180",
                                                                    "minimum": 0,
                                                                    "maximum": 1440
                                                                }
                                                            },
                                                            "additionalProperties": false
                                                        }
                                                    },
                                                    "additionalProperties": false
                                                }
                                            },
                                            "additionalProperties": false
                                        }
                                    ]
                                }
                            }
                        },
                        "additionalProperties": false
                    }
                ]
            }
        }
    },
    "additionalProperties": false
}