{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "GET JSON Schema for Access Control List Rules",
"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" ]
}
},
"properties": {
"resourceRef": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"etag": {
"type": "string"
},
"instanceId": {
"type": "string"
},
"resourceMetadata": {
"$ref": "#/definitions/resourceMetadata"
},
"properties": {
"type": "object",
"properties": {
"provisioningState": {
"$ref": "#/definitions/provisioningState"
},
"protocol": {
"enum": [ "All", "TCP", "UDP", "HTTP", "ICMPv4", "ICMPv6" ]
},
"sourcePortRange": {
"type": "string"
},
"destinationPortRange": {
"type": "string"
},
"action": {
"enum": [ "Allow", "Deny" ]
},
"sourceAddressPrefix": {
"type": "string"
},
"destinationAddressPrefix": {
"type": "string"
},
"priority": {
"type": "string",
"pattern": "^[1-9][0-9][0-9]+$"
},
"type": {
"enum": [ "Inbound", "Outbound" ]
},
"logging": {
"enum": [ "Enabled", "Disabled" ]
},
"description": {
"type": "string"
}
},
"required": [
"provisioningState",
"protocol",
"sourcePortRange",
"destinationPortRange",
"action",
"sourceAddressPrefix",
"destinationAddressPrefix",
"priority",
"type",
"logging"
]
}
},
"required": [
"resourceRef",
"resourceId",
"etag",
"instanceId",
"properties"
]
}