{
"$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"
]
}