6.16.6 GET schema v3

 {
   "$schema": "http://json-schema.org/draft-04/schema#",
   "title": "GET JSON Schema for virtualNetworks v3",
   "type": "object",
   "definitions": {
     "GUID": {
       "type": "string",
       "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
     },
     "resourceMetadata": {
       "properties": {
         "client": {
           "type": "string"
         },
         "tenantId": {
           "type": "string"
         },
         "groupId": {
           "type": "string"
         },
         "resourceName": {
           "type": "string"
         },
         "originalHref": {
           "type": "string"
         }
       }
     },
     "provisioningState": {
       "enum": [ "Succeeded", "Updating", "Deleting", "Failed" ]
     },
     "detailedInfo": {
       "type": "array",
       "items": {
         "additionalProperties": false,
         "properties": {
           "status": {
             "enum": [ "Success", "Failure" ]
           },
           "id": {
             "$ref": "#/definitions/GUID"
           },
           "lastUpdatedTime": {
             "type": "string"
           },
           "detailedInfo": {
             "type": "array",
             "items": {
               "type": "object",
               "properties": {
                 "source": {
                   "type": "string"
                 },
                 "message": {
                   "type": "string"
                 },
                 "code": {
                   "type": "string"
                 }
               }
             }
           }
         },
         "required": [ "status", "id", "lastUpdatedTime" ]
       }
     },
     "configurationState": 
     {
       "type": "object",
       "additionalProperties": false,
       "properties": {
         "status": {
           "enum": [ "Success", "Failure" ]
         },
         "id": {
           "$ref": "#/definitions/GUID"
         },
         "lastUpdatedTime": {
           "type": "string"
         },
         "virtualNetworkInterfaceErrors": {
           "$ref": "#/definitions/detailedInfo"
         },
         "hostErrors": {
           "$ref": "#/definitions/detailedInfo"
         }
       },
       "required": [
         "status",
         "id",
         "lastUpdatedTime"
       ]
     },
     "resourceRef": 
     {
       "type": "object",
       "additionalProperties": false,
       "properties": {
         "resourceRef": {
           "type": "string"
         }
       },
       "required": [
         "resourceRef"
       ]
     },
   "subnets": {
     "type": "array",
      "items": {
       "type": "object",
       "properties": {
         "resourceRef": {
           "type": "string"
         },
         "resourceId": {
           "type": "string"
         },
         "resourceMetadata": {
          "$ref": "#/definitions/resourceMetadata"
         },
         "etag": {
          "type": "string"
         },
         "instanceId": {
           "$ref": "#/definitions/GUID"
         },
         "properties": {
           "type": "object",
           "properties": {
             "provisioningState": {
               "$ref": "#/definitions/provisioningState"
             },
             "addressPrefix": {
               "type": "string"
             },
             "accessControlList": {
               "$ref": "#/definitions/resourceRef"
             },
             "dualStackSubnet": {
               "$ref": "#/definitions/resourceRef"
             },
             "ipConfigurations": {
               "type": "array",
               "uniqueItems": true,
               "items": { "$ref": "#/definitions/resourceRef" }
             },
             "routeTable": {
               "type": "object",
               "properties": {
                 "resourceRef": {
                   "type": "string"
                 }
               },
               "required": [
                 "resourceRef"
               ]
             },
             "unbilledEgressBytes": {
               "type": "integer",
               "minimum": 0
             },
             "billedEgressBytes": {
               "type": "integer",
               "minimum": 0
             },
            "encryptionEnabled": {
               "type": "boolean",
               "default": false
             }
           },
           "required": [
             "provisioningState",
             "addressPrefix"
           ]
         }
       },
       "required": [
         "resourceRef",
         "resourceId",
         "etag",
         "instanceId",
         "properties"
       ]
     }
   },
   "peerings": {
     "type": "array",
     "items": {
       "type": "object",
       "properties": {
         "resourceMetadata": {
           "$ref": "#/definitions/resourceMetadata"
         },
         "resourceRef": {
           "type": "string"
         },
         "resourceId": {
           "type": "string"
         },
         "etag": {
           "type": "string"
         },
         "instanceId": {
           "$ref": "#/definitions/GUID"
         },
         "properties": {
           "type": "object",
           "properties": {
             "provisioningState": {
               "$ref": "#/definitions/provisioningState"
             },
             "remoteVirtualNetwork": {
               "$ref": "#/definitions/resourceRef"
             },
             "allowVirtualNetworkAccess": {
               "type": "boolean",
               "default": true
             },
             "allowForwardedTraffic": {
               "type": "boolean",
               "default": false
             },
             "allowGatewayTransit": {
               "type": "boolean",
               "default": false
             },
             "useRemoteGateways": {
               "type": "boolean",
               "default": false
             },
             "remoteAddressSpace": {
               "type": "object",
               "properties": {
                 "addressPrefixes": {
                   "type": "array",
                   "items": {
                     "type": "string"
                   },
                   "minItems": 1
                 }
               },
               "required": [
                 "addressPrefixes"
               ]
             },
             "peeringState": {
               "enum": [ "Initiated", "Connected", "Disconnected", "Disconnecting" ]
             }
           },
           "required": [
             "remoteVirtualNetwork",
             "provisioningState",
             "allowVirtualNetworkAccess",
             "allowForwardedTraffic",
             "allowGatewayTransit",
             "useRemoteGateways",
             "remoteAddressSpace",
             "peeringState"
           ]
         }
       },
       "required": [
         "resourceRef",
         "resourceId",
         "etag",
         "instanceId",
         "properties"
       ]
     }
  }
   },
   "properties": {
     "resourceRef": {
       "type": "string"
     },
     "resourceId": {
       "type": "string"
     },
     "etag": {
       "type": "string"
     },
     "instanceId": {
       "$ref": "#/definitions/GUID"
     },
     "resourceMetadata": {
       "$ref": "#/definitions/resourceMetadata"
     },
     "tags": {
       "additionalProperties": { "type": "string" }
    },
     "properties": {
       "type": "object",
       "properties": {
         "provisioningState": {
           "$ref": "#/definitions/provisioningState"
         },
         "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"
       },
       "virtualNetworkPeerings": {
         "$ref": "#/definitions/peerings" 
       },
         "encryptionCredential": {
           "$ref": "#/definitions/resourceRef"
         },
         "logicalNetwork": {
           "$ref": "#/definitions/resourceRef"
         },
         "configurationState": {
           "$ref": "#/definitions/configurationState"
         }
       },
       "required": [
       "addressSpace",
       "logicalNetwork", "dhcpOptions"
       ]
     }
   },
   "required": [
     "resourceRef",
     "resourceId",
     "etag",
     "instanceId",
     "properties"
   ]
 }