{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "PUT JSON Schema for gateways",
"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" ]
}
},
"type": "object",
"properties": {
"resourceId": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"pool": {
"type": "object",
"properties": {
"resourceRef": {
"type": "string"
}
},
"required": [
"resourceRef"
]
},
"types": {
"type": "array",
"items": {
"enum": [ "s2sipsec", "s2sgre", "forwarding", "vpn" ]
}
},
"virtualServer": {
"type": "object",
"properties": {
"resourceRef": {
"type": "string"
}
},
"required": [
"resourceRef"
]
},
"networkInterfaces": {
"type": "object",
"properties": {
"externalNetworkInterface": {
"type": "object",
"properties": {
"resourceRef": {
"type": "string"
}
},
"required": [
"resourceRef"
]
},
"internalNetworkInterface": {
"type": "object",
"properties": {
"resourceRef": {
"type": "string"
}
},
"required": [
"resourceRef"
]
}
},
"required": [
"externalNetworkInterface",
"internalNetworkInterface"
]
},
"bgpConfig": {
"type": "object",
"properties": {
"extASNumber": {
"type": "string"
},
"bgpPeer": {
"type": "array",
"items": {
"type": "object",
"properties": {
"peerIP": {
"type": "string"
},
"peerExtAsNumber": {
"type": "string"
}
},
"required": [
"peerIP",
"peerExtAsNumber"
]
}
}
},
"required": [
"extASNumber",
"bgpPeer"
]
}
},
"required": [
"pool",
"types",
"virtualServer",
"networkInterfaces"
]
}
},
"required": [
"resourceId",
"properties"
]
}