6.16.3 PUT schema v3

 {
   "$schema": "http://json-schema.org/draft-04/schema#",
   "title": "PUT JSON Schema for virtualNetworks v3",
   "type": "object",
   "definitions": {
     "resourceMetadata": {
       "properties": {
         "client": {
           "type": "string"
         },
         "tenantId": {
           "type": "string"
         },
         "groupId": {
           "type": "string"
         },
         "resourceName": {
           "type": "string"
         },
         "originalHref": {
           "type": "string"
         }
       }
     },
     "resourceRef": {
       "type": "object",
       "additionalProperties": false,
       "properties": {
         "resourceRef": {
           "type": "string"
         }
       },
       "required": [
         "resourceRef"
       ]
     },
     "subnets": {
       "type": "array",
       "items": {
         "type": "object",
         "properties": {
           "resourceId": {
             "type": "string"
           },
           "resourceMetadata": {
             "$ref": "#/definitions/resourceMetadata"
           },
           "properties": {
             "type": "object",
             "properties": {
               "addressPrefix": {
                 "type": "string"
               },
             "accessControlList": {
               "$ref": "#/definitions/resourceRef"
             },
             "dualStackSubnet": {
              "$ref": "#/definitions/resourceRef"
             },
               "routeTable": {
                 "type": "object",
                 "properties": {
                   "resourceRef": {
                     "type": "string"
                   }
                 },
                 "required": [
                   "resourceRef"
                 ]
               },
               "encryptionEnabled": {
                 "type": "boolean",
                 "default": false
               }
             },
             "required": [
               "addressPrefix"
             ]
           }
         },
         "required": [
           "resourceId",
           "properties"
         ]
       }
     },
     "peerings": {
       "type": "array",
       "items": {
         "type": "object",
         "properties": {
           "resourceMetadata": {
             "$ref": "#/definitions/resourceMetadata"
           },
           "resourceId": {
             "type": "string"
           },
           "properties": {
             "type": "object",
             "properties": {
               "remoteVirtualNetwork": {
                 "$ref": "#/definitions/resourceRef"
               },
               "allowVirtualNetworkAccess": {
                 "type": "boolean",
                 "default": true
               },
               "allowForwardedTraffic": {
                 "type": "boolean",
                 "default": false
               },
               "allowGatewayTransit": {
                 "type": "boolean",
                 "default": false
               },
               "useRemoteGateways": {
                 "type": "boolean",
                 "default": false
               }
             },
             "required": [
               "remoteVirtualNetwork"
             ]
           }
         },
         "required": [
           "resourceId",
           "properties"
         ]
       }
     }
   },
   "properties": {
     "resourceMetadata": {
       "$ref": "#/definitions/resourceMetadata"
     },
     "tags": {
       "additionalProperties": { "type": "string" }
     },
     "properties": {
       "type": "object",
       "properties": {
         "addressSpace": {
           "type": "object",
           "properties": {
             "addressPrefixes": {
               "type": "array",
               "items": {
                 "type": "string"
               },
               "minItems": 1
             }
           },
           "required": [
             "addressPrefixes"
           ]
         },
         "dhcpOptions": {
           "type": "object",
           "properties": {
             "DnsServers": {
               "type": "array",
               "items": {
                 "type": "string",
                 "oneOf": [
                   { "format": "ipv4" },
                   { "format": "ipv6" }
                 ]
               },
               "minItems": 0
             }
           }
         },
         "subnets": {
           "$ref": "#/definitions/subnets"
         },
         "logicalNetwork": {
           "$ref": "#/definitions/resourceRef"
         },
         "virtualNetworkPeerings": {
           "$ref": "#/definitions/peerings" 
         },
         "encryptionCredential": {
           "$ref": "#/definitions/resourceRef"
         }
       },
       "required": [
         "addressSpace",
         "logicalNetwork"
       ]
     }
   },
   "required": [
     "properties"
   ]
 }